顯示具有 04160674_卓繼禧 標籤的文章。 顯示所有文章
顯示具有 04160674_卓繼禧 標籤的文章。 顯示所有文章

2017年5月22日 星期一

WEEK 12 CheXi

讓機器人模型動起來


1.加計時器

#include <stdio.h>
  void timer(int t)///計時器叫的時候,要做什麼呢?
{
    glutTimeFunc(100, timer, t+1);///先撥下一個鬧鐘
    angle++;///做了要做的事
    printf("現在時間是  %d , 我起床了, 等一下鬧鐘會在叫一下喔   ", t);
    glutPostRedisplay();///提醒電腦,有空要畫一下畫面喔
    printf("...然後我又睡了...\n");
}///再度沉睡

2.調整手臂軸心

    調整 glTranslatef 和 glRotatef 的參數

2017年5月15日 星期一

WEEK 11 CheXi

1.講解小考
 
   glPushMartix();                          10%
   glTranslatef(0.4,0.5,0);         (3) 20%
   glRotatef(30,0,0,1);               (2) 20%
   glTranslatef(+0.5,+0.3,0);     (1) 20%
   glArm();                                      20%
   glPopMartix();                            10%
 
2.讀圖檔
   
    用OpenCV 2.1

2017年5月8日 星期一

WEEK 10 CheXi

1.到 jsyeh.org/3dcg10 下載
    (1) Data.zip
    (2) windows.zip
    (3) glut32.dll
    

2.開啟 Projection
   移動gluLookAt裡的數值
   

3.新增GLUT專案
   換成老師的main.cpp
   

4.旋轉茶壺
    

5.茶壺畫手臂
    

2017年5月1日 星期一

WEEK 9 CheXi

1.下載 3D Exploration 1.81



2.打開軟體



3.下載data資料夾解壓縮



4.選擇模型



5.另存cpp檔




6.開啟 open GL



7.新增file



8.叫出3D模型

2017年4月24日 星期一

WEEK 8 CheXi

1.到http://nehe.gamedev.net/tutorial/picking_alpha_blending_alpha_testing_sorting/16005/
   下載Visual C++ 的範例

    

2.開啟Lessno 32 應用程式可以玩遊戲
 
    

3.加聲音到GLUT
 
   


WEEK 7 CheXI

1.打光的茶壺

2.更改打光程度
   更改GLfloat light_position參數

3.做出2個茶壺

4.讓茶壺旋轉
   使用glutIdleFunc(display);

5.

2017年4月17日 星期一

WEEK 6 Chexi

1.到 http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/下載
   (1)windows
   (2)date
   (3)glut32.dll

   
2.開啟windows資料夾中的Transformation切換成soccerball
   開啟data資料夾中soccerball.obj
 
   

2017年3月27日 星期一

WEEK 5 CheXi

1.期中考題 (練習10題)

2.下載 (1)windows   (2)data   (3)gult32.dll
   開啟Transformation
   改變Rotate的數值
   用右手安培定理來看車子旋轉的角度
   glrotatef(角度,X,Y,Z) → 竹籤插的方向
`
口訣 1.負負得正

                  glRotatef(-90,0.00,-1.00,0.00)

                  glRotatef (90,0.00,1.00,0.00)
                              兩者圖相同
         
口訣 2.左耳碰左肩,由下往上讀,畫圈圈

3.考試內容

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();  //還原矩陣 
   

2017年3月20日 星期一

WEEK 4 CheXi

1.下載 (1)windows   (2)data   (3)gult32.dll
   將data解壓縮後及gult32.dll放進windows資料夾


開啟Trasformation測試
可以改變大小及方向


2.改變數值移動茶壺

3.拖曳滑鼠移動茶壺

4拖曳滑鼠改變茶壺大小


2017年3月13日 星期一

WEEK 3 CheXi

1.複習茶壺



2.得到滑鼠座標


程式碼:

#include <math.h>
#include <stdio.h>
#include <GL/glut.h>

void mouse(int button, int state, int x, int y)
{
    printf("%d %d %d %d\n", button,state,x,y);
}

void display()
{
    glutSolidTeapot(0.3);
    glutSwapBuffers();
}

int main(int argc, char*argv[])
{
   glutInit( &argc,argv);
   glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
   glutCreateWindow("04160674 Number1");

   glutDisplayFunc(display);
   glutMouseFunc(mouse);
   glutMainLoop();
}


3.改變顏色

程式碼:

#include <math.h>
#include <stdio.h>
#include <GL/glut.h>

void display()
{
    glutSolidTeapot(0.3);
    glutSwapBuffers();
}

void mouse(int button, int state, int x, int y)
{
    printf("%d %d %d %d\n", button,state,x,y);
    glColor3f(1, x/300.0, y/300.0);
    glutPostRedisplay();
}


int main(int argc, char*argv[])
{
   glutInit( &argc,argv);
   glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
   glutCreateWindow("04160674 Number1");

   glutDisplayFunc(display);
   glutMouseFunc(mouse);
   glutMainLoop();
}



4.滑鼠拖曳變顏色

程式碼:

#include <math.h>
#include <stdio.h>
#include <GL/glut.h>

void mouse(int button, int state, int x, int y)
{
    printf("%d %d %d %d\n", button,state,x,y);
}

void motion(int x,int y)
{
    printf("%d %d\n",x,y);
    glColor3f(1,x/500.0,y/500.0);
    glutPostRedisplay();
}

void display()
{
    glutSolidTeapot(0.3);
    glutSwapBuffers();
}

int main(int argc, char*argv[])
{
   glutInit( &argc,argv);
   glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
   glutInitWindowSize(500,500);
   glutCreateWindow("04160674 Number1");

   glutDisplayFunc(display);
   glutMouseFunc(mouse);
   glutMotionFunc(motion);

   glutMainLoop();
}



5.圓形

程式碼:

#include <math.h>
#include <stdio.h>
#include <GL/glut.h>

void motion(int x,int y)
{
    glColor3f(1,x/500.0,y/500.0);
    glutPostRedisplay();
}

void mouse(int button, int state, int x, int y)
{
    if(state==GLUT_DOWN) printf("glVertex2f(%.2f,%.2f);\n",(x-250)/250.0,-(y-250)/250.0);

}

void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glBegin(GL_POLYGON);
        for(float angle=0; angle<3.1415926*2; angle+=0.001){
            glVertex2f(cos(angle),sin(angle));
        }
    glEnd();
    glutSwapBuffers();
}

int main(int argc, char*argv[])
{
   glutInit( &argc,argv);
   glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
   glutInitWindowSize(500,500);
   glutCreateWindow("04160674 Number1");

   glutDisplayFunc(display);
   glutMouseFunc(mouse);
   glutMotionFunc(motion);

   glutMainLoop();
}

2017年3月6日 星期一

WEEK 2 CheXi

1.複習上週

2.10行程式碼 做出茶壺

3.更改茶壺顏色


4. 到http://cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/
    下載 (一)data (二)win32 (三)glut32.dll
    將glut32.dll和data解壓縮放進windows資料夾  
    開啟 windows>>shapes
  
  座標
  

2017年2月20日 星期一

WEEK 1 CheXi

along.

      hw1

1:開啟CodeBlocks


2: File>>>new>>>project

3:開啟GL project

4.輸入檔案名稱,位置



5.sources>>>main.c

6.執行




      hw2

1.解壓縮至桌面

2.File>>>new>>>project   開啟GLUT

3.輸入檔案名稱,位置





4.sources>>>main.cpp>>>>執行