1.主題介紹:主題是元智一館3D導覽
2.過程與成果展示:
為了不讓使用者覺得只是在看一個方塊的不同角度,多畫六館讓使用者更有感覺。
void keyboard(unsigned char key, int x, int y)
{
}
void specialkey(int key, int x, int y)
{
switch( key ) {
case GLUT_KEY_UP:
p1.xpos -= (float)sin(p1.heading*piover180)*0.1 ;
p1.zpos -= (float)cos(p1.heading*piover180)*0.1 ;
break;
case GLUT_KEY_DOWN:
p1.xpos += (float)sin(p1.heading*piover180)*0.1 ;
p1.zpos += (float)cos(p1.heading*piover180)*0.1;
break;
case GLUT_KEY_LEFT:
p1.heading += 2.0f;
p1.yrot = p1.heading;
break;
case GLUT_KEY_RIGHT:
p1.heading -= 2.0f;
p1.yrot = p1.heading;
break;
};
glutPostRedisplay();
}
{
}
void specialkey(int key, int x, int y)
{
switch( key ) {
case GLUT_KEY_UP:
p1.xpos -= (float)sin(p1.heading*piover180)*0.1 ;
p1.zpos -= (float)cos(p1.heading*piover180)*0.1 ;
break;
case GLUT_KEY_DOWN:
p1.xpos += (float)sin(p1.heading*piover180)*0.1 ;
p1.zpos += (float)cos(p1.heading*piover180)*0.1;
break;
case GLUT_KEY_LEFT:
p1.heading += 2.0f;
p1.yrot = p1.heading;
break;
case GLUT_KEY_RIGHT:
p1.heading -= 2.0f;
p1.yrot = p1.heading;
break;
};
glutPostRedisplay();
}
這段code是在控制使用者的鍵盤上下左右移動
視角一
視角二,圖右邊為六館。
3.心得:這次的作業一館跟六館還是沒有畫的很漂亮,是有點偷懶的只用三個方形去代表一館跟六館,不過這次的作業目的在於讓我們知道怎麼使用gluLookAt,glTranslate, glRotate。
沒有留言:
張貼留言