2023年2月22日 星期三

Deverra//week02

WEEK02----制作茶壺!

用上週學到的GLUT專案進行改寫!

   切記 開GLUT專案要在freeglut中偽裝glut檔案

 #include <GL/glut.h>

void display()

{

    glutSolidTeapot( 0.3 ); //畫出實心茶壺 大小為0.3

    glutSwapBuffers(); //請GLUT把畫面swqp送到顯示的地方

}


int main(int argc, char *argv[])

{

  glutInit(&argc, argv);

  glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

  glutCreateWindow("GLUT Shapes");

  glutDisplayFunc(display); //要顯示的對應函式

  glutMainLoop(); //main迴圈要在最後面

}

display函式中第一行0.3是茶壺的大小



▦ 來加顏色吧

{
        glColor3f(1,1,0);  //紅色滿1 綠色滿1 藍色沒有0   三元色可以自行調整
        glutSolidTeapot( 0.3 );  //大小是0.3
}

        **顏色值可以在0-1之間 用小數點表示顏色的重輕

圖中是 0.5大小和0.3大小的茶壺



----------------------------------------------------------------------------------------------------------------------------
頂點--利用頂點定出位置進行填色

可以想成數學上的座標軸,以小黑中心為原點(0,0)
右上角( 1, 1)     上置中(  0,  1 )     左上角( -1, 1 )
左下角(-1,-1)     下置中( 0, -1 )     右下角(  1,-1 )

            glBegin ( GL_POLYGON ); //開始
                glVertex2f ( 0,1 ); //兩位浮點數決定頂點位置
            glEnd() ;  //結束



可以在begin end之間定義顏色! 製作出漸層色彩~~

同時定義頂點與顏色可以輕鬆製作特殊圖案





▦ 要怎麼在小黑裡畫圖嘞
要想要的圖貼進小畫家,建立200*200的畫布
用吸管找到RGB色值,到CB裡填色 ((底色))

小畫家中鼠標可以幫自己找到座標位置,利用"減一半再除一半"的口訣~




▦利用可怕的三角函數可以幫助我們畫圓
        glBegin(GL_POLYGON);
              for(float a=0; a<2*3.1415926 ;a+=0.01) ///pie乘以2 才不會只有半圓!
                  {
                      glVertex2f( r*cos(a)+x , r*sin(a)+y);  //半徑
                  }
        glEnd();


沒有留言:

張貼留言