X-opengl的立方体的简单三维交互式几何变换实验报告+代码.docVIP

  • 7
  • 0
  • 约7.26千字
  • 约 18页
  • 2017-10-18 发布于浙江
  • 举报

X-opengl的立方体的简单三维交互式几何变换实验报告+代码.doc

X-opengl的立方体的简单三维交互式几何变换实验报告代码

立方体的简单三维交互式几何变换 立方体的简单三维交互式几何变换。 功能:键盘的方向键实现立方体的上下左右平移;A键,S键分别实现向前,向后旋转;J键,K键分别实现放大,缩小;C键退出。 程序模块: 1.重绘回调函数,在窗口首次创建或用户改变窗口尺寸时被调用。 void reshape(int w, int h) { glViewport(0, 0, w, h);// 指定视口的位置和大小 glMatrixMode(GL_PROJECTION); glLoadIdentity(); //glFrustum(-1.0, 1.0, -1.0, 1.0, 3.1, 10.0); //gluPerspective(45,1,0.1,10.0); glOrtho(-2.0, 2.0, -2.0, 2.0, 2.0, 10.0); } 2.绘制一个立方体。 void DrawBox() { glBegin(GL_QUADS); //前面 glColor3f(1,0,0); glVertex3f(-1.0f, -1.0f, 1.0f); // 四边形的左下 glVertex3f( 1.0f, -1.0f, 1.0f); // 四边形的右下 glVertex3f( 1.0f, 1.0f, 1.0f); // 四边形的右上 glVertex3f(-1.0f, 1.0f, 1.0f); // 四边形的左上 // 后面 glColor3f(0,1,0); glVertex3f(-1.0f, -1.0f, -1.0f); // 四边形的右下 glVertex3f(-1.0f, 1.0f, -1.0f); // 四边形的右上 glVertex3f( 1.0f, 1.0f, -1.0f); // 四边形的左上 glVertex3f( 1.0f, -1.0f, -1.0f); // 四边形的左下 // 顶面 glColor3f(0,0,1); glVertex3f(-1.0f, 1.0f, -1.0f); // 四边形的左上 glVertex3f(-1.0f, 1.0f, 1.0f); // 四边形的左下 glVertex3f( 1.0f, 1.0f, 1.0f); // 四边形的右下 glVertex3f( 1.0f, 1.0f, -1.0f); // 四边形的右上 // 底面 glColor3f(1,1,0); glVertex3f(-1.0f, -1.0f, -1.0f); // 四边形的右上 glVertex3f( 1.0f, -1.0f, -1.0f); // 四边形的左上 glVertex3f( 1.0f, -1.0f, 1.0f); // 四边形的左下 glVertex3f(-1.0f, -1.0f, 1.0f); // 四边形的右下 // 右面 glColor3f(0,1,1); glVertex3f( 1.0f, -1.0f, -1.0f); // 四边形的右下 glVertex3f( 1.0f, 1.0f, -1.0f); // 四边形的右上 glVertex3f( 1.0f, 1.0f, 1.0f); // 四边形的左上 glVertex3f( 1.0f, -1.0f, 1.0f); // 四边形的左下 // 左面 glColor3f(1,0,1); glVertex3f(-1.0f, -1.0f, -1.0f); // 四边形的左下 glVertex3f(-1.0f, -1.0f, 1.0f); // 四边形的右下 glVertex3f(-1.0f, 1.0f, 1.0f); // 四边形的右上 glVertex3f(-1.0f, 1.0f, -1.0f); // 四边形的左上 glEnd(); } 3.该模块设置屏幕颜色和深度缓存,设置立方体的平移,缩放,旋转变换。 void display() { glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT

文档评论(0)

1亿VIP精品文档

相关文档