win32 data glut32.dll
研究Translate 跟 rolate 順序 有什麼差別
1. Translate 放最外層 >> 自轉
2. Rotate 放最外層 >> 公轉
畫出一個TRT 位移自轉~
#include <GL/glut.h>float angle=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glTranslatef(0,0.5, 0);
glutWireTeapot(0.3);
glPopMatrix(); ///用一個矩陣包住Teapot
glPushMatrix();
glTranslatef(0.51,0.63,0); //把功轉的三角錐[位移]
glRotatef(angle,0,0,1); /// 對著中心點做[公轉]
glTranslatef(0.6, 0, 0); ///把轉過的Cone先向右位移0.6
///讓我要的旋轉中心點放在畫面中央
glRotatef(-90,0,1,0); ///左轉90度,拇指指y旋轉-90
glutWireCone(0.1, 0.6, 10, 10); ///畫一個三角錐()
glPopMatrix(); ///程式碼(Matrix)由下往上推
glutSwapBuffers();
}
void motion(int nowx,int nowy)
{
angle=nowx;
display();
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("Work10");
glutDisplayFunc(display);
glutMotionFunc(motion);
glutMainLoop();
}
沒有留言:
張貼留言