alanhc/張牧之 電腦圖學-week03

alanhc/張牧之 電腦圖學-week03

March 8, 2019
0.講解
1.體驗
    (1)小葉程式
2.開始
    (1)translate
    (2)碰到的問題
    (3)滑鼠移動
3.成品
4.檢討作業
    (1) 小畫家算點
5.小撇步






0.講解

移動、滑鼠
glTranslatef(par1,par2,par3)
translate:移動
f:float
par1:x, par1:y, par1:z
模型檔位置:\windows\data\

1.體驗

(1)先準備



(2)開始玩~
左鍵調數值

2.開始

(1)基本程式架構


(2)加入第4行

glTranslate要glutSolidTeapot前面!!!








(3) But!但一移動一下視窗會跑掉!!!
sol:加上 
    glPushMatrix
    glPopMatrix


(4) GG好可怕的畫面...


Sol: 加入19行 glclear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ),清掉

(5) 滑鼠:
glutMotionFunc(motion);
motion(int x, int y) 函式:滑鼠移動會呼叫此函式,並且pass兩個參數滑鼠x跟y
*記得在最後一行加上display()這樣才會更新物體的位置!





3.成品~~~~~~~



4.檢討作業:

(1)開小畫家

座標上下顛倒>調整座標負號


















(2)複製圖片到小畫家
紅線為x軸與y軸















5.小撇步

(1)winrar中文檔名解壓縮會有問題>下載 7zip
(2)使用小葉的圖學範例shape再開始寫程式
今天的程式碼

Homework 挑戰3D空間+滑鼠移動 [ Code ]

挑戰:畫3D圖形
目標:DNA
步驟:
(1)先畫旁邊螺旋(GL_LINE_STRIP)
(2)畫梯子透過兩個螺旋頂點連線,並使用(GL_LINES)
(3)加入還沒教的glRotate使其看起來較3D
(4)實驗motion->改變鬆緊程度及選轉速度
遇到問題:y軸上升座標>
解決:a/PI,從週期看,每次上升1/PI