顯示具有 04160250_曾凱楠 標籤的文章。 顯示所有文章
顯示具有 04160250_曾凱楠 標籤的文章。 顯示所有文章

2017年7月1日 星期六

week12 鄉下人筆記

1.小考練習-TRT轉動考古題(6行)

請看例圖:




請撰寫程式(6行):

glPushMatrix();
glTranslatef(0.4,-1.0,0);  //把手臂掛上右邊座標位置
glRotatef(angle,0,0,1);  //沿Z軸旋轉angle度
glTranslatef(0.2,-0.5,0);  //把左圖紅色圈圈移到座標(0,0,0)位置
drawleg();  //畫手臂
glPopMatrix();


2.openCV 2.1.0顯示圖片

利用CodeBlocks建立一個Console Application專案








完成後,請打上以下程式碼:
#include <opencv/highgui.h>

int main(void)
{
    IplImage* img = cvLoadImage("C:/1.png"); 
    cvShowImage("a",img); //秀出你的圖案到一個叫做a的視窗
    cvWaitKey(0);//阻斷式鍵盤事件

}



這樣就成功拉~


3.旋轉地球








week16 鄉下人筆記

1.內差公式

2.

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);
}


week18 鄉下人筆記

2017年6月16日 星期五

week15_鄉下人筆記

1.認識貼圖背景

下載Facebook社團的檔案(Earth.zip, freeglut.zip)解壓縮下載到桌面

接著下載openCV 2.1.0版本


接下來打開myEarth.cbp

這個是只有加一個貼圖的情況。如果要加更多貼圖,GLuint id;的id變數後面可以自己加(id2,id3......)

接著要放背景圖,我們在display函式中修改成如下:
void display()
{   glEnable(GL_DEPTH_TEST); ///要啟動 Detph Test 深度值的測試,3D顯示才正確
    glClear(GL_COLOR_BUFFER_BIT  | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        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();///結束畫
    glPopMatrix();
    glFlush();
}


然後按下執行


2.套用貼圖到自己的機器人


Week14_鄉下人筆記

1.要把回家做的機器人動起來

原始圖






動起來的圖




程式碼:



加計時器



week11_鄉下人

                                         
到3D   Exploration下載壓縮檔並解壓縮


再到老師的網站下載data的壓縮檔


將壓縮檔裡的data資料夾拉進3D   Exploration裡,並選擇一模型


接著,存檔匯出並改成open gl


開啟Codeblocks新增一Open GL專案,將檔案裡的main.c程式刪掉,並匯入所存的程式碼

ˊ

再將無法讀取的部分程式碼註解掉










2017年5月15日 星期一

鄉下人筆記

T-R-T小考

程式碼:
glPushMatrix();
glTranslate(0.4,-1.0,0);
glRotate(angle,0,0,1);
glTranslate(0.2,-0.5,0);
drawLeg();
glPopMatrix();


讀圖檔

1.安裝opencv2.1
2.確認C:\OpenCv2.1\include\opencv\很多.h檔
                                   \lib\很多lib檔
                                   \bin\很多dll檔
3.新增貝殼專案file-new-project,Console App

程式碼:
#include <opencv/highgui.h>
int main(){
    IplImage * img=cvLoadImage("C:/小圖.png");
    cvShowImage("a",img);
    cvWaitKey(0);
}





轉動的地球

1.myearth解壓縮
2.解壓縮freeglut
3.開myearth專案
4.執行



2017年4月24日 星期一

week_10 鄉下人筆記

先在google尋找:NeHe Lesson 32
下載壓縮檔並解壓縮

玩遊戲(NEHE)

把槍聲特效加進GLUT專案裡
#include <mmsystem.h>
void mouse(int button,int state,int x,int y){
    PlaySound("C:\\Users\\user\\Desktop\\Lesson32\\data/shot.wav",NULL,SND_ASYNC);
}


glutMouseFunc(mouse);


利用程式播出音樂
加入程式碼:
#include "CMP3_MCI.h"
CMP3_MCI myMP3;

int main(int argc, char *argv[]){
    myMP3.Load("C:\\Users\\user\\Desktop\\freeglut\\bin/yukai.mp3");///音樂檔的路徑
    myMP3.Play();
    glutInit(&argc, argv);



2017年4月10日 星期一

Week08_鄉下人

1.模擬其中考



2.打光教學

一開始一樣,開啟GLUT專案
解壓縮freeglut
接著按照老師的圖依序刪除部分程式碼






接著,改變程式碼裡打光的參數,改變打光的方向了解其作用
const GLfloat light_position[] = { 25.0f, 15.0f, -35.0f, 0.0f };


const GLfloat light_position[] = { 25.0f, 0.0f, 0.0f, 0.0f };



const GLfloat light_position[] = { 0.0f, 25.0f, 0.0f, 0.0f };



const GLfloat light_position[] = { 25.0f, 0.0f, 0.0f, 0.0f };




3.打光+旋轉

新增下列程式碼

還有 glutIdleFunc(display);


最後完成



4.做出各種形狀

glutSolidTeapot(大小);茶壺
glutSolidCube(大小);方塊
glutSolidCone(底r,高h,slice縱切,stack堆疊);
glutDedocahedorn();12面體
glutIcosahedron();20面體



2017年3月6日 星期一

Week02_鄉下人筆記

今天作業1和2請點我http://2017graphics.blogspot.tw/search/label/04160250_%E6%9B%BE%E5%87%B1%E6%A5%A0


                                                                         課堂作業3

#include <GL/glut.h>
void display(){
glutSolidTeaport(0.3);
glutSwapBuffers();
}///畫茶壺

int main(int argc, char*argv[])///主函式
{
glutInit(&argc,argv)

glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
///開啟要顯示Display的模式
   
 glutCreateWindow("GLUT Shapes");///開啟一個視窗

    glutDisplayFunc(display);///要有顯示Display的函式
    glutMainLoop();
}


茶壺上色

面的上色