電腦圖學 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
滑鼠畫圖


沒有留言:
張貼留言