顯示具有 04160656_歐語璇 標籤的文章。 顯示所有文章
顯示具有 04160656_歐語璇 標籤的文章。 顯示所有文章

2017年7月1日 星期六

Week 15 語璇電圖

一、用Opencv開啟圖檔
1.先到https://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.1/下載opencv2.1


2.安裝時,點第三個


3.開啟CodeBlocks,開起專案


4.選c++,需要用.cpp檔案


5.打上程式碼,讀取圖檔


6.執行,顯示圖檔


二、製作地球儀
程式碼




2.設定build option






下載地球的圖片


放到freeglut > bin


執行,顯示地球儀

Week 06 語璇電圖

一、期中考題介紹


二、旋轉
1.進入老師的網站下載:
http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/


2.解壓縮 data, windows, glut32,然後開啟Transformation


3.研究各個數值的改變所產生的變化


4.改變移動和旋轉的程式碼順序所產生的變化


上到下:(移動-旋轉)
                移動軸心,物體在軸心上旋轉。

                (旋轉-移動)
                移動物體,物體繞著軸心旋轉。

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年6月30日 星期五

Week 04 語璇電圖

一、使用滑鼠點擊得到座標畫圖
1.程式

















加入stdio.h , math.h
然後加入
void mouse(int button,int state,int x, int y)
{
    printf("%d %d %d %d\n", button, state, x, y);
}
int main(int argc, char *argv[])
{
    glutMouseFunc(mouse);
}
印出滑鼠點擊的狀態和座標
button : 0=左鍵 2=右鍵 1=中鍵
state : 0=按下 1=放開

2.結果
按下:












放開:










二、用滑鼠點擊改變顏色











加入

void mouse(int button,int state,int x, int y)
{
    glColor3f(1,x/300.0,y/300.0);
    glutPostRedisplay();
}

點擊左上角變成紅色

三、使用滑鼠拖曳連續改變顏色
程式













加入
void motion(int x, int y)
{
    printf("%d %d\n", x, y);
    glColor3f(1,x/300.0,y/300.0);
    glutPostRedisplay();
}
int main(int argc, char *argv[])
{
    glutMotionFunc(motion);
}

點擊左鍵移動改變顏色


四、使用滑鼠作標做出小精靈
1.程式



Week 16 語璇電圖

[1]程式碼:

if(key=='s')///儲存的意思

 {

fout = fopen("file.txt","a");///打開記事本

fprintf(fout,"%.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2f\n\n",
                    angle[0],angle[1],angle[2],angle[3],angle[4],angle[5],angle[6],angle[7],angle[8],angle[9]);///這行才是寫角度進去
printf("%.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2f\n\n",
                    angle[0],angle[1],angle[2],angle[3],angle[4],angle[5],angle[6],angle[7],angle[8],angle[9]);///看你有多少個模型需要動
 }
if(key=='r')///讀檔的意思

{
if(fin==NULL)
{
fin = fopen("file.txt","r");///寫入所需要的角度安排
}
 fscanf(fin,"%f %f %f %f %f %f %f %f %f %f\n",
            &Newangle[0],&Newangle[1],&Newangle[2],&Newangle[3],&Newangle[4],&Newangle[5],&Newangle[6],&Newangle[7],&Newangle[8],&Newangle[9]);
glutPostRedisplay();
}
if(key=='m')
{
glutTimerFunc(0,timer,0);
}

Week 17 語璇電圖

示範 myEarth.zip變 背景貼圖
  freeglut裝桌面\freeglut\include
                                        \lib
                                        \bin
  openCV2.1裝C:\OpenCV2.1\include
                                                 \lib
                                                 \bin
把display裡 註解掉(///) 畫地球
glBegin(GL_POLYGON)
   glTexCoord2f(0,0);glVertex3f(-1,+1,0);
   

glTexCoord2f(1,0);glVertex3f(+1,+1,0);
  
 glTexCoord2f(1,1);glVertex3f(+1,-1,0);
  
 glTexCoord2f(0,1);glVertex3f(-1,-1,0);
 
 glEnd();




Week 18 電圖期末作品展示

https://www.youtube.com/watch?v=W-obfjwTsbE&feature=youtu.be

2017年5月8日 星期一

Week 12 語璇電圖

Hw1
解壓縮data、win32、glut32.dll
將data、glut32.dll解壓縮至win32資料夾中
並開啟Projection















Hw2

解壓縮freeglut
並貼上程式碼跑出茶壺
























2017年5月1日 星期一

Week 11 語璇電圖

Hw1

先下載3D Exploration v1.81
再輸入網址jsyeh.org/3dcg10
並下載data再解壓縮
最後放入3D檔案總管即可看





Hw2

先存為cpp檔
再至codeblocks新增專案
建為soccerball
移除原本的main
將剛才輸出的soccerball放至最近新的專案
新增剛剛輸出的soccerball.cpp
且球可放大縮小