2012年4月30日 星期一

作業二 元智一館3D

1.主題介紹:元智一館3D
2.內容:
        利用老師今天上課所教的gluLookAt來實作讓使用者看建築物每個方位的函式
        然後利用glutSolidCube來實作一館
  glMatrixMode(GL_MODELVIEW);
  glLoadIdentity();
  gluLookAt(p1.xpos, p1.ypos, p1.zpos, p1.xpos-(float)sin(p1.heading*piover180)*10.0,
     p1.ypos, p1.zpos-(float)cos(p1.heading*piover180)*10.0, 0.0, 1.0, 0.0);
 //地板
  glPushMatrix();
  glTranslatef(-50.0f, -1.0f, 50.0f);
  glScalef(100,0,100);
  glColor3f(0.5,0.5,0.5);
  glBegin(GL_POLYGON);
    glVertex3f(0,0,0);
    glVertex3f(1,0,0);
    glVertex3f(1,0,-1);
    glVertex3f(0,0,-1);
  glEnd();
  glPopMatrix();
 //一館
  glPushMatrix();
  glTranslatef(-15.0, 0.0f, 10.0f);
  glRotatef(30.0f, 0.0f, 1.0f, 0.0f);
  glColor3f(0.7,0.7,0.7);
  glScalef(2.0f,  0.5f, 0.5f);
  glutSolidCube(10);
  glPopMatrix();
 
  glutSwapBuffers();


3.心得:
       因為還沒有研究出如何在glutSolidCube產生出的立方體上做修改
     所以做出來的一館十分粗糙,瀏覽一館的部分則是利用老師今天上
    課所教的gluLookAt來設定看的人,然後可以做瀏覽的動作,希望可
    以在下次做元智全地圖的時候完成更精細地圖物件的動作。


沒有留言:

張貼留言