2017年5月23日 星期二

Week14 陳冠宇 讓作業轉


用老師示範阿邱的檔案
用notepad++去更改自己作業cbp檔案的freeglut路徑
以及debug的dir與release的dir

使用timer計時器讓模型轉動

void timer(int t)
{
 angle+=5;
 glutTimerFunc(100,timer,t+1);///重複呼叫
 glutPostRedisplay();
}
int main(){
GlutDisplayfun(display);
GlutTimerfun(2000,timer,0);///時間,函式名稱,參數
}


重點
把畫圖函式整理成draw....();
加入TRT讓轉動軸心與位置成功後

加入mouse keyboard motion函式
讓滑鼠鍵盤可以控制動作

int oldX=0,oldY=0;
void mouse(int button,int state, int x, int y)
{
oldX=x;
oldY=y;
glutPostRedisplay(display);
}

void motion(int x,int y){

angle+=(x-oldX);////x座標控制角度 其他還沒使用
oldX=x;
glutPostRedisplay(display);

}

利用keyboard函式分開控制關節
宣告float angle[20]={};
int now;

void keyboard(unsigned char key,int x, int y)
{
if(key=='0')now=0
...
...
...
}

void motion函式內改為angle[now]+=(x-oldX);

並將關節角度改成指定的angle[now]即可

沒有留言:

張貼留言