2020年3月17日 星期二

泡泡茶壺~味噌湯






#include <GL/glut.h>   //使用glutxxxx() ,glxxxx()
#include <stdio.h>       //printf()

float teapotX=0 ,teapotY=0; ///-1.0~+1.0的座標
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//清除背景
    glPushMatrix();//備分矩陣 備份這個位置
        glTranslatef(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;   ///任務x :0..300 變成-1....+1
    teapotY =-(y-150)/150.0; ///任務y:300...0變成-1...+1
}
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); //開始畫
        glColor3f(124/255.0,87/255.0,105/255.0);///RGB三原色/255.0
        glVertex2f((156-150)/150.0, -(35-150)/150.0);///設定4個點 4個點會形成形狀
        glVertex2f((138-150)/150.0, -(59-150)/150.0);
        glVertex2f((124-150)/150.0, -(87-150)/150.0);

         ///方位計算((0...150...300)-150) /150.0== -1~+1;
          ///           1       計算位址x,y
         ////           |
         ////  -1 一 |一1
         ///            |
       ////            -1
        glEnd();              //畫完
        glutSwapBuffers();


}


void mouse(int button,int state,int x,int y)
{
 
    if(state==GLUT_DOWN){

            printf("glVertex2f((%d-150)/150 ,-(%d-150)/150;\n",x,y);
    }
}
int main(int argc,char**argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE| GLUT_DEPTH);
    glutCreateWindow("week03");

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

}




沒有留言:

張貼留言