顯示具有 Week05 標籤的文章。 顯示所有文章
顯示具有 Week05 標籤的文章。 顯示所有文章

2017年7月1日 星期六

Week 05 語璇電圖

一、程式移動圖片
程式













加入
float mouseX=0,mouseY=0;  ///變數
static void display(void)
{
    glPushMatrix();///備份形狀
    glTranslated(mouseX,mouseY,0);///移動
    glPopMatrix();///恢復形狀
}

二、使用滑鼠移動圖片
程式














改變
static void display(void)
{
    glTranslated(mouseX,mouseY,0);///移動
}

加入
void motion(int x,int y)
{
    mouseX=(x-150)/150.0;
    mouseY=-(y-150)/150.0;
    glutPostRedisplay();
}

三、使用滑鼠改變圖片大小
程式










按住左鍵左右移動,改變大小。

改變
static void display(void)
{
    glScalef(mouseX,mouseY,0);
}

2017年4月10日 星期一

week05 Katrina's Note








week 05 楊語琛的上課筆記 レ(゚∀゚;)ヘ=З=З=З

1.說明期中考內容
    大小寫要正確
  glPushMatrix();//備份矩陣 10% (stack push)
     glRotatef(angle, x, y, z);//旋轉 30%
     glTranslatef(x,y,z);/移動 40%
     glScalef(x,y,z);//縮放 50%
 
    glBegin(GL_POLYGON);//開始畫 60%
       glNormal3f(nx,ny,ny);//打光的法向量 90%
       glTexCoord2f(tx,ty);//貼圖的座標 100%
       glColor3f(r,g,b);// 顏色 70%
       glVertex3f(x,y,z);//頂點 80%
    glEnd();//結束畫(與開始畫共同算分)
 
  glPopMatrix();//還原矩陣 20% (stack pop)




2.

  下載win32、data、glut32.dll
  開啟windows資料夾下的Transform
  利用 glTranslatef()控制移動
  利用 glScalef()控制大小

2017年4月9日 星期日

Week 05 一權的上課筆記

(1)期中考題介紹 
   
glPushMatrix();//備份矩陣
   glRotatef(angle, x, y, z);//旋轉
   glTranslatef(x,y,z);//移動
   glScalef(x,y,z);//縮放
 
   glBegin(GL_POLYGON);//開始畫
      glNormal3f(nx,ny,nz);//打光的法向量
      glTexCoord2f(tx,ty);//貼圖的座標
      glColor3f(r,g,b);//顏色
      glVertex3f(x,y,z);//頂點
   glEnd();//結束畫
                                                                                  glPopMatrix();//還原矩陣

                 
     好的履歷寫法

(2)主題:階層轉動 ★
1.

[ 訣竅 ]

1*右手安培定則
2*想像竹籤插著物品旋轉
glTranslatef(x,y,z);
   glRotate(n旋轉度數,x,y,z)







2.
P.S:物件位於旁邊自體旋轉
程式碼:
        glTranslatef(x,y,z);
        glRotate(angle,x,y,z);
        glScalef(x,y,z);
        glBengin();




3.
P.S
    公轉
程式碼:
glRotate(angle,x,y,z);
glTranslatef(x,y,z);
        glScalef(x,y,z);
        glBengin();




(3)實作:Y-R-T ★
(4)複習:glPushMatrix();glPopMatrix()
(5)期末作品
(6)回家作業

2017年3月27日 星期一

WEEK5語婷




hw1:期中會考

hw2:轉動車子

hw3:
負負得正
右手安培定理

hw4:
了解如何旋轉
口訣:左耳碰左肩->從下往上讀->畫圈圈


Week 5 P.L 課堂筆記

One. 移動 (Translate)


#include <GL/glut.h>
float mouseX=0 , mouseY=0;
void display(){
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();///back up the Matrix.
        glTranslatef(mouseX,mouseY,0);
        glutSolidTeapot(0.3);

    glPopMatrix();
    glutSwapBuffers();
}
void motion(int x,int y)
{
    mouseX = (x-150)/150.0;
    mouseY = -(y-150)/150.0;
    glutPostRedisplay();
}
int main(int argc, char **argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("Rotate / Translate / Scale");
    glutDisplayFunc(display);

    //glutMouseFunc(mouse);
    glutMotionFunc(motion);
    glutMainLoop();
}


Two. 縮放 (Scale)

glScalef(mouseX,mouseY,0);


Week05陳冠霖的上課筆記

本周課程:

期中考考介紹:
glPushMatrix();//備份矩陣
            glRotatef(angle,x,y,z);//旋轉
       glTranslatef(x,y,z);//移動
