一開始先複習上禮拜的內容
1.逐行講解每行程式的意思

說明作業時常見的錯誤
1.使用 GL_POLYGON 時
如果描繪的圖形是凹多邊形,圖形會出問題
裁剪成多個凸多邊形即可解決

2.點和線的連接方式

滑鼠函式
void mouse(int button, int state, int x, int y)
///滑鼠控制 button代表滑鼠左右鍵 state代表是否按下 x y是滑鼠的x y座標
{
if(state==GLUT_DOWN)///當滑鼠按下時 顯示出換算過的座標點 方便作圖
printf("glVertex2f(%f, %f);\n",(x-150)/150.0,-(y-150/150.0));
}
滑鼠左鍵>>0
滑鼠中鍵>>1
滑鼠右鍵>>2
Down>>0
Up>>1

移動函式
glPushMatrix();///備份矩陣
glTranslatef(teax,teay,0);///移動的位置參數
glColor3f(1,0,0);
glutSolidTeapot(0.3);
glPopMatrix();///還原矩陣
void motion(int x,int y)
{
teax=(x-150)/150.0;teay=-(y-150)/150.0;
printf("%d %d\n",x,y);
glutPostRedisplay();///畫面隨時更新
}
沒有留言:
張貼留言