| Week 11 |
§T-R-T 旋轉 (改變旋轉軸) §
----------------------------------------------------------------------------------------------------------------
●01 開啟 GLUT
🔺GLUT前置作業
。打開 codeblocks Files> New>project>GLUT
。到google搜尋 freegult windows
下載 Download freeglut 3.0.0 for MinGW
。解壓縮 freeglut。打開 lib 找到 freeglut.a 並複製
。把 freeglut.a 改為 libglut32.a
。複製 freeglut連接位置
。找到 程式碼 main.c 並打開 執行完成!
●02
先弄一個茶壺
◎程式碼

。找到 程式碼 main.c 並打開 執行完成!
●02
先弄一個茶壺
◎程式碼
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glutSolidTeapot( 0.3 );
glutSwapBuffers();
}
int main(int argc, char**argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH );
glutCreateWindow("week11 TRT");
glutDisplayFunc(display);
glutMainLoop();
}
加上右邊手臂
◎程式碼
◎程式碼
#include <GL/glut.h>
float angle=0;///NOW
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor3f(255,255,255);///白色的
glutSolidTeapot( 0.3 );///身體
glPushMatrix();///右邊手臂
glTranslatef(0.3, 0, 0);///(3) 掛在身體的右肩
glRotatef(angle, 0,0,1);///(2) 旋轉
glTranslatef(0.15, 0,0);///(1) 把茶壼柄,移動到畫面的中心,當旋轉軸
glColor3f(1,0,0);///紅色的
glutSolidTeapot( 0.15 );///右手臂
glPopMatrix();
glutSwapBuffers();
angle++;///NOW
}
int main(int argc, char**argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH );
glutCreateWindow("week11 TRT");
glutIdleFunc(display);///NOW
glutDisplayFunc(display);
glutMainLoop();
}
沒有留言:
張貼留言