#include <GL/glut.h>///使用GLUT外掛
#include <stdio.h>///因為要printf()
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);///清空
glutSolidTeapot(0.3);
glutSwapBuffers();///交換兩倍的buffers
}
void mouse(int button,int state, int x,int y)
{ ///左、中、右鍵 上、下 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("08160935");
glutDisplayFunc(display);
glutMouseFunc(mouse);
glutMainLoop();///主要迴圈
}
#include <GL/glut.h>///使用Glut外掛
int n=0,vx[3000],vy[3000];
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);///清空
glBegin(GL_LINE_LOOP);
for(int i=0;i<n;i++){
glVertex2f((vx[i]-150)/150.0,-(vy[i]-150)/150.0);
} ///減一半,再除一半 減一半,再除一半,加負號
glEnd();
glutSwapBuffers();///交換兩倍的buffers
}
void motion(int x,int y)
{ ///TODO2:mouse motion滑鼠拖曳
vx[n]=x; vy[n]=y;///把vx、vy值存起來
n++;
display();///邊動motion邊畫display()
}
int main(int argc,char**argv)
{
glutInit(&argc,argv);///GLUT初始設定
glutInitDisplayMode(GLUT_DOUBLE |GLUT_DEPTH);
glutCreateWindow("08160935");
glutDisplayFunc(display);///顯示的函式
glutMotionFunc(motion);
glutMainLoop();///主要回圈
}
當旋轉軸是正的,姆指向上,四指的方向是逆時針,所以這裡的圖也是逆時針轉👇




沒有留言:
張貼留言