2024年2月29日 星期四

電腦圖學week02

  1. https://jsyeh.org/3dcg10/點開下載window.zip和data,zip

  2. 兩個解壓縮後把data資料夾放進window夾裡面

  3. 打開Shapes.exe檔案
  4. 有參數按左鍵上下可以調整座標顏色
  5. 右邊按右鍵點選triangles每個頂點都有自己顏色

  6. 左邊按右鍵點選toogle colors at vertices可以讓它多一點顏色

  7. 把freeglut-MinGW-3.0.0-1.mp打開freeglut再把lib裡的檔案複製一個變成libglut32.a

  8. 打開codeblocks創新的檔案glut取名叫week02_glut_color_teapot之後再點freeglut

  9. 把它改成上週10行茶壺的程式碼
  10. 在加一行glColor3f(1,1,0); 能把壺改色

  11. 開小畫家把要畫的圖貼進去然後吸取自己要的顏色,再用編輯顏色來看它的數字是0.0~1.0中間,所以把藥的顏色/255.0就可以用,多創一個小茶壺調顏色,先畫大的,在畫小的,不同顏色

  12. 多創一個小茶壺調顏色,先畫大的,在畫小的,不同顏色
  13. 用小畫家找到頂點座標改成三角形,上面程式碼括號裡改成
    glBegin(GL_POLYGON);
            glColor3f(1,0,0);glVertex2d(0,1);
            glColor3f(0,1,0);glVertex2d(+1,-0.6);
            glColor3f(0,0,1);glVertex2d(-1,-0.6);
        glEnd();
        glutSwapBuffers();

  14. 做耳朵,上面程式碼括號裡改成
    glBegin(GL_POLYGON);
            glVertex2d((34-200)/200.0,-(76-200)/200.0);
            glVertex2d((48-200)/200.0,-(131-200)/200.0);
            glVertex2d((85-200)/200.0,-(59-200)/200.0);
        glEnd();
        glBegin(GL_POLYGON);
            glVertex2d((383-200)/200.0,-(79-200)/200.0);
            glVertex2d((348-200)/200.0,-(146-200)/200.0);
            glVertex2d((312-200)/200.0,-(55-200)/200.0);

        glEnd();
        glutSwapBuffers();


  15. 做一個圓,上面程式碼括號裡改成
    glBegin(GL_POLYGON);
        for(float a=0;a<=3.1415*2;a+=0.1){
            glVertex2d(cos(a),sin(a));
        }
        glEnd();
        glutSwapBuffers();



  16. 原先sin和cos改成(0.2*cos(a)+0.5,0.2*sin(a)+0.5);,圓會變小

  17. 畫米奇修改程式化三個圓,不用重複打同個程式碼
void myCircle(float x,float y,float r){
    glBegin(GL_POLYGON);
    for(float a=0;a<=3.1415*2;a+=0.1){
        glVertex2d(r*cos(a)+x,r*sin(a)+y);
    }
    glEnd();
}
void display()
{
    myCircle( 0.5, 0.5,0.3);
    myCircle(-0.5, 0.5,0.3);
    myCircle(   0,-0.1,0.6);

    glutSwapBuffers();
}

沒有留言:

張貼留言