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是在控制使用者的鍵盤上下左右移動
glEnable( GL_DEPTH_TEST );
p1.xpos=5.0;
p1.ypos=0.3;
p1.zpos=5.0;
p1.heading=0.0;
return (0);
}
p1.xpos=5.0;
p1.ypos=0.3;
p1.zpos=5.0;
p1.heading=0.0;
return (0);
}
視角一
視角二
視角三
3.心得:這次的作業我是拿上次的作業加以改良所寫成的,由於上次已經畫了一館跟六館,而這次則把剩餘的建築物補上。


