2021年3月15日 星期一

week04

 本周繼上星期所學,延伸出更進階的程式碼如下

                                            1.


程式碼:

#include <GL/glut.h>
#include <stdio.h>
void display(){
    glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glutSolidTeapot(0.3);
    glutSwapBuffers();}
void mouse( int button, int state,int x,int y){
    printf("button:%d state:%d x:%d y:%d\n",button,state,x,y);}
int main(int argc,char** argv){
   glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE |GLUT_DEPTH);
    glutCreateWindow("week04 mouse");
    glutDisplayFunc( display );
    glutMouseFunc(mouse);
    glutMainLoop();}

2.
程式碼:
#include <GL/glut.h>
#include <stdio.h>
void display(){
    glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glutSolidTeapot(0.3);
    glutSwapBuffers();}
void mouse( int button, int state,int x,int y){
    if( state==GLUT_DOWN){如果mouse按下去,印出程式碼
        printf(" glVertex3f((%d-150)/150.0,-(%d-150)/150.0,0);\n",x,y);}
    printf("button:%d state:%d x:%d y:%d\n",button,state,x,y);}
int main(int argc,char** argv){
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE |GLUT_DEPTH);
    glutCreateWindow("week04 mouse");

    glutDisplayFunc( display );display顯示函式
    glutMouseFunc(mouse);TODO:(1)mouse滑鼠的程式
    glutMainLoop();
}

3.
程式碼:
#include <GL/glut.h>
#include <stdio.h>
float teapotX=0, teapotY=0;茶壺的座標
void display(){
    glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();矩陣備份
        glTranslatef(teapotX,teapotY,0);照著座標,移動
        glutSolidTeapot(0.3);
    glPopMatrix();矩陣還原
    glEnd();
    glutSwapBuffers();}
void motion( int x,int y){
    teapotX=(x-150)/150.0;換算座標
    teapotY=(x-150)/150.0;
    display();}
int main(int argc,char** argv){
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE |GLUT_DEPTH);
    glutCreateWindow("week04 mouse");
    glutDisplayFunc( display );display顯示函式
    glutMotionFunc(motion);TODO:(1)mouse滑鼠的函式
    glutMainLoop();}準備mouse motion移動時的函式

4.
藉由此程式,讓我們學習到利用x,y,z軸中,掌握到物件旋轉的方向,其中能利用x,y,z軸並搭配右手安培定律,便可得知物件移動的方向(而x軸方向為向左,y軸方向為向右,z軸方向為旋轉後的方向)

5.
透過github架設一個屬於自己的網站!










沒有留言:

張貼留言

Week18期末作業(橘貓的跳舞熊熊)

 期末作業(橘貓的跳舞熊熊) 影片: https://youtu.be/R89tptMaQZw 程式碼: #include <opencv/highgui.h> #include <opencv/cv.h> #include <GL/glut.h...