2019年4月25日 星期四

06160494。電腦圖學-TRT旋轉。

(0)預備工作:
檔案網址:http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/

  1. 下載:WIN32DATAGLUT32.DLLsource
    壓縮在同一個資料夾(WINDOWS要包含DATAGLUT32.DLLSOURCE)
需要FREEGLUT-MINGW.ZIP檔案。可以在FREEGLUT WINDOW的網站中找到。
Download

freeglut 3.0.0 for MinGW壓縮檔案,在LIB裡面複製LIBFREEGLUT,貼上改成LIBGLUT32。

開啟CODEBLOCK。FILE(左上角)->NEW->PROJECT->GLUT PROJECT->(命名檔案)->下一步->路徑改成FREEGLUT資料夾的路徑。.
(1)今天的主題:
  1. 主題:T--R--T(旋轉)(改變旋轉軸)
  2. 主題:Glut
  3. 複習:移動選轉縮放。

TRT,移動,旋轉,移動。
第一步先將物體的中心點移動(從畫的正中間,變成頭或尾)。
第二步,將物體旋轉測試。
第三步,將物體移動到想要的地方。


(今日的程式碼)
/->
#include<GL/glut.h> float angle=0; void display(){ glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glPushMatrix(); glTranslatef(0,0.5,0);///往上移動 glutSolidTeapot(0.3);///this is a teapot glPopMatrix(); glPushMatrix(); ///glutSolidSphere(0.3,30,30); glPopMatrix(); glPushMatrix(); glTranslatef(0.5,0.625,0);///(3) 把它掛在你要放的地方 glRotatef(angle,0,0,1);///(1) 先有個轉動,但怪怪的(因為不在正確的地方) glTranslatef(0.6,0,0);///(2) 要更早去移動旋轉中心 glRotatef(-90,0,1,0);///(0)轉動90度的CONE glutSolidCone(0.2,0.6,30,30);///直直的cone glPopMatrix(); glutSwapBuffers(); } void motion(int x, int y){ angle=x; display(); } int main(int argc,char **argv){ glutInit(&argc,argv); glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH); glutCreateWindow("week10TRT"); glutDisplayFunc(display); glutMotionFunc(motion); glutMainLoop(); }
<-/

沒有留言:

張貼留言