#Week 03
##week03_mouse
0. 桌面安裝freeglut, 把lib的libfreeglut.a複製成libglut32.a
1. File-New-Project, GLUT專案 week03_mouse, 設定桌面glut資料夾
2. 貼上10行程式碼
3. 加3行 mouse
4. 跑出茶壺可以點擊, 會出現兩個 "Hellow Mouse"
5. 把 printf 改成 "printf("%d %d %d %d\n",button, state, x, y);"
a. button ->0:左鍵, 1:中鍵, 2:右鍵
b. state->按下去是0, 拿起來是1
c. x->x座標
c. y->y座標
6. 當 "GLUT_DOWN" 時 列出點擊處座標之程式碼
##week03_mouse_glTranslatef1. 開一新專案 " week03_mouse_glTranslatef "
2. 讓茶壺 "移動"
##試著理解 glRotatef (角度, x, y, z) 的參數
1. 可以利用右手比 "讚" 來理解
2. 轉動軸, 就是讚的拇指;轉動方向, 就是其他手指的轉動方向
3. 對y軸轉動, 簡單比個讚
4. 對x軸轉動, 要把拇指向右
5. 對-y軸轉動, 就是比個倒讚
6. 最難的是z軸, 是拇指指著自己鼻子的方向
##week03_mouse_glRotatef
1. 增加 " float angle = 0; "
2. display裡面增加 "glRotatef (angle, 0, 0, 1) " 讓他用Z軸去轉
3. 再來增加
void motion(int x, int y)
{
angle=x;
display();
}
連結前面angle, "在滑鼠點下去時" 開始轉動
4. 最後 int main() 增加 "glutMotionFunc(motion); " 這是 Motion 的細節
##week03_mouse_translate_rotate
1. 先增加
void keyboard(unsigned char key, int x, int y)
{
if(key=='e') method = 1;///轉動
if(key=='w') method = 2;///移動
}
2.然後再增加其他細節






沒有留言:
張貼留言