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

2018年1月11日 星期四

40147027S-Week04


  1. Translate(位移):glTranslated( x, y, z):朝( x, y, z)方向平移
  2. Rotate(旋轉):glRotated( degree, x, y, z):以( x, y, z)為軸轉degree角度

    PS:右手座標系統
  3. Scale(縮放):lScalef( x, y, z):x,y,z為縮放率,x, y, z座標分別縮放為原本的 x, y, z倍

2017年10月19日 星期四

李柏徹的計算機圖學學習紀錄04

1. 參照第一周的教學,產生內建專案

2.了解呈現出那六個3D模型的程式碼,並在前三個程式碼後面分別加入茶壺



成果:
3. 使用glColor3f(r,g,b); 進行更改顏色

4. 嘗試修改glRotated(a,x,y,z);//a=t*90; 即每T時間轉90度
以下以下遮罩調後四個全部的旋轉,前兩個統一遮罩調第一行,對第一個的第二行進行修改嘗試

5。嘗試修改glTranslatef(x,y,z);和加入glScalef(x,y,z)來位移和縮放物體

程式碼整理:
1.Translate(位移)
glTranslated( x, y, z):朝( x, y, z)方向平移
2.Rotate(旋轉): 右手座標系統
glRotated( R, x, y, z):以( x, y, z)為軸轉R角度。
3.Scale(縮放)
glScalef( x, y, z):x,y,z為縮放率,x, y, z座標分別縮放為原本的 x, y, z倍


羅宣的學習筆記WEEK04



旋轉茶壺




glutSolidSphere(1,slices,stacks);        [ 實心圓形旋轉 ]
改成
glutSolidTeapot(1);       [ 實心茶壺旋轉 ]
成功把旋轉的圓形變成旋轉的茶壺


















重疊圖案

原本程式碼再加入
glutSolidTeapot(1);
就會跟原本的圖重疊旋轉

加入
glColor3d(1,0,0);
改變顏色






















程式碼分析

const double t = glutGet(GLUT_ELAPSED_TIME) / 1000.0;
const double a = t*90.0;


glPushMatrix();                            [備份矩陣]
        glTranslated(-2.4,1.2,-6);      [移動 (X,Y,Z) (左,上,內) ]
        glRotated(60,1,0,0);              [60度旋轉,因為(1,0,0)-->繞著X逆時針旋轉60度]
        glRotated(a,0,0,1);                [持續旋轉,因為(0,0,1)-->繞著Z作逆時針旋轉] 
        glColor3d(1,1,0);                  [改顏色]
        glutSolidTeapot(1);               [實心茶壺]
glPopMatrix();                              [還原矩陣]




















( 一直在轉動 )


縮放

glScaled(2,2,2);      [ XYZ都放大兩倍 ]




2017年10月12日 星期四

田蜜-Week 04

改變display中的函式


1.設定位置

glTranslated(x方向移動, y方向移動, z方向移動);

-字尾d表示為double,若f則表示flaot

2.加上其他圖形
-茶壺 glutSolidTeapot(1);














3.改變顏色

glColor3d(1,0,0); 



















4.改變旋轉情形: 

glRotated(角度, 對x軸旋轉, 對y軸旋轉, 對z軸旋轉);


5.變比例大小:

glScaled(x方向放大倍率, y方向放大倍率, z方向放大倍率);
















用滑鼠移動圖案

1.開啟一個茶壺圖案















2.加入mouse(),motion()













3.執行結果













蒲立年的學習筆記 Week_04

Topic 1 : 移動(Translate)、旋轉(Rotate)、縮放(Scale)

Translate : 

glTranslated(X, Y, Z) - 朝(x,y,z)方向平移


Rotate : *以右手定律為基礎*

glRotated(角度,x,y,z) => glRotated(60,1,0,0)是以向量(1,0,0)X軸為選轉軸逆時針旋轉60度
glRotated(a,0,0,1) => 由於a= t*90.0不是定值,所以可以使其一直旋轉


沒有旋轉的時候~

從左到又以X軸90、60、30度逆時針旋轉~

Scale : 

glScale(x縮放率,y縮放率,z縮放率)

原圖~

從左到右一程式碼之設定倍率縮放~

Topic 2 : Mouse and Motion

范姜紹瑋_Week4_筆記

移動圖形

1.照舊,先開啟預設的GLUT專案
2.找到程式碼中的"glTranslated(a,b,c)"
(第一個參數a表示x座標;
 第二個參數b表示y座標;
 第三個參數c表示z座標)


















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

旋轉圖形

1.找到程式碼"glRotated(a,b,c,d)"
( 參數a表示以角度;
  參數b表示x向量;
  參數c表示y向量;
  參數d表示z向量  )
















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

以延伸圖形的方式,放大圖形
"glScalef(a,b,c)"
(參數a表示朝著x向量延伸的倍數;
 參數b表示朝著y向量延伸的倍數;
 參數c表示朝著z向量延伸的倍數)





