顯示具有 04160391_林芷萱 標籤的文章。 顯示所有文章
顯示具有 04160391_林芷萱 標籤的文章。 顯示所有文章

2017年6月12日 星期一

Week14 20170612 芷萱的課堂筆記

作業一 :
將myEarth.zip變背景貼圖
修改前(註解紅框內內容)












修改後(新增紅框內內容)













作業二 :
將打光貼圖結合期末作品
新增下列紫色框框內容至期末作品中
glEnable(GL_TEXTURE_2D);///讓貼圖打開


glDisable(GL_LIGHTING);///讓打光關掉................
glDisable(GL_TEXTURE_2D);///讓貼圖關掉


glEnable(GL_LIGHTING);///讓打光重新打開
將下列檔案複製到期末作品內的資料夾(紅色框框內的檔案)
將下列程式碼加入期末作品Notepad++內(紅色框框內內容)




成果如下:

2017年6月5日 星期一

Week13 20170605 芷萱的課堂筆記

作業一 :
目標 : 利用内插公式擺出各種擺出各種角度
angle=alpha*newAngle+(1-alpha)*oldAngle;
1.參考老師解說內插公式























4.存檔→將角度存在一個記事本file.txtif(key=='s'||key=='S'){        if(fout==NULL){            fout=fopen("file.txt","w+");            printf("現在我產生一個file.txt的檔案在目錄裡\n");           }        fprintf(fout,"%.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f\n",angle[0],angle[1],angle[2],angle[3],angle[4],angle[5],angle[6],angle[7],angle[8]);        printf("現在我把一些數字印到檔案裡%.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f\n",angle[0],angle[1],angle[2],angle[3],angle[4],angle[5],angle[6],angle[7],angle[8]);    }


if(key=='r'||key=='R'){
        if(fin==NULL){
            fin=fopen("file.txt","r");
            printf("現在我產生一個file.txt的檔案在目錄裡\n");
        }
        fscanf(fin,"%.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f\n",&angle[0],&angle[1],&angle[2],&angle[3],&angle[4],&angle[5],&angle[6],&angle[7],&angle[8]);
        glutPostRedisplay();
    }


2017年5月22日 星期一

Week12 20170522 芷萱的課堂筆記

作業一 :
目標 : 利用回家作業機器人→增加整體轉動
1. 將身體當作轉動基準
2. 依序將其餘的頭手腳拉進身體程式碼內

●紅色框框 → 身體
●紫色框框 → 其餘的頭、手、腳

3.即可顯示出整體轉動的杯麵(模型)

作業二 :
目標 : 計時器
1.加入  glutTimerFunc(0,timer,0);///(等多久,叫誰,參數)
2.再加上可加上(方便測試計時器)
#include <stdio.h>
void timer(int t)

{
    glutTimerFunc(100,timer,t+1);
    angle++;
    glutPostOverlayRedisplay();
    printf("Hello\n");
}
3.即可跳出多行Hello



2017年5月15日 星期一

Week11 20170515 芷萱的課堂筆記

作業一 :
老師示範小考 T-R-T
以大衛雕像的小腿為例   程式碼如下:
  glPushMatrix();
    glTranslatef(0.4,-1.0,0);///(4)再把(3)的腿掛在(0.4,-1.0,0)
    glRotatef(angle,0,0,1);///(3)對Z軸做旋轉angle角度
    glTranslatef(0.2,-0.5,0);///(2)把旋轉中心點放在畫面中間
    drawLeg();///(1)畫一個小腿
  glPopMatrix();

作業二 :
讀圖檔,用OpenCV 2.1

1.先下載opencv-2.1.0-vs2008.exe
並安裝opencv-2.1.0-vs2008.exe

注意其中一個安裝視窗選項要改成第三個





2. 確認C:\OpenCV2.1\include\opencv\很多.h檔
               C:\OpenCV2.1\lib\很多lib檔
               C:\OpenCV2.1\bin\很多dll檔

3.開啟CodeBlocks → 新增貝殼專案 File-New-Project→Console application(要用C++)

4.在小畫家畫一張圖 存在C槽命名img.png

5.依序照下列圖片設定

程式碼:

#include <opencv/highgui.h>
int main()
{
    IplImage*img=cvLoadImage("C:/img.png");///圖檔儲存路徑
    cvShowImage("a",img);///a為視窗檔名
    cvWaitKey(0);
}


6.執行檔案 → 即可讀圖檔


作業三:
在視窗顯示會轉動的地球

1. myEarth.zip解壓縮製桌面 並將freeglut解壓縮至桌面

2.將myEarth.cbp在CodeBlocks中開啟

3.按F9執行此專案檔 → 即可看到視窗內有轉動的地球
程式碼:

4.變化版:將gluSphere(quad, 1, 30, 30); →glutSolidTeapot(0.3);
即可將圓形地球變成貼有世界地圖的茶壺

2017年5月8日 星期一

Week10 20170508 芷萱的課堂筆記

作業一:
1. 到jsyeh.org/3dcg10 → 將data.zip,glut32.dll,windows.zip另存新檔

2. 將windows.zip解壓縮到桌面 →data.zip解壓縮到windows.zip資料夾

      
















→glut32.dll複製到windows.zip資料夾 →將Projection.exe點兩下


3.gluLookAt(eyeX,eyeY,eyeZ,centerX,centerY,centerZ,upX,upY,upZ)
                    ↑更改攝影機視角
4.開啟老師的檔案04160011_hw1.cbp加到CodeBlocks內
5.更改看看eyeX,eyeY,eyeZ個別的值→觀察茶壺的變化



















6. 開啟老師的檔案04160011_hw2_gluPerspective.cbp加到CodeBlocks內
7. T-R-T

●重要程式→頭 身體 左右手