计算机图形学实验指导书.doc_第1页
计算机图形学实验指导书.doc_第2页
计算机图形学实验指导书.doc_第3页
计算机图形学实验指导书.doc_第4页
计算机图形学实验指导书.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机科学与技术系 计算机图形学实验指导书计算机图形学实验指导书计算机科学与技术系2007年6月目 录实验一:图形填充和剪裁1实验二:曲线和曲面的绘制2实验三:真实感图形绘制4附录 Borland C+ 图形(BGI)函数简介78实验一:图形填充和剪裁一、 实验目的1理解和掌握二维图形区域单色填充的原理和算法;2理解和掌握剪裁图形的原理和算法。二、 实验内容1 以多边形为对象,选择种子填充或扫描填充算法, 设计和实现多边形的单色填充;2 设计多边形裁剪的算法和程序,并能演示裁剪过程。三、 实验设备及工具1硬件:PC机Pentium100以上。2软件:Win2000或WinXP、BC+、VC+或OpenGL开发环境。四、 实验说明1 使用种子填充算法或扫描线填充算法填充任一多边形区域,多边形的顶点数和各顶点x,y坐标可由终端输入。对于种子填充算法要输入种子象素的x,y坐标。对于扫描线填充算法要输入扫描线间距。2 使用编码法裁剪二维线段或逐边裁剪算法裁剪多边形,并编程。输入裁剪窗口的四条边坐标。对于编码法裁剪二维线段要输入线段的起点与终点x,y坐标。对于逐边裁剪算法裁剪多边形要输入多边形的顶点数及各顶点x,y坐标。五、 实验步骤1 设计要填充的图形;2 选择填充算法;3 编程实现并观察效果。有兴趣的同学可以对不同填充方法进行比较。4 选择裁剪算法; 5 编程实现并观察效果。有兴趣的同学可以对不同填充方法进行比较。六、 实验类型验证性实验。七、 实验学时3学时。八、 考核方式本实验总分为5分,具体评分标准如下:5分:实验准备充分,上机准时,能独立编写和调试程序,结果正确,实验报告内容齐全,格式规范。4分:实验准备良好,上机准时,能在教师指导下顺利编写和调试程序,结果较正确,实验报告内容比较齐全,格式比较规范。3分:实验准备较好,上机准时,基本完成实验任务,实验报告内容基本齐备,结果基本正确。2分:程序功能模块基本完整,但没有完成程序调试,无实验结果,提交了实验报告且有重大缺陷。1分:程序功能模块不完整,有重大问题,没有完成程序调试,无实验结果,提交的实验报告有重大缺陷。0分:没有参加实验,没有提交实验报告。九、 思考题1凸多边形和凹多边形在剪裁中会遇到什么不同的问题?2多边形的图案填充应注意哪些问题? 3画笔软件中的填充采用的是什么方法?4三维剪裁应考虑哪些问题?实验二:曲线和曲面的绘制一、 实验目的1 了解曲线、曲面的性质、定义、表示方法及参数形式;2 理解插值和逼近样条的概念;3 掌握连续性条件;4 掌握Bezier及NURBS曲线、曲面生成方法。二、 实验内容可选择下面任意一项完成。1 采用贝塞尔曲线、曲面绘制自行设计的图形;2 采用NURBS曲线、曲面绘制自行设计的图形。三、 实验设备及工具1硬件:PC机Pentium100以上。2软件:Win2000或WinXP、BC+、VC+或OpenGL开发环境。四、 实验提示本次实验是设计性实验,可综合运用所学知识,把实验内容当成产品设计,注意曲线和曲面的光滑连续,可考虑光照和着色。五、 实验要求1. 设计要求绘制n次Bezier曲线时,应可以输入控制点个数及控制点x,y坐标,输入数据可以放到文本文件中,以便调试。对于三次Bezier曲线,用多个曲线段拼接而成,并且要求曲线一阶导数连续。绘制Bezier曲面时,应可以输入控制多面体的顶点坐标与曲线的间距。绘制NURBS曲线时,应可以输入控制曲线顶点坐标及权因子;绘制NURBS曲面时,可以输入控制曲面的顶点坐标与权因子。2. 关于设计性报告的书写:(1) 请在实验报告中写明实验内容和要求,详细阐述解决问题的思路和方法;(2) 分析有哪些可选方案,采用目前方案的原因和理由;(3) 讲明选择了哪种语言进行设计,其优势在哪里;(4) 若对算法有所改进或思考,也请加以阐述;(5) 解释在程序设计中采用的哪种数据结构,其优点是什么?(6) 较详细地画出流程图,对程序代码加以注释;(7) 对实验结果进行分析,对存在问题提出改进思路。六、 实验类型设计性实验。七、 实验学时3学时。八、 考核方式本实验总分为5分,具体评分标准如下:5分:实验准备充分,上机准时,能独立编写和调试程序,结果正确,实验报告内容齐全,格式规范。4分:实验准备良好,上机准时,能在教师指导下顺利编写和调试程序,结果较正确,实验报告内容比较齐全,格式比较规范。3分:实验准备较好,上机准时,基本完成实验任务,实验报告内容基本齐备,结果基本正确。2分:程序功能模块基本完整,但没有完成程序调试,无实验结果,提交了实验报告且有重大缺陷。1分:程序功能模块不完整,有重大问题,没有完成程序调试,无实验结果,提交的实验报告有重大缺陷。0分:没有参加实验,没有提交实验报告。实验三:真实感图形绘制一、 实验目的掌握建模、变换、消隐、光照、纹理等绘制模拟真实世界的景物方法和技术。二、 实验内容绘制含有直线段、圆或圆弧的图形,编写生成该图形的源程序,并对该图形进行平移、比例、旋转等几何变换。三、 实验设备及工具1硬件:PC机Pentium100以上。2软件:Win2000或WinXP、OpenGL开发环境。四、 实验说明自行设计简单景物模型,建立形体的参数模型。采用图形的几何变换方法将所定义物体的投影图绘制出来,然后进行消隐处理。再着以光照和纹理技术,表现其真实感效果。五、 实验步骤1 设计景物的结构形状,建立合理的参数模型;2 对图形进行几何变换,变换参数可以固定也可以设计成可调;3 建立合理的消隐算法模型;4 选择材质,进行纹理映射,加入光照模型;5 全方位展示构图效果。六、 实验类型综合性实验。七、 实验学时3学时。八、 考核方式本实验总分为5分,具体评分标准如下:5分:实验准备充分,上机准时,能独立编写和调试程序,结果正确,实验报告内容齐全,格式规范。4分:实验准备良好,上机准时,能在教师指导下顺利编写和调试程序,结果较正确,实验报告内容比较齐全,格式比较规范。3分:实验准备较好,上机准时,基本完成实验任务,实验报告内容基本齐备,结果基本正确。2分:程序功能模块基本完整,但没有完成程序调试,无实验结果,提交了实验报告且有重大缺陷。1分:程序功能模块不完整,有重大问题,没有完成程序调试,无实验结果,提交的实验报告有重大缺陷。0分:没有参加实验,没有提交实验报告。九、 思考题1所采用的建模方法的优劣?提出改进思路。2介绍所采用的投影和消隐方法,提出改进设想。3介绍所采用的纹理和光照模型,提出改进设想。附录 Borland C+ 图形(BGI)函数简介在Borland C+系统中,显示模式分为文本模式和图形模式两种。当显示图形时,必须驱动图形模式。所有图形函数存放在“Graphics.lib”库文件中,所有函数的原型在头文件“Graphics.h”中定义。下面把图形函数库中常用函数的原型作简单介绍。1图形初始化原型:Void initgraph(int driver,int mode,char *path)功能:装入驱动程序,设定系统的图形模式。参数:int *driver,指定驱动程序的明称。通常选择宏DETECT,表示自动检测。int *mode,用于保存参数的返回值。char *path,指定驱动程序的目录路径。2关闭图形系统原型:Void closegraph(Void)3设置当前画线颜色原型:void far setcolor(int color) 参数:int color,当前颜色值。0:黑色,1:兰色,2:绿色,3:青兰色,4:红色,5:洋红色,6:棕色,7:淡灰色,8:深灰色,14:黄色,15:白色4两点画线(当前色)原型:void far line(int x1,int y1,int x2,int y2)参数:x1,y1:起点的坐标值,x2,y2:终点的坐标值。5从当前点画相对距离点的直线原型:void far linerel(int dx,int dy)参数:int dx,int dy:x和y方向上的距离,是相对于当前点。6绝对距离画线原型:void far lineto(int x,int y)参数:x,y:目标点的坐标值。7绝对坐标移动原型:void far moveto(int x,int y)参数:x,y:目标点的坐标值。8相对坐标移动原型:void far moverel(int dx,int dy)参数:int dx,int dy:x和y方向上的距离,是相对于当前点。9画整圆原型:void far circle(int x,int y,int radius)10画圆弧原型:void far arc(int x,int y,int sta,int enda,int radius)参数:int sta,int enda:表示圆弧的起始角和终止角,单位:度。11获取当前画线颜色原型:int far getcilor(void)返回值:当前的颜色值。12清除图形屏幕原型:void far cleardevice(vid)功能:清除整个屏幕,将CP移到(0,0)。13例程:#include include include include int main(void)int gdriver=DETECT,gmode;initgraph(&gdiver,&gmode,”C:BC31BGI”);/进行图形初始化,图形卡的采用自动检/测模式,同时假设BC系统安装在C盘的BC31子目录下。setcolor(4); /设定当前前景色为红色circle(300,300,100); /以点(300,300)为圆心,100为半径画圆周。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论