glScalef(x,y,z);//縮放
                         glBeing(GL_POLYGON);//畫圖多邊形
                  glTexCoord2f(tx,ty);//貼圖座標
                             glNormal3f(nx,ny,nz);//打光的法向量
  glColor3f(r,g,b);//顏色
glVertex3f(x,y,z);//頂點
glEnd();//結束畫多邊形
glPopMatrix();//還原矩陣
注意:大小寫要正確,還有有些要記得寫參數有幾個
辨別轉動方向(可以用手比幫助辨識)
X:往右,-X:往左
Y:往上,-Y:往下
Z:往前,-Z:往後
90度:順手指方向旋轉
-90度反手指旋轉
大拇指:X或Y或Z的方向
其他手指:東西旋轉的方向

glRotatef(90,1,0,0);//glRotatef(angle,x,y,z)
angle:旋轉角度
x;座標
y;座標
z;座標
如果有負負能得正,這樣的結果跟正的一樣
glRotatef(-90,0,-1,0);==glRotatef(90,0,1,0);
glRotatef(90,1,1,0)
手指往斜上指,往正旋轉
旋轉加移動的效果(前後擺的程式不一樣,得到不一樣的效果)
glRotatef(angle,x,y,z);~~~旋轉
glTranSlatef(x,y,z);~~~移動
我的想法:程式碼從上到下來看,先產生圓盤,然後有個東西移動到圓盤上,跟著圓盤旋轉,造成有車子在移動的效果。
老師的教法:程式碼從後面開始看。
glTranSlatef(x,y,z);~~~移動
glRotatef(angle,x,y,z);~~~旋轉
我的想法:程式碼從上到下來看,先產生東西移動了,再來生產圓盤,而圓盤產生的中心軸在東西上,造成東西有旋轉的效果。
老師的教法:程式碼從後面開始看。

[電腦圖學]Week05 松賢的上課筆記

本週主題: 

(1.)期中考題介紹
(2.)主題: 階層轉動
(3.)實作: T-R-T
(4.)複習Push Matrix、Pop Matrix
(5.)期末作品demo

1.期中考題介紹

配分說明

2.初始化程式以及階層矩陣

Step1: 請至小葉老師網站(點我前往)下載win32、data、glut32.dll,解壓縮步驟跟之前上課一樣,不再做說明
Step2: 開啟windows資料夾下的Transform,執行它,如未能正確執行請參閱上上週的安裝說明
Step3: 自己動手玩glRotatef裡的參數。第一個參數為旋轉的角度、第二至第四個角度則是延x,y,z軸來旋轉(y軸可以用安培右手定則來判斷)。
如圖,我把三軸調整成(1,1,0),即想像以(1,1,0)為軸心,來旋轉車子的模型。
Step4: 重點!! 請搞清楚glRotatef()以及glTranslatef()的先後關係,這會影響到「先旋轉,後移動」還是「先移動,在旋轉」的認知。

王華偉的上課筆記 0327 Week05

1.公布期中考考題
2.開啟老師給的檔案
不知道為甚麼,用滑鼠拉角度的時候,都會慢和鈍
原來是要上下拉,不是左右,不知道為什麼這樣設定。

負負得正 若glRotatef(-90.0, 0.00, -1.00, 0.00)時,會與glRotatef(90.0, 0.00, 1.00, 0.00)一模一
樣。

 口訣: 左耳碰左肩, 從下往上讀, 畫圈圈

glPushMatrix();  //備份矩陣
        
        glTranslatef(x, y, z);  //移動
         glRotatef(角度, x, y, z);  //旋轉
         glScalef(x, y, z);  //縮放
         glBegin(GL_POLYON);  //開始
                
                 glcolor3f(r, g, b);  //顏色
                 glNormal3f(nx, ny, nz);  //法向量
                 glTexcoord3f(tx, ty);  //貼圖座標
                 glVertex3f(x, y ,z);  //頂點

glEnd();  //結束畫
glPopMatrix();  //還原Matrix

Week05 浩丁洲街的上課筆記

期中考題介紹:
(1). 練習10題 100%


(2). 網址: jsyeh.org/3dcg10 裡面載<1>. data.zip <2>. windows.zip  <3>. glut32.dll

放入windows 文件夾裡面,打開Transformation.exe

嘗試著用右手來看車子的旋轉(右手安培定則)
  

(3). 負負得正 若glRotatef(-90.0, 0.00, -1.00, 0.00)時,會與glRotatef(90.0, 0.00, 1.00, 0.00)一模一

樣。


(4). 口訣: 左耳碰左肩, 從下往上讀, 畫圈圈

glPushMatrix();  //備份矩陣
       
        glTranslatef(x, y, z);  //移動
         glRotatef(角度, x, y, z);  //旋轉
         glScalef(x, y, z);  //縮放
         glBegin(GL_POLYON);  //開始
               
                 glcolor3f(r, g, b);  //顏色
                 glNormal3f(nx, ny, nz);  //法向量
                 glTexcoord3f(tx, ty);  //貼圖座標
                 glVertex3f(x, y ,z);  //頂點

