2018年3月12日 星期一

week03 宇的筆記


一開始先複習上禮拜的內容

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();///畫面隨時更新
}

沒有留言:

張貼留言