2017年10月9日 星期一

阿凱不糊塗學習的圖學筆記WEEK04

練習Translate, Rotate, Scale
移動、旋轉、縮放

1.開啟新的GLUT專案
glPushMatrix();
                glTranslated(-2.4,1.2,-6);
        glRotated(60,1,0,0);
      glRotated(a,0,0,1);
                            glutSolidSphere(1,slices,stacks)
glPopMatrix();
(下圖為原本執行結果)
2.修改程式碼

原部分程式碼
glPushMatrix();
                glTranslated(-2.4,1.2,-6);
        glRotated(60,1,0,0);
      glRotated(a,0,0,1);
                            glutSolidCone(1,slices,stacks)
glPopMatrix();

修改後
glPushMatrix();
        glTranslated(2,1.2,-6);//移動位置(X,Y,Z)
        glRotated(60,1,0,0);//(旋轉60度,X軸,Y軸,Z軸)
        glRotated(a,0,0,1);//沿Z軸不斷旋轉a
        glScalef(2,2,2);//沿三軸放大2倍
        glColor3f(1,0,1);//修改顏色
        glutSolidTeapot(1);//將圖形改成茶壺
    glPopMatrix();


                                                                                  執行!!!!!!!!!!!!!!!!!!!!!!!

吳映廷 計算機圖學 week4

今天練習了Translate, Rotate, Scale 3種函式。
1.
在新的glut專案裡面加上
glColor3d(1,1,0);
glutSolidTeapot(1);
畫3個茶壺









2.
程式碼是
 glPushMatrix();
        glTranslated(-2.4,1.2,-6);
        glRotated(60,1,0,0);
        glRotated(a,0,0,1);
        glColor3d(1,1,0);
        glutSolidTeapot(1);
        glutSolidSphere(1,slices,stacks);
    glPopMatrix();
上面的rotated是照x軸轉動60度
下面是隨時間變化照z軸轉a度
把程式碼註解掉就可以看到差別











3.
接下來可以玩玩Scale, 在程式碼裡面加上glScaled(2, 2, 2);
可以發現他x,y,z三軸都放大了2倍








4.
老師最後說明,記得使用glPushMatrix();和glPopMatrix();維持矩陣的乾淨。

2017年10月8日 星期日

俊凱的Week04筆記

1.開啟GLUT Project
2.修改範例專案
  glPushMatrix();
        glTranslated(0,-1,-6);//移動位置(x,y,z)
        glRotated(60,1,0,0);//旋轉(角度,x,y,z)
        glRotated(a,0,0,1);//不斷旋轉(變數,x,y,z)
        glScalef(1,1,1);//縮放(x,y,z)
        //glutSolidCone(1,1,slices,stacks);
        glColor3d(1,1,0);
        glutSolidTeapot(1.5);
        glColor3d(1,0,0);
    glPopMatrix();

詠銓_Week04_Note

Class: 移動、旋轉、縮放

1.開啟一個Glut專案,找到display函式


2.觀察其程式碼,大致有以下:

    glPushMatrix(); //儲存矩陣
        glTranslated(-2.4,1.2,-6); //移動
        glRotated(60,1,0,0); //轉動(角度,旋轉軸)
        glRotated(a,0,0,1); //隨時間轉動,a = t*90.0
        glutSolidSphere(1,slices,stacks); //畫出實心球
    glPopMatrix(); //拿出矩陣

3.移動代表從圖的中心開始,移動到指定坐標。例如:2中的程式碼可以知道將要畫出一實心圓球,而編譯後的程式顯示此球在左上方,而當中的移動程式碼glTranslated(-2.4,1.2,-6);的x,y座標也是顯示在左上方,兩者相符。

4.轉動代表對其中一個轉軸,轉動一角度,如果此角度隨著時間變化,那此圖會一直轉動,其中 +x方向為向右,+y為向上,+z為出銀幕方向(右手坐標系)。若同時有多個座標值,則會依此向量方向轉動。

5.經過測試發現,x,y,z軸並非固定不動,而是跟著圖。
比如說,將中上的圓錐(cone)依x軸轉90度

接著讓它依z軸轉動,我們看到,它繞著現在的-y軸轉動

但對此圓錐來說,它的z軸已經依著x轉90度,成為了整個圖的-y方向,所以看到他依著-y方向轉動其實是對著z軸轉動。

6.縮放,程式碼:glScaled(1,1,2)代表各個座標軸依分別倍率縮放,此例中,z軸被放大了兩倍,為了方便觀察我們將圓錐對x軸轉動90度,可以看到此圓錐的z軸伸長了2倍,而其他座標不變。


Class:滑鼠控制


2017年10月6日 星期五

陳映羽的圖學 WEEK04

1.在相同位置上加上一格茶壺、更改顏色

2.glRatated   更改旋轉角度

3.glScalef 圖案縮放


4.glTranslated 更改位置