2021年3月10日 星期三

week03 電腦圖學圓圈圈

  用github開檔案




#include <GL/glut.h> ///使用glut外掛
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); ///清背景
    glColor3f(1,1,0);
    glutSolidSphere(0.5,30,30);
    glutSwapBuffers(); ///畫面更新
}




int main(int argc, char**argv) ///main函式
{
    glutInit(&argc, argv); /// init初始化glut
    glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH);
    ///init初始化 dispaly的功能 色彩 雙倍顯示 3D
    glutCreateWindow("Week03-circle"); ///打開的網頁名稱
    glutDisplayFunc(display); ///準備DISPLAY()函式
    glutMainLoop(); ///主要函式
}
上面是圓的程式跟上禮拜的茶壺有點不一樣


#include <GL/glut.h> ///使用glut外掛
#include <math.h>
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); ///清背景
    glColor3f(1,0,0);
    glBegin(GL_POLYGON);
    for(int i=0 ; i<30 ; i++)
    {
        float a=3.1415926 * 2/30*i;
        glVertex2f(cos(a),sin(a));
    }
    glEnd;
    glutSwapBuffers();

}




int main(int argc, char**argv) ///main函式
{
    glutInit(&argc, argv); /// init初始化glut
    glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH);
    ///init初始化 dispaly的功能 色彩 雙倍顯示 3D
    glutCreateWindow("Week03-circle"); ///打開的網頁名稱
    glutDisplayFunc(display); ///準備DISPLAY()函式
    glutMainLoop(); ///主要函式
}

上面的程式碼也是畫圓不過他是用sin cos畫的 
上面的例子是用30個三角形拼湊成的30邊形只是看起來像園



沒有留言:

張貼留言

距地表面160 Week11

 #include "glm.h" GLMmodel* pmodel = NULL; void drawmodel(void) {     if (!pmodel) { pmodel = glmReadOBJ("data/porsche.obj...