2020年3月21日 星期六

week03

複習上週內容
https://2020graphicsb.blogspot.com/2020/03/week02_15.html
座標,顏色
http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/




移動茶壺


電腦是一直清畫面然後在畫圖到你點到的位置,而我們看起來像在移動













#include <GL/glut.h>
#include <stdio.h>
float teapotX=0,teapotY=0;
void display()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
     glTranslated(teapotX,teapotY,0);
     glutSolidTeapot(0.3);
    glPopMatrix();
    glutSwapBuffers();

}
void mouse(int button,int state,int x,int y)
{
    printf("%f %f\n",(x-150)/150.0,(y-150)/150.0);
    teapotX=(x-150)/150.0;
    teapotY=-(y-150)/150.0;
}
int main(int argc, char**argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("week03!!!");

    glutDisplayFunc(display);
    glutMouseFunc(mouse);
    glutMainLoop();

}
!!如果沒有清畫面

己標位置畫圖

點選位置複製座標



#include <GL/glut.h>
#include <stdio.h>
float teapotX=0,teapotY=0;
void display()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    glBegin(GL_POLYGON);
    glEnd();
    glutSwapBuffers();

}
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);
   }
}
int main(int argc, char**argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("week03!!!");

    glutDisplayFunc(display);
    glutMouseFunc(mouse);
    glutMainLoop();

}
2.










畫出憤怒鳥
1.找圖片並將圖設成300x300

2.將滑鼠放在要畫的位置上,會顯示位置
3.將位置打上去

4.顏色教學:

將RGU填上去

