2024年3月7日 星期四

電腦圖學week03

## mouse滑鼠

1. 桌面有「葉正聖老師上課用軟體」 freeglut 安裝(拉到桌面),再把 lib的 libfreeglut.a 複製成 libglut32.a

2. CodeBlocks File-New-Project, GLUT專案, week03_mouse

3. 把之前的的10行程式貼進來

4. 再加入這些:

#include <stdio.h>

void mouse(int button,int state,int x,int y)

{

    printf("Hello Mouse!\n");

}

```

glutMouseFunc(mouse);

5.點選茶壺時就會跳出Hello Mouse!





## mouse滑鼠位置

1.將printf("Hello Mouse!\n");註解掉

2.增加printf("%d %d %d %d\n",button,state,x,y);

3.點選茶壺後顯示出的就會是滑鼠點選的位置





## mouse滑鼠位置(進階座標)

1.將///printf("%d %d %d %d\n",button,state,x,y);註解掉

2.增加

if(state==GLUT_DOWN)

        printf("glVertex2f((%d-150)/150.0,-(%d-150)/150.0;\n",x,y);

3.點選茶壺後顯示出的就會是滑鼠點選茶壺的位置,可以用於上禮拜作業畫圖




## Transformation

下載 data.zip 下載 win32的zip

windows.zip 

=> 下載\windows\Transformation.exe

data.zip    

=> 下載\windows\data\一堆模型

滑鼠右鍵點選右邊螢幕可更換物體

左右拉動數字可更改數值





##更改茶壺位置

1.複製10行程式過來

2.貼上第46、49、54行程式

3.自己加上

glTranslatef(teapotX,teapotY,0);

glutSolidTeapot(0.3);

4.點選畫面其他地方茶壺就會就會更改位置






##試著了解glRotatef(角度,x,y,z)的參數

1.可以利用右手比"讚"來理解

2.轉動軸,就是讚的那個拇指,轉動方向,就是其他手指的轉動風向

3.對y軸轉,簡單比個讚,完成

4.對x軸轉,要把拇指指向右,也可以轉

5.對-y軸轉,就是比個倒讚,也可以理解

6.最難的是z軸,向著哪裡呢?那個拇指指向你的鼻子



## week03_mouse_translate_rotate更改茶壺位置和角度








沒有留言:

張貼留言