製作一個機器人
1,先做出一個茶壺並讓她旋轉
(旋轉時前面要加上)
float angleX =0, angleA=0, angleB=0,
angleC=0, angleD=0 ;
及
if(key=='4') angleX+=5;
if(key=='6') angleX-=5;
if(key=='8') angleA+=5;
if(key=='2') angleA-=5;
2,做出三個圓,分別為頭ˋ手及腳
glPushMatrix();
glTranslatef( 0, 0.35, 0); //寫圓的位置
glutSolidSphere( 0.24, 30, 30); //圓的大小
glPopMatrix();
分別以此類推
3,做出機器人的左手右手臂
先畫出兩個長方形
glPushMatrix();//右手臂
glRotatef(angleA, 0, 0, 1); //旋轉的方向
glTranslatef(0.2, 0, 0); //位置
glScalef(0.25, 0.15, 0.15); //長方形的長寬高
glutSolidCube(1);
glPopMatrix();
以此類推做出手臂
4.用相同類似的方法做出手軸及小手臂,(製作小手臂時,要把旋轉中心點改到手軸那裡,就是把小手臂的程式碼包在手軸裡面)
5.再做一個圓,做出機器人的肚子(但老師是用正方形)
6.做出腳
glPushMatrix(); //左大腿
glTranslatef(-0.2 , -0.13,0); //位置
glRotatef(angleB, 1, 0, 0); //旋轉
glPushMatrix();
glTranslatef(0.1 ,-0.55 ,0); //腿的位置
glScalef(0.15 , 0.95, 0.15); //腿(長方形)的長寬高
glutSolidCube(1);
glPopMatrix();
glPushMatrix();
glTranslatef(0.1,
-0.95, -0.05); //腳丫的位置
glScalef( 0.15 , 0.15, 0.25); //腳丫的大小
glutSolidCube(1);
glPopMatrix();
glPopMatrix();
再腳的地方,我做了小小的變化,就適用for將腳走的角度限制,不然劈腿360度感覺很奇怪
if(key=='5')
{
if(i==1)
{
angleB
+= 5;
if(angleB
>= 15)
i
= 0;
}
else
if (i==0)
{
angleB
-= 5;
if(angleB
<= -15 )
i
= 1;
}
}
當腳的角度大於15度時就會往回走,所以走路時按5即可
如此一來機器人及大公告成!!!
沒有留言:
張貼留言