2022年5月10日 星期二

電腦圖學筆記week12

 Step01-1

  1. 到jsyeh.org/3dcg10下載win、data,解壓縮後將data放入win裡面
  2. 打開Transformation
glTranslatef(0.9,0,0) -> glRotatef(角度,0,1,0)

=>大小正常的車子轉動並往右邊移動(由內而外)(邊自轉邊向右邊移動)

glRotate(角度,0,1,0) -> glTranslatef(0.9,0,0)

=> 大小正常的車子移動到右方去旋轉(由內而外)(公轉)


Step01-2

  1. 圖學OpenGL教學資源
  2. 案右下角ToDraw可以畫圖
  3. 點拉程式碼可以調整程式碼的位置
  4. myDrawObject(0) 可以畫一個圖案、myDrawObject(1) 可以畫第二個圖案
  5. 先按angle=在案空白鍵 可以建立動畫

因為要讓圖形"轉動",所以要將glRotatef()放在圖形的程式碼的上方去執行


Step02-1
  1. 讓手臂能揮手而不是轉圈(改變中心點)
  2. 把glTranslatef(),點一下變紅色,就可以移動左邊的東西
  3. 移動旋轉移動(TRT)
    glPushMatrix();
        glTranslatef();//改變物體的位置
        glRotatef();//旋轉
        glTranslatef();//改變物體中心點的位置
        myDrawObject();//物體


Step02-2
  1. 開始寫程式 打開CodeBlocks
  2. 建立一個GLUT專案 week12_TRT
  3. 放入10行程式碼(之前的筆記) -> 再把T-R-T(今天的筆記) 行放上去
  4. 讓它自動旋轉 float angle=0;

Step03-1
  1. 做出一個茶壺人
glColor3f(1,1,1); ///白色
    glutSolidTeapot(0.3);///茶壺身體
    glPushMatrix();
        glTranslatef(0.2,0,0);///3.將茶壺手臂往右邊移動
        glRotatef(angle,0,0,1); ///2.旋轉
        glTranslatef(0.2,0,0);/// 1.把茶壺手臂旋轉中心放到世界中心
        glColor3f(1,0,0);///紅色
        glutSolidTeapot(0.2);///茶壺手臂
    glPopMatrix();

Step03-2
    Homework 把茶壺改成真正的手臂
  1. 要有3D模型 
  2. 新增GLUT專案 week12_TRT_TRT
  3. 拷貝上面的程式碼
  4. 在茶壺手臂程式碼下方在增加glPushMatrix();..........glPopMatrix();
#include "glm.h"
GLMmodel * pmodel =NULL;//身體
GLMmodel * arm =NULL;//上手臂
GLMmodel * hand =NULL;//下手肘
    glmDraw(pmodel,....)
    glmDraw(arm,....)
    glmDraw(hand,....)
  1. 增加左手

Step03-3
    複習Git指令
  1. 開啟Git Bash
  2. cd desktop
  3. start . 開啟現在的目錄
  4. git clone https://github.com/QASSBB/2022graphics1
  5. cd 2022graphics1 進入倉庫目錄
  6. git pull 是把雲端拉下來硬碟
  7. start . 開啟現在的目錄,就可以複製程式
  8. git status 看倉庫狀況
  9. git add . 把複製的程式放到git帳冊
  10. git status 看目前倉庫的狀況
  11. git commit -m "week12" 確認git帳冊
  12. git config -- global user.email "09160881@me.mcu.edu.tw"
  13. git config --global user.name "qassbb"(12、13行第一次使用時才要做)
  14. git push 推上雲端

Homework

使用前幾周教的程式碼,將程式碼分為頭、身體、手、腳四個部分。

沒有留言:

張貼留言

VERY BEAUTIFUL, VERY POWERFUL

一.     一樣先安裝且設定好freeglut,OpecCV, 開啟CodeBlocks建立新專案 week11_gundam,                 把 MyGundam.zip下載解壓縮後的data資料夾放到freeglut/bin裡面 把week09_openc...