2021年3月24日 星期三

NEKO no Computer Graphics_week05


    早安

    (練習網址:https://120.125.80.50/GL/)


    這周要接續上周的內容


    上次的程式的移動旋轉


    其實可以交換移動和旋轉的程式 會有不同的結果


    程式碼要從下面讀到上面


    下面兩張圖是交換程式碼的差別


1.先做縮放,再做旋轉,最後再移動
2.一樣先縮放,再做移動,最後旋轉
    

    第一種是旋轉完再移動,旋轉軸是固定的,移動的值比較像座標系


    而第二種移動再旋轉,先移動遠離旋轉軸,再以旋轉軸為中心旋轉


    所以結果就會不一樣,下圖是解釋






    

    了解這個概念,接著就要寫程式了

    首先把上周程式叫出來



    增加了旋轉 glRotatef(a,x,y,z),也使用了很多新東西

    



    有用KeyBoard函式,glPushMatrix()/glPopMatrix()保存陣列才能正常移動

    只要按著按鍵就能旋轉

    時間的關係今天就到這裡

    下次見

    




    





沒有留言:

張貼留言

距地表面160 Week11

 #include "glm.h" GLMmodel* pmodel = NULL; void drawmodel(void) {     if (!pmodel) { pmodel = glmReadOBJ("data/porsche.obj...