2016年3月14日 星期一

Week04

HW01




 
HW02


HW03


#include <GL/glut.h>
#include <stdio.h>
void mouse(int button, int state,int x,int y)  //用滑鼠算點位置 可直接貼上
{
     if(state==GLUT_DOWN)
     printf("glVertex2f( (%d-150)/150.0 , -(%d-150)/150.0);\n" ,x,y);
}
void display()
{
     glClearColor(150/255.0,  170/255.0,  55/255.0,  1)  //加背景顏色
     glClear(GL_COLOR_BUFFER_BIT);  //去除背景原顏色
     glClearColor(0,0,0,1);   //加標記圖像的顏色 最後一個是Alpha
     glBegin(GL_POLYGON);
      glVertex2f( (220-150)/150.0 , -(66-150)/150.0);   //找點完後先標記 案ENTER複製
      glVertex2f( (80-150)/150.0 , -(62-150)/150.0);
      glVertex2f( (56-150)/150.0 , -(206-150)/150.0);
      glVertex2f( (211-150)/150.0 , -(220-150)/150.0);
     glEnd();
     glutSwapBuffers();
}


   int main(int argc, char**argv)
{
      glutInit(&argc,argv);
      glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
      glutCreateWindow("hello3D");
      glutDisplayFunc(display);
      glutMouseFunc(mouse);
      glutMainLoop();
}

HW04
#include <GL/glut.h>
#include <stdio.h>
#include <math.h>
void mouse(int button,int state,int x,int y)
{
    if(state==GLUT_DOWN)
        printf("        glVertex2f((%d-150)/150.0, -(%d-150)/150.0 ); \n",x,y);
}
void display()
{
    glClearColor(150/255.0,170/255.0,55/255.2,1);
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3ub(175,193,81);

    glPushMatrix();       //做圓的程式
        glBegin(GL_POLYGON);
        for(float angle=0; angle<3.14159265357989 *2; angle+=0.1){
            glVertex2f(0.2*cos(angle), 0.2*sin(angle));
        }
        glEnd();
    glPopMatrix();

    glPushMatrix();
        glTranslatef(0,0.5,0);
        glBegin(GL_POLYGON);
        for(float angle=0; angle<3.14159265357989 *2; angle+=0.1){
            glVertex2f(0.2*cos(angle), 0.2*sin(angle));
        }
        glEnd();
    glPopMatrix();

    glPushMatrix();
        glTranslatef(-0.5,0,0);
        glBegin(GL_POLYGON);
        for(float angle=0; angle<3.14159265357989 *2; angle+=0.1){
            glVertex2f(0.2*cos(angle), 0.2*sin(angle));
        }
        glEnd();
    glPopMatrix();

    glutSwapBuffers();

}
int main(int argc, char **argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("hello");
    glutDisplayFunc(display);
    glutMouseFunc(mouse);
    glutMainLoop();
}


沒有留言:

張貼留言