1 / 67
文档名称:

图形学实验报告.docx

格式:docx   大小:203KB   页数:67页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

图形学实验报告.docx

上传人:pppccc8 2019/7/14 文件大小:203 KB

下载得到文件列表

图形学实验报告.docx

文档介绍

文档介绍::..计算机图形学实验报告书姓名:班级:学号:中南大学软件学院二0—、性质与目的计算机图形学是软件工程专业的一门专业技术课程。计算机图形学应用于生产、工程、文化和艺术等领域,该课程对于培养和提高学生的算法设计和实现能力具有非常重要的意义。该课程以培养学生算法设计与实现的能力为目标,通过课堂教学和实验,使学生了解、掌握计算机图形学的基本知识和关键技术、了解和熟悉计算机图形学的方法、工具和环境。:、基本图元绘制;;;,绘制旋转抛物面;;;,绘制Bezier曲线,Hermite曲线;,绘制Bezier曲面。、 实验环境配置、基本图元绘制配置基本实验环境、安装软件包、建立工程和绘制基本图元,要求学会点、线、三角形、四边形的绘制方法,学会消息传递和响应机制,用一个实例完成上述要求。2、 绘制抛物线和正弦曲线计算抛物线和正弦曲线,将结果存放在一个数组中,再用OpenGL函数绘制相应的图形。3、 图形变换要求学会投影、视口变换、旋转、平移和缩放的编程方法,用一个实例完成上述要求。4颜色和光照要求学会光源设置、材质设置和法向量设置,用一个实例(如旋转抛物面)完成上述要求。5、 显示列表要求学会用显示列表输出文字和图形,用一个实例完成上述要求。6、 纹理映射要求学会将纹理图像映射到物体表面,用一个实例完成上述要求。7、 复杂图形绘制要求学会Bezier曲线和Hermite曲线的绘制方法。8、 复杂图形绘制绘制Bezier«;要求设置光源、材质和法向量,并进行纹理映射,用键盘控制是否进行纹理映射。、实验环境配置、基本图元绘制配置基本实验环境、安装软件包、建立工程和绘制基本图元,要求学会点、线、三角形、四边形的绘制方法,学会消息传递和响应机制,用一个实例完成上述要求。步骤:基本实验环境:Win7实验工具:MicrosoftvisualC++,VisualAssistX10」」626实验实例:画线:#include<GL/>#include<>#include<>staticfloatrotAngle=0.;voidinit(void){GLfloatvaluesf2];glGetFloatv(GL_LINE_WIDTH_GRANULARITY,values);printf(MGL_LINE_WIDTH_GRANULARITYvalueis%,values[0J);glGetFloatv(GL_LINE_WIDTH_RANGE,values);printf(HGL_LINE_WIDTH_RANGEvaluesare%%",values[0],values[l]);glEnable(GL_LINE_SMOOTH);glEnable(GL_BLEND);glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);glHint(GL_LINE_SMOOTH_HINT,GL_DONT_CARE);gILineWidth();glClearColor(0.(),().0,,);〃将背景设置为黑色voiddisplay(void){glClear(GL_COLOR_BUFFER_BIT);//Jf除缓存glColor3f(,,); 〃设置颜色为白色glPushMatrix();glRotatef(-rotAngle,,,0」);glBegin(GL_LINES);〃开始画线glVertex2f(-,); 〃设置第一根线的两个端点glVertex2f(,-);glEnd();〃画线结束glPopMatrix();glPushMatrix();glRotatef(rotAngle,,,);glBegin(GL_LINES);〃开始画线glVertex2f(,);〃设置第二个点的两个端点glVertex2f(-,-);glEnd();〃第二次画线结束glPopMatrixO;〃绘图结束glFlush();}voidreshape(intw,inth) 〃重绘方法{glViewport(0,0,w,h);glMatrixMode(GL_PROJECTION);glLoadldentityO;if(w<=h) 〃改变角度,设置旋转方