2023年3月1日 星期三

Yuuta's-week03-Cube and Robot

電腦圖學 2023-03-01 Week03

1. 技巧: 用 mouse 幫忙寫作業
2. 主題: 移動 Translate
3. 實作: glTranslatef(x,y,z) 配合 glPushMatrix() glPopMatrix()
4. 問題與回覆Q&A: Blog, 作業

URL: https://jsyeh.org/3dcg10/
開啟Transformation











#include <GL/glut.h>
void display()
{
    glPushMatrix(); ///備份矩陣
        glTranslatef(0.5, 0, 0);
        glutSolidTeapot(0.3);
    glPopMatrix(); ///還原矩陣
    glutSwapBuffers();
}
int main(int argc, char* argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB|GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("week03");

    glutDisplayFunc(display);

    glutMainLoop();
}












#include <GL/glut.h>
void display()
{
    glPushMatrix(); ///備份矩陣
        glTranslatef(0.5, 0, 0);
        glutSolidTeapot(0.3);
    glPopMatrix(); ///還原矩陣
    glutSwapBuffers();
}
#include <stdio.h>
void mouse(int button, int state, int x, int y)
{
    ///button代表滑鼠左右鍵, state代表是否有按按鍵
    printf("%d %d %d %d\n", button, state, x, y);
}
int main(int argc, char* argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB|GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("week03");

    glutDisplayFunc(display);
    glutMouseFunc(mouse);

    glutMainLoop();


///state: 按下去是0, 放開是1








滑鼠按鍵移動茶壺
>>gist.github.com













滑鼠畫圖


沒有留言:

張貼留言