三维图形的生成计算机图形学源代码及报告..docVIP

  • 128
  • 0
  • 约 7页
  • 2017-01-03 发布于重庆
  • 举报

三维图形的生成计算机图形学源代码及报告..doc

实验报告 《计算机图形学》 课题:三维图形的生成 指导教师:郭芬红 2013年5月 三维图形的生成 目的 加深对计算机图形学的理解。 熟悉Visual C++ OpenGL的编程方法。 学习用编程方法绘制三维图形。 实验原理 Void CALLBACK display(void) { glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0,1.0,1.0); glLoadIdentity(); glTranslatef(0.0,0.0,-5.0); glScalef(1.0,2.0,1.0); auxWireCube(1.0); glFlush(); } //画图 void CALLBACK stepDisplay(void) { rtri+=0.01; display(); } void CALLBACK myReshape(GLsizei w,GLsizei h) { glMatrixMode(GL_PROJECTION); glLoadIdentity(); glFrustum(-1.0,1.0,-1.0,1.0,1.5,20.0); glMatrixMode(GL_MODELVIEW); glViewport(0,0,w,h); } //旋转 实验步骤 复习OpenGL语言。 编写图形生成程序,分析绘制结果。 实验内容 #includegl/glaux.h #pragma comment(lib,glaux.lib) #pragma comment(lib,opengl32.lib) #pragma comment(lib,glu32.lib) GLfloat rtri=0; void myinit(void) { glShadeModel(GL_SMOOTH); } void CALLBACK display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清除屏幕及深度缓存 glLoadIdentity(); // 重置模型观察矩阵 glTranslatef(-1.5,0.0,-6.0); // 左移 1.5 单位,并移入屏幕 6.0 glRotatef(rtri,0.0,1.0,0.0); // 绕Y轴旋转正方体 glBegin(GL_TRIANGLES); // 开始绘制金字塔的各个面 glColor3f(1.0f,0.0f,0.0f); // 红色 glVertex3f( 0.0f, 1.0f, 0.0f); // 三角形的上顶点 (前侧面) glColor3f(0.0f,1.0f,0.0f); // 绿色 glVertex3f(-1.0f,-1.0f, 1.0f); // 三角形的左下顶点 (前侧面) glColor3f(0.0f,0.0f,1.0f); // 蓝色 glVertex3f( 1.0f,-1.0f, 1.0f); // 三角形的右下顶点 (前侧面) glColor3f(1.0f,0.0f,0.0f); // 红色 glVertex3f( 0.0f, 1.0f, 0.0f); // 三角形的上顶点 (右侧面) glColor3f(0.0f,0.0f,1.0f); // 蓝色 glVertex3f( 1.0f,-1.0f, 1.0f); // 三角形的左下顶点 (右侧面) glColor3f(0.0f,1.0f,0.0f); // 绿色 glVertex3f( 1.0f,-1.0f, -1.0f); // 三角形的右下顶点 (右侧面) glColor3f(1.0f,0.0f,0.0f); // 红色 glVertex3f( 0.0f, 1.0f, 0.0f); // 三角形的上顶点 (后侧面) glColor3f(0.0f,1.0f,0.0f); // 绿色 glVertex3f( 1.0f,-1.0f, -1.0f); // 三角形的左下顶点 (后侧面) glColor3f(0.0f,0.0f,1.0f); // 蓝色 glVertex3f(-1.0f,-1.0f, -1.0f); // 三角形的右下顶点 (后侧面) glColor3f(1.0f,0.0f,0.0f); // 红色 glVertex3f( 0.0f, 1.0f, 0.0

文档评论(0)

1亿VIP精品文档

相关文档