2020年3月24日 星期二

Sunnnnnnnnnnnnnn


Di4週


Today教旋轉
用上次的模型來確認x,y,z軸怎麼旋轉

安培右手定則
拇指是竹籤,往另外四隻手指的方向轉


x,y都為正的話
就是這樣轉的 往一個阿秋八的方向
之後把程式碼改成glutMotionFunc(motion)
用它來偵測滑鼠現在的位置跟軌跡
並寫一個void程式給它




之後記得在前面先float myAngle程式才會認識它
再把旋轉角度a改成myAngle
執行程式之後就能按著滑鼠旋轉它




班上有垃圾在吵,
破腦,
心情不好  
單押x3 地!

又4上週地的茶壺
不過這次寫了旋轉的程式碼
讓我們可以用滑鼠旋轉它 good!

-----
程式碼:
#include <GL/glut.h>
float myAngle=0; ///宣告角度
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);///清畫面
    glPushMatrix();
        glRotatef(myAngle, 0,0,1 );///對z軸做旋轉
        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); ///加motion函式
    glutDisplayFunc(display);
    glutMainLoop();
}
-----

最終的結果改了這些程式碼
讓你滑鼠點的時候茶壺不會跳來跳去o


蜥蜴王國




7 則留言: