2019年4月26日 星期五

幫我稱10秒!!!week_10

1.講解在程式中 把Translatef和Rotatef的順序對調
   會有怎樣的變化
   Translatef在前面,旋轉的方式像是自體旋轉
   Rotatef在前面,旋轉的方式像是地球公轉,繞著一個圓心轉
   程式順序由下看到上會比較容易理解

2.做出如下圖的程式


圓錐體可在茶壺口旋轉

#include <GL/glut.h> float angle=0; void display() { glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glPushMatrix(); glTranslated(0,0.5,0); glutWireTeapot(0.3); glPopMatrix(); glPushMatrix(); glTranslated(0.51,0.63,0); glRotatef(angle,0,0,1); glTranslated(0.6,0,0); glRotatef(-90,0,1,0); glutWireCone(0.1,0.6,10,10); glPopMatrix(); glutSwapBuffers(); } void motion(int x,int y)//用滑鼠來設定x,y { angle = x; display(); } int main(int argc,char ** argv) { glutInit(&argc,argv); glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH); glutCreateWindow("第N個程式"); glutDisplayFunc(display); glutMotionFunc(motion);//呼叫滑鼠函式 glutMainLoop(); }

沒有留言:

張貼留言