2024年6月19日 星期三

啵咕咕的筆記

#WEEK01

加入Blogger

設定品牌

下載freeglut將freeglut.a復製改檔案名稱libglut32.a

file-new-project   檔案路徑設桌面和freeglut



2024年6月13日 星期四

C~電腦圖學日誌 Week17

Week17 總複習

1. 程式碼要捨得刪,太多太複雜難除錯

2. 除錯一步一步慢慢解


week12

 ##week12-1_glm_gundam_handA_handB

0.安裝freeglut,把lib\libfreeglut.a複製成libglut32.a

1.File-New-Project,GLUT專案week12-1_glm_gundam_handA_handB

2.先安裝openCV,CodeBlocks要重開
3.要改環境Search directories->Compiler 增加 C:\OpenCV2.1\include
4.Search directories->Linker 增加 C:\OpenCV2.1\lib
Linker settings-> 增加 cv210、cxcore210、highgui210
5.載git hub把第11周的11-2 抓下來就可以了

6.myBody();刪掉,改成glutSolidSphere(0.1,30,30);
7.glRotatef(angle++,0,0,1);把旋轉刪掉不讓轉動
8.glRotatef(angle++,0,0,1);加回這個讓他轉動
9.把handB的程式碼加進去 
10.改個glTranslatef()的座標

##week12-2_glm_gundam_upper_lower

用Notepad++ 改名稱改成week12-2_glm_gundam_upper_lower

多加兩行程式碼
GLMmodel * upperA = NULL;
GLMmodel * lowerA = NULL;

void display()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
      glDisable(GL_TEXTURE_2D);///把貼圖先功能關掉,不然手會被擋住
      ///myBody();
    glutSolidSphere(0.1,30,30);
    glEnable(GL_TEXTURE_2D);///再把貼圖功能開起來,才能draw
    glColor3f(1,1,1);
    
    drawUpperA();///(3)上手臂放好
    
    glPushMatrix(); ///(0)
        glTranslatef();///(3)再掛到上手臂的位置
        glRotatef(angle++,0,0,1);///(2) z軸轉
        glTranslatef(0,-0.2,0);///(1)
        drawLowerA(); ///(0)
    glPopMatrix(); ///(0)
    glutSwapBuffers();///(0)
}


angle += da; 一直加da到一定角度就彈回去
    if(angle>90) da=-1; 到90度就回彈,da會變成-1
    if(angle<0) da=+1;到0度就回彈,da會變成+1


week12-3_glm_gundam_keyboard_angleID_mouse_motion_angle

glPushMatrix();
glRotatef(angle,0,0,1);
gltranslatef(0,-0.07,0);
    drawUpperA();///(3)上手臂放好

     glPushMatrix(); ///(0)
         glTranslatef(-0.02,-0.09,0);///(3)再掛到上手臂的位置
         ///glRotatef(angle,1,0,0);///(2) z軸轉
         glTranslatef(0,-0.21,0);///(1)
         drawLowerA(); ///(0)
     glPopMatrix(); ///(0)
    glPopMatrix();

    glutSwapBuffers();///(0)

week17

 學期總複習

week11

 ##week11-1_TRT_again

先設定環境

0.安裝freeglut,把lib\libfreeglut.a複製成libglut32.a

1.File-New-Project,GLUT專案week11-1_TRT_again

貼上10-12的程式碼再加上

glTranslatef(0.3,0.2,0);

        glRotatef(angle++,0,0,1);

        glTranslatef(0.15,0,0);


week11-2_glm_gundam_opencv_texture_lighting
1.File-New-Project,GLUT專案week11-2_glm_gundam_opencv_texture_lighting
2.先安裝openCV,CodeBlocks要重開
3.要改環境Search directories->Compiler 增加 C:\OpenCV2.1\include
4.Search directories->Linker 增加 C:\OpenCV2.1\lib
5.Linker settings-> 增加 cv210、cxcore210、highgui210
6.///GLMmodel * pmodel = NULL;改成/
7.GLMmodel * pmodel = NULL;
8.GLMmodel * handa = NULL;
9.GLMmodel * handb = NULL;
10.void drawmobel(void)->void drawHanda(void)
11.pmodel有這個的都改成handa
void myBody(){ ///我的身體
    glPushMatrix();///備分矩陣
        glColor3f(1,0,0);///紅色的
        glutSolidCube(0.6);///mybody  但是空心變實心solid才能正確打
    glPopMatrix();///還原矩陣
}
float angle = 0; ///加這行, 讓它轉動
void display()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    glDisable(GL_TEXTURE_2D);///把貼圖先功能關掉,不然手會被擋住
    myBody();
    glEnable(GL_TEXTURE_2D);///再把貼圖功能開起來,才能draw
    glColor3f(1,1,1);
    glPushMatrix(); ///加這行, 讓它轉動
        glRotatef(angle++, 0, 1, 0); ///加這行, 讓它轉動
        drawHanda();
    glPopMatrix(); ///加這行, 讓它轉動
    glutSwapBuffers();



Week17 最後的部落格

1.老師重新教學一遍如何製作模組


期末作業總複習

田糾集跟你說你好

 1.下禮拜(18周就是期末作品繳交了)

2.老師教了用茶壺程式碼找定位

有錄影

大致上就是從零開始打

///T

///R

///T

訣竅就是建立一個圓球找軸心

用茶壺程式碼找座標

偷座標

先做末梢

再drawbody()