#include <GL/glut.h>
#include <stdio.h>
#include <math.h>
float teapotX=0,teapotY=0;
void display()
{

    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    glBegin(GL_POLYGON);///紅底
    glColor3f(204/255.0,32/255.0,49/255.0);
    glVertex2f((63-150.0)/150.0,-(53-150.0)/150.0);
    glVertex2f((48-150.0)/150.0,-(67-150.0)/150.0);
    glVertex2f((35-150.0)/150.0,-(82-150.0)/150.0);
    glVertex2f((27-150.0)/150.0,-(91-150.0)/150.0);
    glVertex2f((19-150.0)/150.0,-(105-150.0)/150.0);
    glVertex2f((13-150.0)/150.0,-(116-150.0)/150.0);
    glVertex2f((7-150.0)/150.0,-(131-150.0)/150.0);
    glVertex2f((5-150.0)/150.0,-(154-150.0)/150.0);
    glVertex2f((4-150.0)/150.0,-(161-150.0)/150.0);
    glVertex2f((8-150.0)/150.0,-(183-150.0)/150.0);
    glVertex2f((13-150.0)/150.0,-(196-150.0)/150.0);
    glVertex2f((26-150.0)/150.0,-(214-150.0)/150.0);
    glVertex2f((41-150.0)/150.0,-(226-150.0)/150.0);
    glVertex2f((54-150.0)/150.0,-(232-150.0)/150.0);
    glVertex2f((73-150.0)/150.0,-(238-150.0)/150.0);
    glVertex2f((93-150.0)/150.0,-(243-150.0)/150.0);
    glVertex2f((117-150.0)/150.0,-(243-150.0)/150.0);
    glVertex2f((143-150.0)/150.0,-(245-150.0)/150.0);
    glVertex2f((161-150.0)/150.0,-(245-150.0)/150.0);
    glVertex2f((180-150.0)/150.0,-(236-150.0)/150.0);
    glVertex2f((201-150.0)/150.0,-(227-150.0)/150.0);
    glVertex2f((211-150.0)/150.0,-(219-150.0)/150.0);
    glVertex2f((223-150.0)/150.0,-(207-150.0)/150.0);
    glVertex2f((238-150.0)/150.0,-(188-150.0)/150.0);

    glVertex2f((244-150.0)/150.0,-(166-150.0)/150.0);
    glVertex2f((243-150.0)/150.0,-(135-150.0)/150.0);
    glVertex2f((232-150.0)/150.0,-(108-150.0)/150.0);
    glVertex2f((217-150.0)/150.0,-(87-150.0)/150.0);
    glVertex2f((201-150.0)/150.0,-(73-150.0)/150.0);
    glVertex2f((184-150.0)/150.0,-(61-150.0)/150.0);
    glVertex2f((172-150.0)/150.0,-(56-150.0)/150.0);
    glVertex2f((157-150.0)/150.0,-(49-150.0)/150.0);

    glVertex2f((152-150.0)/150.0,-(38-150.0)/150.0);
    glVertex2f((145-150.0)/150.0,-(28-150.0)/150.0);
    glVertex2f((140-150.0)/150.0,-(24-150.0)/150.0);
    glVertex2f((135-150.0)/150.0,-(21-150.0)/150.0);
    glVertex2f((124-150.0)/150.0,-(14-150.0)/150.0);
    glVertex2f((113-150.0)/150.0,-(9-150.0)/150.0);
    glVertex2f((102-150.0)/150.0,-(5-150.0)/150.0);
    glVertex2f((91-150.0)/150.0,-(5-150.0)/150.0);
    glVertex2f((81-150.0)/150.0,-(10-150.0)/150.0);
    glVertex2f((82-150.0)/150.0,-(18-150.0)/150.0);
    glVertex2f((90-150.0)/150.0,-(28-150.0)/150.0);
    glVertex2f((102-150.0)/150.0,-(35-150.0)/150.0);
    glVertex2f((91-150.0)/150.0,-(35-150.0)/150.0);
    glVertex2f((76-150.0)/150.0,-(29-150.0)/150.0);
    glVertex2f((59-150.0)/150.0,-(29-150.0)/150.0);
    glVertex2f((43-150.0)/150.0,-(33-150.0)/150.0);
    glVertex2f((37-150.0)/150.0,-(43-150.0)/150.0);
    glVertex2f((47-150.0)/150.0,-(49-150.0)/150.0);
    glVertex2f((63-150.0)/150.0,-(51-150.0)/150.0);
    glEnd();
    glBegin(GL_POLYGON);///腮紅左(大顆)
    glColor3f(145/255.0,32/255.0,37/255.0);
    glVertex2f((40-150.0)/150.0,-(157-150.0)/150.0);
    glVertex2f((35-150.0)/150.0,-(160-150.0)/150.0);
    glVertex2f((33-150.0)/150.0,-(164-150.0)/150.0);
    glVertex2f((33-150.0)/150.0,-(169-150.0)/150.0);
    glVertex2f((33-150.0)/150.0,-(174-150.0)/150.0);
    glVertex2f((36-150.0)/150.0,-(177-150.0)/150.0);
    glVertex2f((40-150.0)/150.0,-(181-150.0)/150.0);
    glVertex2f((41-150.0)/150.0,-(181-150.0)/150.0);
    glVertex2f((46-150.0)/150.0,-(178-150.0)/150.0);
    glVertex2f((48-150.0)/150.0,-(174-150.0)/150.0);
    glVertex2f((48-150.0)/150.0,-(166-150.0)/150.0);
    glVertex2f((45-150.0)/150.0,-(161-150.0)/150.0);
    glVertex2f((42-150.0)/150.0,-(158-150.0)/150.0);
    glVertex2f((40-150.0)/150.0,-(157-150.0)/150.0);
    glEnd();
    glBegin(GL_POLYGON);///腮紅右(大顆)
    glColor3f(145/255.0,32/255.0,37/255.0);
    glVertex2f((210-150.0)/150.0,-(158-150.0)/150.0);
    glVertex2f((206-150.0)/150.0,-(161-150.0)/150.0);
    glVertex2f((205-150.0)/150.0,-(165-150.0)/150.0);
    glVertex2f((204-150.0)/150.0,-(169-150.0)/150.0);
    glVertex2f((205-150.0)/150.0,-(175-150.0)/150.0);
    glVertex2f((208-150.0)/150.0,-(178-150.0)/150.0);
    glVertex2f((213-150.0)/150.0,-(181-150.0)/150.0);
    glVertex2f((217-150.0)/150.0,-(177-150.0)/150.0);
    glVertex2f((219-150.0)/150.0,-(173-150.0)/150.0);
    glVertex2f((219-150.0)/150.0,-(168-150.0)/150.0);
    glVertex2f((216-150.0)/150.0,-(163-150.0)/150.0);
    glVertex2f((211-150.0)/150.0,-(157-150.0)/150.0);
    glEnd();
    glBegin(GL_POLYGON);///腮紅右(小顆)
    glVertex2f((229-150.0)/150.0,-(168-150.0)/150.0);
    glVertex2f((227-150.0)/150.0,-(171-150.0)/150.0);
    glVertex2f((226-150.0)/150.0,-(173-150.0)/150.0);
    glVertex2f((227-150.0)/150.0,-(177-150.0)/150.0);
    glVertex2f((230-150.0)/150.0,-(179-150.0)/150.0);
    glVertex2f((231-150.0)/150.0,-(176-150.0)/150.0);
    glVertex2f((232-150.0)/150.0,-(173-150.0)/150.0);
    glVertex2f((232-150.0)/150.0,-(170-150.0)/150.0);
    glVertex2f((229-150.0)/150.0,-(168-150.0)/150.0);
    glEnd();
    glBegin(GL_POLYGON);///腮紅左(小顆)
    glColor3f(145/255.0,32/255.0,37/255.0);
    glVertex2f((20-150.0)/150.0,-(169-150.0)/150.0);
    glVertex2f((17-150.0)/150.0,-(175-150.0)/150.0);
    glVertex2f((21-150.0)/150.0,-(180-150.0)/150.0);
    glVertex2f((24-150.0)/150.0,-(174-150.0)/150.0);
    glVertex2f((20-150.0)/150.0,-(169-150.0)/150.0);
    glEnd();
    glBegin(GL_POLYGON);///眉毛
    glColor3f(0/255.0,0/255.0,0/255.0);
    glVertex2f((134-150.0)/150.0,-(120-150.0)/150.0);
    glVertex2f((142-150.0)/150.0,-(117-150.0)/150.0);
    glVertex2f((151-150.0)/150.0,-(113-150.0)/150.0);
    glVertex2f((157-150.0)/150.0,-(111-150.0)/150.0);
    glVertex2f((170-150.0)/150.0,-(106-150.0)/150.0);
    glVertex2f((183-150.0)/150.0,-(100-150.0)/150.0);
    glVertex2f((195-150.0)/150.0,-(96-150.0)/150.0);
    glVertex2f((199-150.0)/150.0,-(102-150.0)/150.0);
    glVertex2f((200-150.0)/150.0,-(112-150.0)/150.0);
    glVertex2f((200-150.0)/150.0,-(119-150.0)/150.0);
    glVertex2f((192-150.0)/150.0,-(121-150.0)/150.0);
    glVertex2f((185-150.0)/150.0,-(123-150.0)/150.0);
    glVertex2f((178-150.0)/150.0,-(125-150.0)/150.0);
    glVertex2f((169-150.0)/150.0,-(127-150.0)/150.0);
    glVertex2f((159-150.0)/150.0,-(129-150.0)/150.0);
    glVertex2f((150-150.0)/150.0,-(132-150.0)/150.0);
    glVertex2f((138-150.0)/150.0,-(135-150.0)/150.0);
    glVertex2f((128-150.0)/150.0,-(138-150.0)/150.0);
    glVertex2f((118-150.0)/150.0,-(136-150.0)/150.0);
    glVertex2f((111-150.0)/150.0,-(133-150.0)/150.0);
    glVertex2f((104-150.0)/150.0,-(132-150.0)/150.0);
    glVertex2f((95-150.0)/150.0,-(130-150.0)/150.0);
    glVertex2f((86-150.0)/150.0,-(128-150.0)/150.0);
    glVertex2f((76-150.0)/150.0,-(125-150.0)/150.0);
    glVertex2f((66-150.0)/150.0,-(123-150.0)/150.0);
    glVertex2f((61-150.0)/150.0,-(121-150.0)/150.0);
    glVertex2f((54-150.0)/150.0,-(120-150.0)/150.0);
    glVertex2f((54-150.0)/150.0,-(113-150.0)/150.0);
    glVertex2f((54-150.0)/150.0,-(106-150.0)/150.0);
    glVertex2f((56-150.0)/150.0,-(97-150.0)/150.0);
    glVertex2f((56-150.0)/150.0,-(97-150.0)/150.0);
    glVertex2f((66-150.0)/150.0,-(101-150.0)/150.0);
    glVertex2f((74-150.0)/150.0,-(104-150.0)/150.0);
    glVertex2f((86-150.0)/150.0,-(108-150.0)/150.0);
    glVertex2f((97-150.0)/150.0,-(113-150.0)/150.0);
    glVertex2f((110-150.0)/150.0,-(117-150.0)/150.0);
    glVertex2f((125-150.0)/150.0,-(123-150.0)/150.0);

    glVertex2f((94-150.0)/150.0,-(185-150.0)/150.0);
    glVertex2f((101-150.0)/150.0,-(186-150.0)/150.0);
    glVertex2f((109-150.0)/150.0,-(188-150.0)/150.0);
    glVertex2f((118-150.0)/150.0,-(190-150.0)/150.0);
    glVertex2f((126-150.0)/150.0,-(191-150.0)/150.0);
    glVertex2f((134-150.0)/150.0,-(190-150.0)/150.0);
    glVertex2f((144-150.0)/150.0,-(189-150.0)/150.0);
    glVertex2f((153-150.0)/150.0,-(187-150.0)/150.0);
    glEnd();
    glBegin(GL_POLYGON);///左眼
    glColor3f(255/255.0,255/255.0,255/255.0);
    glVertex2f((76-150.0)/150.0,-(125-150.0)/150.0);//左上
    glVertex2f((72-150.0)/150.0,-(132-150.0)/150.0);
    glVertex2f((71-150.0)/150.0,-(138-150.0)/150.0);
    glVertex2f((72-150.0)/150.0,-(144-150.0)/150.0);
    glVertex2f((74-150.0)/150.0,-(149-150.0)/150.0);
    glVertex2f((79-150.0)/150.0,-(155-150.0)/150.0);
    glVertex2f((85-150.0)/150.0,-(158-150.0)/150.0);
    glVertex2f((90-150.0)/150.0,-(160-150.0)/150.0);

    glVertex2f((98-150.0)/150.0,-(161-150.0)/150.0);//左下
    glVertex2f((101-150.0)/150.0,-(159-150.0)/150.0);
    glVertex2f((105-150.0)/150.0,-(156-150.0)/150.0);
    glVertex2f((106-150.0)/150.0,-(156-150.0)/150.0);
    glVertex2f((110-150.0)/150.0,-(154-150.0)/150.0);
    glVertex2f((116-150.0)/150.0,-(150-150.0)/150.0);
    glVertex2f((120-150.0)/150.0,-(149-150.0)/150.0);
    glVertex2f((123-150.0)/150.0,-(147-150.0)/150.0);//左下
    glVertex2f((101-150.0)/150.0,-(159-150.0)/150.0);
    glVertex2f((105-150.0)/150.0,-(156-150.0)/150.0);
    glVertex2f((106-150.0)/150.0,-(156-150.0)/150.0);
    glVertex2f((110-150.0)/150.0,-(154-150.0)/150.0);
    glVertex2f((115-150.0)/150.0,-(150-150.0)/150.0);
    glVertex2f((119-150.0)/150.0,-(149-150.0)/150.0);//左下
    glVertex2f((101-150.0)/150.0,-(159-150.0)/150.0);
    glVertex2f((105-150.0)/150.0,-(156-150.0)/150.0);
    glVertex2f((106-150.0)/150.0,-(156-150.0)/150.0);
    glVertex2f((110-150.0)/150.0,-(154-150.0)/150.0);
    glVertex2f((115-150.0)/150.0,-(150-150.0)/150.0);
    glVertex2f((119-150.0)/150.0,-(149-150.0)/150.0);
    glVertex2f((119-150.0)/150.0,-(149-150.0)/150.0);
    glVertex2f((123-150.0)/150.0,-(147-150.0)/150.0);//右下
    glVertex2f((124-150.0)/150.0,-(143-150.0)/150.0);
    glVertex2f((124-150.0)/150.0,-(137-150.0)/150.0);//右上
    glVertex2f((121-150.0)/150.0,-(137-150.0)/150.0);
    glVertex2f((116-150.0)/150.0,-(135-150.0)/150.0);
    glVertex2f((109-150.0)/150.0,-(133-150.0)/150.0);
    glVertex2f((106-150.0)/150.0,-(132-150.0)/150.0);
    glVertex2f((101-150.0)/150.0,-(132-150.0)/150.0);
    glVertex2f((97-150.0)/150.0,-(131-150.0)/150.0);
    glVertex2f((93-150.0)/150.0,-(130-150.0)/150.0);
    glVertex2f((89-150.0)/150.0,-(129-150.0)/150.0);
    glVertex2f((85-150.0)/150.0,-(128-150.0)/150.0);
    glVertex2f((81-150.0)/150.0,-(127-150.0)/150.0);
    glVertex2f((77-150.0)/150.0,-(126-150.0)/150.0);
    glVertex2f((75-150.0)/150.0,-(125-150.0)/150.0);//左上

    glEnd();
    glBegin(GL_POLYGON);///右眼白
    glColor3f(255/255.0,255/255.0,255/255.0);
    glVertex2f((127-150.0)/150.0,-(138-150.0)/150.0);//左上
    glVertex2f((127-150.0)/150.0,-(141-150.0)/150.0);
    glVertex2f((127-150.0)/150.0,-(144-150.0)/150.0);
    glVertex2f((127-150.0)/150.0,-(146-150.0)/150.0);//左下

    glVertex2f((130-150.0)/150.0,-(147-150.0)/150.0);
    glVertex2f((134-150.0)/150.0,-(148-150.0)/150.0);
    glVertex2f((136-150.0)/150.0,-(149-150.0)/150.0);
    glVertex2f((144-150.0)/150.0,-(153-150.0)/150.0);
    glVertex2f((148-150.0)/150.0,-(156-150.0)/150.0);
    glVertex2f((151-150.0)/150.0,-(158-150.0)/150.0);
    glVertex2f((154-150.0)/150.0,-(161-150.0)/150.0);//右下
    glVertex2f((158-150.0)/150.0,-(161-150.0)/150.0);
    glVertex2f((162-150.0)/150.0,-(160-150.0)/150.0);
    glVertex2f((167-150.0)/150.0,-(158-150.0)/150.0);
    glVertex2f((172-150.0)/150.0,-(155-150.0)/150.0);
    glVertex2f((176-150.0)/150.0,-(150-150.0)/150.0);
    glVertex2f((178-150.0)/150.0,-(146-150.0)/150.0);
    glVertex2f((180-150.0)/150.0,-(138-150.0)/150.0);
    glVertex2f((179-150.0)/150.0,-(132-150.0)/150.0);
    glVertex2f((178-150.0)/150.0,-(130-150.0)/150.0);
    glVertex2f((175-150.0)/150.0,-(125-150.0)/150.0);//右上
    glVertex2f((162-150.0)/150.0,-(129-150.0)/150.0);
    glVertex2f((155-150.0)/150.0,-(130-150.0)/150.0);
    glVertex2f((150-150.0)/150.0,-(132-150.0)/150.0);
    glVertex2f((144-150.0)/150.0,-(133-150.0)/150.0);
    glVertex2f((140-150.0)/150.0,-(134-150.0)/150.0);
    glVertex2f((135-150.0)/150.0,-(136-150.0)/150.0);
    glVertex2f((130-150.0)/150.0,-(137-150.0)/150.0);
    glVertex2f((127-150.0)/150.0,-(138-150.0)/150.0);
    glEnd();
    glBegin(GL_POLYGON);///左眼珠
    glColor3f(0/255.0,0/255.0,0/255.0);
    glVertex2f((105-150.0)/150.0,-(133-150.0)/150.0);
    glVertex2f((100-150.0)/150.0,-(135-150.0)/150.0);
    glVertex2f((98-150.0)/150.0,-(139-150.0)/150.0);
    glVertex2f((101-150.0)/150.0,-(147-150.0)/150.0);
    glVertex2f((105-150.0)/150.0,-(149-150.0)/150.0);
    glVertex2f((111-150.0)/150.0,-(148-150.0)/150.0);
    glVertex2f((114-150.0)/150.0,-(144-150.0)/150.0);
    glVertex2f((115-150.0)/150.0,-(138-150.0)/150.0);
    glVertex2f((112-150.0)/150.0,-(134-150.0)/150.0);
    glVertex2f((109-150.0)/150.0,-(133-150.0)/150.0);
    glVertex2f((105-150.0)/150.0,-(133-150.0)/150.0);

    glEnd();
    glBegin(GL_POLYGON);///右眼珠
    glColor3f(0/255.0,0/255.0,0/255.0);
    glVertex2f((137-150.0)/150.0,-(135-150.0)/150.0);
    glVertex2f((135-150.0)/150.0,-(139-150.0)/150.0);
    glVertex2f((135-150.0)/150.0,-(143-150.0)/150.0);
    glVertex2f((137-150.0)/150.0,-(146-150.0)/150.0);
    glVertex2f((141-150.0)/150.0,-(149-150.0)/150.0);
    glVertex2f((147-150.0)/150.0,-(149-150.0)/150.0);
    glVertex2f((150-150.0)/150.0,-(147-150.0)/150.0);
    glVertex2f((152-150.0)/150.0,-(141-150.0)/150.0);
    glVertex2f((152-150.0)/150.0,-(138-150.0)/150.0);
    glVertex2f((148-150.0)/150.0,-(134-150.0)/150.0);
    glVertex2f((147-150.0)/150.0,-(133-150.0)/150.0);
    glVertex2f((143-150.0)/150.0,-(133-150.0)/150.0);
    glVertex2f((139-150.0)/150.0,-(134-150.0)/150.0);
    glVertex2f((137-150.0)/150.0,-(135-150.0)/150.0);
    glEnd();
    glBegin(GL_POLYGON);///皮膚底
    glColor3f(221/255.0,191/255.0,166/255.0);
    glVertex2f((42-150.0)/150.0,-(226-150.0)/150.0);
    glVertex2f((45-150.0)/150.0,-(218-150.0)/150.0);
    glVertex2f((52-150.0)/150.0,-(209-150.0)/150.0);
    glVertex2f((58-150.0)/150.0,-(202-150.0)/150.0);
    glVertex2f((65-150.0)/150.0,-(196-150.0)/150.0);
    glVertex2f((73-150.0)/150.0,-(190-150.0)/150.0);
    glVertex2f((81-150.0)/150.0,-(186-150.0)/150.0);
    glVertex2f((91-150.0)/150.0,-(187-150.0)/150.0);

    glVertex2f((93-150.0)/150.0,-(184-150.0)/150.0);
    glVertex2f((97-150.0)/150.0,-(190-150.0)/150.0);
    glVertex2f((107-150.0)/150.0,-(201-150.0)/150.0);
    glVertex2f((113-150.0)/150.0,-(207-150.0)/150.0);
    glVertex2f((119-150.0)/150.0,-(210-150.0)/150.0);
    glVertex2f((126-150.0)/150.0,-(216-150.0)/150.0);
    glVertex2f((133-150.0)/150.0,-(213-150.0)/150.0);
    glVertex2f((139-150.0)/150.0,-(210-150.0)/150.0);
    glVertex2f((146-150.0)/150.0,-(206-150.0)/150.0);
    glVertex2f((152-150.0)/150.0,-(200-150.0)/150.0);
    glVertex2f((157-150.0)/150.0,-(194-150.0)/150.0);
    glVertex2f((160-150.0)/150.0,-(190-150.0)/150.0);
    glVertex2f((161-150.0)/150.0,-(188-150.0)/150.0);
    glVertex2f((165-150.0)/150.0,-(186-150.0)/150.0);
    glVertex2f((168-150.0)/150.0,-(185-150.0)/150.0);

    glVertex2f((172-150.0)/150.0,-(185-150.0)/150.0);
    glVertex2f((180-150.0)/150.0,-(188-150.0)/150.0);
    glVertex2f((189-150.0)/150.0,-(192-150.0)/150.0);
    glVertex2f((198-150.0)/150.0,-(196-150.0)/150.0);
    glVertex2f((208-150.0)/150.0,-(204-150.0)/150.0);
    glVertex2f((215-150.0)/150.0,-(208-150.0)/150.0);
    glVertex2f((218-150.0)/150.0,-(212-150.0)/150.0);
    glVertex2f((213-150.0)/150.0,-(218-150.0)/150.0);
    glVertex2f((205-150.0)/150.0,-(224-150.0)/150.0);
    glVertex2f((196-150.0)/150.0,-(228-150.0)/150.0);
    glVertex2f((184-150.0)/150.0,-(234-150.0)/150.0);
    glVertex2f((172-150.0)/150.0,-(238-150.0)/150.0);
    glVertex2f((159-150.0)/150.0,-(242-150.0)/150.0);
    glVertex2f((146-150.0)/150.0,-(244-150.0)/150.0);
    glVertex2f((134-150.0)/150.0,-(244-150.0)/150.0);
    glVertex2f((122-150.0)/150.0,-(244-150.0)/150.0);
    glVertex2f((115-150.0)/150.0,-(245-150.0)/150.0);
    glVertex2f((102-150.0)/150.0,-(244-150.0)/150.0);
    glVertex2f((84-150.0)/150.0,-(241-150.0)/150.0);
    glVertex2f((69-150.0)/150.0,-(238-150.0)/150.0);
    glVertex2f((56-150.0)/150.0,-(233-150.0)/150.0);
    glVertex2f((50-150.0)/150.0,-(230-150.0)/150.0);
    glVertex2f((42-150.0)/150.0,-(226-150.0)/150.0);
    glEnd();
    glBegin(GL_POLYGON);///鼻子
    glColor3f(242/255.0,180/255.0,43/255.0);
    glVertex2f((126-150.0)/150.0,-(149-150.0)/150.0);
    glVertex2f((120-150.0)/150.0,-(151-150.0)/150.0);
    glVertex2f((117-150.0)/150.0,-(153-150.0)/150.0);
    glVertex2f((113-150.0)/150.0,-(155-150.0)/150.0);
    glVertex2f((107-150.0)/150.0,-(159-150.0)/150.0);
    glVertex2f((101-150.0)/150.0,-(164-150.0)/150.0);
    glVertex2f((96-150.0)/150.0,-(168-150.0)/150.0);
    glVertex2f((92-150.0)/150.0,-(173-150.0)/150.0);

    glVertex2f((89-150.0)/150.0,-(179-150.0)/150.0);
    glVertex2f((93-150.0)/150.0,-(183-150.0)/150.0);
    glVertex2f((100-150.0)/150.0,-(185-150.0)/150.0);
    glVertex2f((107-150.0)/150.0,-(187-150.0)/150.0);
    glVertex2f((116-150.0)/150.0,-(188-150.0)/150.0);
    glVertex2f((127-150.0)/150.0,-(190-150.0)/150.0);
    glVertex2f((136-150.0)/150.0,-(189-150.0)/150.0);
    glVertex2f((146-150.0)/150.0,-(187-150.0)/150.0);
    glVertex2f((156-150.0)/150.0,-(185-150.0)/150.0);
    glVertex2f((162-150.0)/150.0,-(184-150.0)/150.0);
    glVertex2f((159-150.0)/150.0,-(172-150.0)/150.0);
    glVertex2f((155-150.0)/150.0,-(167-150.0)/150.0);
    glVertex2f((151-150.0)/150.0,-(163-150.0)/150.0);
    glVertex2f((145-150.0)/150.0,-(158-150.0)/150.0);
    glVertex2f((137-150.0)/150.0,-(153-150.0)/150.0);
    glVertex2f((132-150.0)/150.0,-(151-150.0)/150.0);
    glVertex2f((126-150.0)/150.0,-(149-150.0)/150.0);

    glVertex2f((94-150.0)/150.0,-(186-150.0)/150.0);
    glVertex2f((98-150.0)/150.0,-(191-150.0)/150.0);
    glVertex2f((102-150.0)/150.0,-(196-150.0)/150.0);
    glVertex2f((108-150.0)/150.0,-(202-150.0)/150.0);
    glVertex2f((114-150.0)/150.0,-(206-150.0)/150.0);
    glVertex2f((122-150.0)/150.0,-(210-150.0)/150.0);
    glVertex2f((127-150.0)/150.0,-(212-150.0)/150.0);

    glVertex2f((133-150.0)/150.0,-(209-150.0)/150.0);
    glVertex2f((138-150.0)/150.0,-(206-150.0)/150.0);
    glVertex2f((145-150.0)/150.0,-(201-150.0)/150.0);
    glVertex2f((150-150.0)/150.0,-(196-150.0)/150.0);
    glVertex2f((155-150.0)/150.0,-(189-150.0)/150.0);

    glVertex2f((149-150.0)/150.0,-(190-150.0)/150.0);
    glVertex2f((138-150.0)/150.0,-(192-150.0)/150.0);
    glVertex2f((127-150.0)/150.0,-(193-150.0)/150.0);
    glVertex2f((118-150.0)/150.0,-(192-150.0)/150.0);
    glVertex2f((110-150.0)/150.0,-(190-150.0)/150.0);
    glVertex2f((103-150.0)/150.0,-(188-150.0)/150.0);
    glVertex2f((98-150.0)/150.0,-(187-150.0)/150.0);
    glVertex2f((95-150.0)/150.0,-(187-150.0)/150.0);
    glEnd();
    glBegin(GL_POLYGON);///鼻子黑線
     glColor3f(0/255.0,0/255.0,0/255.0);
    glVertex2f((89-150.0)/150.0,-(179-150.0)/150.0);
    glVertex2f((93-150.0)/150.0,-(183-150.0)/150.0);
    glVertex2f((100-150.0)/150.0,-(185-150.0)/150.0);
    glVertex2f((107-150.0)/150.0,-(187-150.0)/150.0);
    glVertex2f((116-150.0)/150.0,-(188-150.0)/150.0);
    glVertex2f((126-150.0)/150.0,-(190-150.0)/150.0);
    glVertex2f((136-150.0)/150.0,-(189-150.0)/150.0);
    glVertex2f((146-150.0)/150.0,-(187-150.0)/150.0);
    glVertex2f((156-150.0)/150.0,-(185-150.0)/150.0);
    glVertex2f((162-150.0)/150.0,-(184-150.0)/150.0);

    glVertex2f((149-150.0)/150.0,-(190-150.0)/150.0);
    glVertex2f((138-150.0)/150.0,-(192-150.0)/150.0);
    glVertex2f((127-150.0)/150.0,-(193-150.0)/150.0);
    glVertex2f((118-150.0)/150.0,-(192-150.0)/150.0);
    glVertex2f((110-150.0)/150.0,-(190-150.0)/150.0);
    glVertex2f((103-150.0)/150.0,-(188-150.0)/150.0);
    glVertex2f((98-150.0)/150.0,-(187-150.0)/150.0);
    glVertex2f((95-150.0)/150.0,-(187-150.0)/150.0);
    glEnd();

    glBegin(GL_POLYGON);

    glEnd();


    glutSwapBuffers();

}
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);
   }
}
int main(int argc, char**argv)
{

    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("week03!!!");

    glutDisplayFunc(display);
    glutMouseFunc(mouse);
    glutMainLoop();

}
5.獲得憤怒鳥






沒有留言:

張貼留言