開啟Transformation.exe(自轉跟公轉)
順序概念,用GLUT來完成下圖樣子
程式碼:
#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 ); /// Wire >> 透視、網格
glPopMatrix();
glPushMatrix();
/// TRT ↓
glTranslatef(0.51 , 0.63 , 0); /// 設定主要顯示視窗,要放置的位置
glRotatef(angle, 0 , 0 , 1); /// 開始旋轉
glTranslatef(0.6 , 0 , 0); /// 先移動原圖片的位置,中心點作為旋轉軸
/// TRT ↑
glRotatef(-90, 0 , 1 , 0); /// 先做旋轉,中心點一樣在圖片的正中間
glutWireCone(0.1, 0.6, 10 , 10); ///製出圓錐
glPopMatrix();
glutSwapBuffers();
}
void motion(int x , int y) ///用滑鼠控制圓錐
{
angle = x;
display();
}
int main(int argc, char**argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("06161180_Week10 TRT");
glutDisplayFunc(display);
glutMotionFunc(motion); ///用滑鼠控制
glutMainLoop();
}
沒有留言:
張貼留言