2016年3月8日 星期二

Week 03 林盈君

課堂作業(一)

Shape 參數用法:



Loop //迴圈

fan //扇形





quad //四邊形

polygon //多邊形






課堂作業(二)

程式碼:
#include<GL/glut.h>
void display()
{
    glBegin(GL_POLYGON);
        glColor3ub(174,238,238);
        glVertex3f(0,0,0);
        glVertex3f(1,1,0);
        glVertex3f(0,-1,0);
    glEnd();
    glutSwapBuffers();
}
int main(int argc,char**argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("hi");
    glutDisplayFunc(display);
    glutMainLoop();
}



課堂作業(三)

小畫家查詢Color 座標方法



課堂作業(四)

程式碼:
#include<GL/glut.h>
#include<stdio.h>
void mouse(int button, int state, int x, int y)
{
    if(state==GLUT_DOWN)
        printf("glVertex3f((%d-150)/150.0,-(%d-150)/150.0,0.0);\n",x,y);  //用mouse找出座標位置
}
void display()
{
    glClear(GL_COLOR_BUFFER_BIT);
    glClearColor(230/255.0,243/255.0,211/255.0,0.5);
    glBegin(GL_POLYGON);
        glColor3ub(42,101,7);
        glVertex3f((28-150)/150.0,-(65-150)/150.0,0.0);
        glVertex3f((27-150)/150.0,-(110-150)/150.0,0.0);
        glVertex3f((44-150)/150.0,-(143-150)/150.0,0.0);
        glColor3ub(169,205,95);
        glVertex3f((75-150)/150.0,-(160-150)/150.0,0.0);
        glVertex3f((104-150)/150.0,-(166-150)/150.0,0.0);
        glVertex3f((112-150)/150.0,-(168-150)/150.0,0.0);
        glVertex3f((110-150)/150.0,-(133-150)/150.0,0.0);
        glVertex3f((77-150)/150.0,-(85-150)/150.0,0.0);
    glEnd();
    glBegin(GL_POLYGON);
        glVertex3f((113-150)/150.0,-(152-150)/150.0,0.0);
        glVertex3f((134-150)/150.0,-(98-150)/150.0,0.0);
        glVertex3f((165-150)/150.0,-(74-150)/150.0,0.0);
        glVertex3f((179-150)/150.0,-(66-150)/150.0,0.0);
        glVertex3f((197-150)/150.0,-(63-150)/150.0,0.0);
        glColor3ub(42,101,7);
        glVertex3f((206-150)/150.0,-(94-150)/150.0,0.0);
        glVertex3f((197-150)/150.0,-(125-150)/150.0,0.0);
        glVertex3f((169-150)/150.0,-(156-150)/150.0,0.0);
        glVertex3f((110-150)/150.0,-(174-150)/150.0,0.0);
    glEnd();
    glBegin(GL_LINE_STRIP);
    glColor3ub(114,159,58);
        glVertex2f((108-150)/150.0,-(172-150)/150.0);
        glVertex2f((98-150)/150.0,-(205-150)/150.0);
        glVertex2f((100-150)/150.0,-(237-150)/150.0);
        glVertex2f((105-150)/150.0,-(263-150)/150.0);
    glEnd();
    glutSwapBuffers();
}
int main(int argc,char**argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("hi");
    glutDisplayFunc(display);
    glutMouseFunc(mouse);
    glutMainLoop();
}
執行結果:








沒有留言:

張貼留言