2017年3月27日 星期一

Labulaka Week06

1、练习10题:




glPushMatrix();
  glTranslatef(x,y,z);
  glRotatef(angle,x,y,z);
  glScalef(x,y,z);
  
  glBegin(GL_POLYGON);
    glNormal3f(nx,ny,nz);
    glTexCoord2f(tx,ty);
    glColor3f(R,G,B);
    glVertex3f(x,y,z);
  glEnd();
  
glPopMatrix();

期中考考题!


2、jsyeh.org/3dcg10


使用不同轴旋转角度:用右手法则判断旋转方向

(想像成竹签从坐标上插入,然后旋转摄像机




(此图为y轴正方向)

--------------------------------------------------------------------------------------

关键点: 

 glTranslatef(x,y,z);

 glRotatef(angle,x,y,z);

 glScalef(x,y,z);

三行程式码从下往上读:也就是说现在是先做旋转再做移动,旋转的效果会是小车本身。

若:

 glRotatef(angle,x,y,z);

 glTranslatef(x,y,z);

 glScalef(x,y,z);


则是先移动再旋转,则旋转的中心是小车移动前的中心而不是移动后,因此效果将是整个画面的旋转(漂移的效果)。


---------------------------------------------------------------------------------------


3、




沒有留言:

張貼留言