2020年3月24日 星期二

MEEEEEEEEEEE week04

旋轉跳躍我閉著眼💫💫💫

三個分別是XYZ軸的旋轉

那要怎麼判斷呢
就是伸出你的右手拇指 往XYZ軸的方向插著
其他四根手指頭就是旋轉的方向囉!!!!!

跟著我轉轉轉💫💫

先把旋轉的檔案弄出來
把老師給得程式碼打上去

float myAngle=0;///變數的宣告
static void display(void)
{
    const double t = glutGet(GLUT_ELAPSED_TIME) / 1000.0;
    const double a = myAngle;///角度放進去
void motion(int x, int y)///游標動到哪裡了
{
    myAngle=x;///角度就是X值
}

glutMotionFunc(motion);///加了mouse motion函式 可以捕捉mouse的動態


你就會得到一個跟著你移動旋轉的程式

茶壺轉轉💫

首先是程式碼

#include <GL/glut.h>
float myAngle=0;
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        glRotatef(myAngle, 0,0,1 );
        glutSolidTeapot( 0.3 );
    glPopMatrix();
    glutSwapBuffers();
}
void motion(int x, int y)
{
    myAngle=x;
    display();
}
int main(int argc, char**argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("week 04 rotate");

    glutMotionFunc(motion);
    glutDisplayFunc(display);
    glutMainLoop();
}
其實就是以茶壺的程式為基礎去做變化



起手式一定是先打上程式碼
int oldX=0;
void mouse(int button, int state, int x, int y)
{
    if(state==GLUT_DOWN) oldX = x;
}
void motion(int x, int y)
{
    myAngle += (x-oldX);
    oldX = x;
    display();
}


1 則留言:

  1. 你就會得到一個跟著你誜移動旋轉的程式
    你就會得到一個跟著你誜移動旋轉的程式
    你就會得到一個跟著你誜移動旋轉的程式
    你就會得到一個跟著你誜移動旋轉的程式
    你就會得到一個跟著你誜移動旋轉的程式

    回覆刪除