今天老師上課前先教了萬花尺
接著老師教了上星期學的Transformation
點選右鍵第二個的Swap translate/rotate可以改變
點擊後一二行程式碼會互換,執行順序會改變
glTranslatef///搬到右邊的
glRotatef///旋轉的
glScalef///胖胖的
glBegin///藍色的車子
由下往上讀,以這樣的方式來執行程式碼
接著打開上星期的程式碼先自己畫個圖
#include<GL/glut.h>
int N=0,vx[3000],vy[3000];
float angle=0;///TODO:
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);///清空
glPushMatrix();
glRotatef(angle,0,0,1);///TODO:旋轉,對z軸轉
glBegin(GL_LINE_LOOP);
for(int i=0;i<N;i++)
{
glVertex2f((vx[i]-150)/150.0,-(vy[i]-150)/150.0);
}///減一半,再除一半 減一半,再除一半,加負號
glEnd();
glPopMatrix();
glutSwapBuffers();
}
void keybord(unsigned char key,int x,int y)
{
angle++;///TODO:
display();///TODO:
}
void motion(int x,int y)
{///TODO2:mouse motion在拖動它
vx[N]=x;vy[N]=y;//把vx,vy存起來
N++;
display();///邊動mouse motion,邊畫display()
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("08160093");
glutDisplayFunc(display);
glutKeyboardFunc(keybord);///TODO:按按鍵,它就會轉動!!!
glutMotionFunc(motion);///TODO2:mouse motion在動
glutMainLoop();
}
螢光筆圈起來的部分是今天上課教的,按下空白鍵後即可轉動







沒有留言:
張貼留言