2022年3月8日 星期二

ఠ_ఠ week03

 Week03

(1)Translate

1-1. 在 https://jsyeh.org/3dcg10,下載data , win32

1-2. 解壓縮,把data放到windows裡

11,.4個茶壺

#include <GL/glut.h>

void myTeapot(float x,float y)

{

    glPushMatrix();///備份矩陣

    ///移動會累積,因為它會修改矩陣

        //glTranslatef(0.5,0.5,0);///右上角

        glTranslatef(x,y,0);

        glColor3f(1,1,0);///黃色

        glutSolidTeapot(0.3);///茶壺

    glPopMatrix();///還原矩陣

}

void display()

{

    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

    myTeapot(0.5,0.5);

    myTeapot(0.5,-0.5);

    myTeapot(-0.5,-0.5);

    myTeapot(-0.5,0.5);

    glutSwapBuffers();

}

int main(int argc,char** argv)

{

    glutInit(&argc,argv);

    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);

    glutCreateWindow("week03 移動");

    glutDisplayFunc(display);

    glutMainLoop();

}


22茶壺跟著滑鼠

#include <GL/glut.h>

float mouseX=0,mouseY=0;

void myTeapot(float x,float y)


{


    glPushMatrix();///備份矩陣


        glTranslatef(x,y,0);


        glColor3f(1,1,0);///黃色


        glutSolidTeapot(0.3);///茶壺


    glPopMatrix();///還原矩陣


}


void display()


{


    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);


    myTeapot((mouseX-150)/150.0,-(mouseY-150)/150.0);


    glutSwapBuffers();


}

void mouse(int button,int state,int x,int y)

{

    mouseX=x; mouseY=y;

}


int main(int argc,char** argv)


{


    glutInit(&argc,argv);


    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);


    glutCreateWindow("week03 移動");


    glutDisplayFunc(display);

    glutMouseFunc(mouse);


    glutMainLoop();


}






沒有留言:

張貼留言

VERY BEAUTIFUL, VERY POWERFUL

一.     一樣先安裝且設定好freeglut,OpecCV, 開啟CodeBlocks建立新專案 week11_gundam,                 把 MyGundam.zip下載解壓縮後的data資料夾放到freeglut/bin裡面 把week09_openc...