旋轉
本周主題:
TRT特定自轉
1.原本旋轉 以車為中心自轉
2.將 glTranslatfe 與 glRotatef 交換
會 以右圖中心為中心點旋轉
*****重點*****
(老師的圖3.旋轉的茶壺
茶壺手把以視窗中心為中心點做旋轉



4.多個茶壺連接(旋轉 左右不同向
程式碼
#include <Gl/glut.h>
float angle=0;
void motion(int x,int y)
{
angle=x;
glutPostRedisplay();
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glutSolidTeapot(0.3);
glPushMatrix();
glTranslatef(0.5,0.15,0);
glRotatef(angle,0,0,1);
glTranslatef(0.45,-0.08,0);
glutSolidTeapot(0.3);
glPushMatrix();
glTranslatef(0.5,0.15,0);
glRotatef(angle,0,0,1);
glTranslatef(0.45,-0.08,0);
glutSolidTeapot(0.3);
glPopMatrix();
glPopMatrix();
glPushMatrix();
glTranslatef(-.5,0.15,0);
glRotatef(angle,0,0,1);
glTranslatef(-0.45,-0.08,0);
glutSolidTeapot(0.3);
glPushMatrix();
glTranslatef(-0.5,0.15,0);
glRotatef(angle,0,0,1);
glTranslatef(-0.45,-0.08,0);
glutSolidTeapot(0.3);
glPopMatrix();
glPopMatrix();
glutSwapBuffers();
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("05160372");
glutDisplayFunc(display);
glutMotionFunc(motion);
glutMainLoop();
}
5.多個茶壺連接(旋轉 左右同向
將上方程式碼的 glTranslatef 與 glRotatef 位置互換
沒有留言:
張貼留言