2020年3月24日 星期二

<HAPPY 旋轉跳躍你閉著眼 初音廚自重>

搜尋http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/
下載win32,data,glut32.dll
win32解壓縮      把glut32.dll和data複製進win32
打開檔案裡的transformation






MAIN函式上方輸入
float myAngle=0;
void motion(int x,int y)
{
    myAngle=x;
}


改const double a = myAngle;

MAIN函式裡加上

glutMotionFunc(motion);


讓圖案跟著滑鼠旋轉





用茶壺作範例
簡單的程式碼看得更清楚










加上
int oldX=0;
void mouse(int button,int state,int x,int y)
{
    if(state==GLUT_DOWN) oldX=x;

}


把motion函式裡面的程式改成
myAngle+=(x-oldX);

oldX=x;
display();
讓程式碼記住每次滑鼠結束的位置

在main函式裡加入滑鼠函式
glutMouseFunc(mouse);
可以讓旋轉繼承上次結束的角度
不會每次都重置

沒有留言:

張貼留言