glEnd();  //結束畫
glPopMatrix();  //還原Matrix

week 05 陶軒宇 課堂筆記




課堂作業一

期末考十題複習


課堂作業二

glRotatef(角度,x,y,z);
練習


glRotatef(37,0,1,0);
根據安培右手定律拇指指向y軸
車逆時鐘旋轉


glRotatef(64,1,1,0);
根據安培右手定律拇指指向x,y軸45度角
車向右下旋轉

課堂作業三

移動加旋轉


口訣:左耳碰左肩,從下往上讀,畫圈圈

先做旋轉再做移動,所以此圖為會旋轉的車被移動到右方

轉動角度呈現:




旋轉和移動作調換


由下往上解釋:

會移動的車做旋轉

轉動角度呈現:











笔记week05 郭羽

1.練習期中試題100%
glPushMatrix(); //備份矩陣 10%
  glRotatef(angle, x, y, z); //旋轉
  glTranslatef(x, y, z);//移動
  glScalef(x, y, z); //縮放
  glBegin(GL_POLYGON); //開始畫
    glNormal3f(nx, ny, nz); //打光的法向量
    glTexCoord2f(tx, ty); //貼圖的坐標
    glColor3f(r, g, b); //顏色
    glVertex3f(x, y, z); //頂點
  glEnd(); //結束畫
glPopMatrix(); //還原矩陣
2. 下載圖學的教學軟件(略)
3. 學習旋轉glRotatef(angle, x, y, z)

arguments:
angle:旋轉角度。默認正角度為逆時針旋轉,負角度為順時針旋轉。(正視)
x:控制上下旋轉。當angle遞增時,x值為正向上旋轉(右視圖為逆時針),x值為負向下旋轉(右視圖為順時針)。
y:控制側向旋轉。當angle遞增時,y值為正向右旋轉(上方透視為逆時針),y值為負向左旋轉(上方透視為順時針)。
z:控制正向旋轉。當angle遞增時,z值為正正視逆時針旋轉,z值為負正視順時針旋轉。
當x, y, z為0時,控制angle變化時為側向旋轉。

4. 口訣
左耳碰左肩,從下往上讀,畫圈圈。

Week 05 林憶蓮的上課筆記

1.期中考介紹
(1)練習十題 100% 



(2)打上網址:     jsyeh.org/org/3dcg10    知道x,y,z的軸以及會轉動的方向
    
   下載
   data.zip >>桌面\windows\data\3D模型
   windows.zip>>桌面\windows\Transformation.exe (試試不同轉軸)
   glut32.dll>>桌面\windows\glut32.dll


↑↑竹籤插的方向使用國中學的法向量↓↓



I  假設為竹籤插的方向
手掌彎起來的方向  B  就是旋轉的方向

(3)考試的部分
---------------------------------------------------------------------------------------------------------------------

glPushMatrix(); //備份矩陣 (stack push)
   glRotatef(angle,x,y,z);  //旋轉
   glTranslatef(x,y,z);  //移動
   glScalef(x,y,z);  //縮放

   glBegin(GL_POLYGON); //開始
       glNormal3f(nx,ny,nz);  //打光的法向量
       glTexCoord2f(tx,ty);  //貼圖的座標
       glColor3f(r,g,b);  //顏色
       glVertex3f(x,y,z);  //頂點
    glEnd();  //結束
glPopMatrix();  //還原矩陣 (stack pop)

----------------------------------------------------------------------------------------------------------------------

02163635-謝伃婕-week05

這禮拜老師介紹期中考的內容

主題是3D轉動以及移動

這是轉動以及移動的筆記

跟實際模擬車子的影像


車子的影像


week 05 2017/3/27 有ㄘ毒的小車車_04160462_陳彥儒

跟上次一樣,把windows解壓縮後放入資料夾,把glut32一起放入同一個資料夾,最後再把data解壓縮一起放入,即可開啟車子圖片進行調整



  
期中考的重點部分

口訣部分


Week 05 20170327

熟悉轉動
Y軸=1,逆時針(右手拇指往上,其他指為轉動方向)
Y軸=-1,順時針(右手拇指往下,其他指為轉動方向)
X軸=1,右手姆指往右,其他指為轉動方向
X軸=-1,右手姆指往左,其他指為轉動方向
Z軸=1,右手拇指指向自己,其他指為轉動方向

Z軸=-1,右手拇指指向面前,其他指為轉動方向

熟悉移動及轉動的混合
移動後轉動
結果是車子在右邊自轉

先轉動後移動
結果是車子做周轉