第0部份
前置作業
printf 直接顯示在執行視窗
fprintf 能存在檔案中
修蓋cbp檔
將word dir=".";
檔案就會存到專案中
能讀取檔案中文字
執行結果
-----------------------------------------------------------------------------------------------------------------------------
第1部份
TRT
先讓手臂轉動
程式碼
glPushMatrix();
glTranslatef(-0.3,0,0);///掛在正確的地方
glRotatef(angle,0,0,1);///旋轉
glTranslatef(-0.3,0,0);///旋轉中心放到畫面中心
glutSolidTeapot( 0.3 );///左手臂
glPopMatrix();
再加上身體跟手肘
程式碼
glPushMatrix();
glutSolidTeapot( 0.3 );///身體
glPushMatrix();
glTranslatef(-0.3,0,0);///掛在正確的地方
glRotatef(angle,0,0,1);///旋轉
glTranslatef(-0.3,0,0);///旋轉中心放到畫面中心
glutSolidTeapot( 0.3 );///左手臂
glPushMatrix();
glTranslatef(-0.3,0,0);///掛在正確的地方
glRotatef(angle,0,0,1);///旋轉
glTranslatef(-0.3,0,0);///旋轉中心放到畫面中心
glutSolidTeapot( 0.3 );///左手肘
glPopMatrix();
glPopMatrix();
glPopMatrix();
接著增加鍵盤控制手臂手肘
先把angle改成angle[20]={};
新增angleID=0;
把timer裡 angle改成 angle[angleID]
新增keyboardc函式
程式碼
void timer(int t)
{
glutTimerFunc(30,timer,t+1);
angle[angleID]+=diff;
if(angle[angleID]>90) diff=-2;
if(angle[angleID]<0) diff=+2;
glutPostRedisplay();
}
void keyboard(unsigned char key,int x,int y)
{
if(key=='0')angleID=0;
if(key=='1')angleID=1;
}
按1或0能讓手臂或手肘停止
複製
右半邊就出來了
總程式碼
執行結果
-----------------------------------------------------------------------------------------------------------------------------
第0部份
執行結果
-----------------------------------------------------------------------------------------------------------------------------
第0部份
執行結果
-----------------------------------------------------------------------------------------------------------------------------







沒有留言:
張貼留言