图形学实验指导书

上传人:仙*** 文档编号:145808731 上传时间:2022-08-30 格式:DOC 页数:14 大小:149KB
收藏 版权申诉 举报 下载
图形学实验指导书_第1页
第1页 / 共14页
图形学实验指导书_第2页
第2页 / 共14页
图形学实验指导书_第3页
第3页 / 共14页
资源描述:

《图形学实验指导书》由会员分享,可在线阅读,更多相关《图形学实验指导书(14页珍藏版)》请在装配图网上搜索。

1、 计 算 机 图 形 学实 验 指 导 书 王卫东 别小川 编写适用专业: 计算机科学与技术 江苏科技大学电子信息学院2006年 7 月前 言计算机图形学(Computer Graphics)是研究怎样用数字计算机生成、处理和显示图形的一门学科。随着计算机图形学不断发展,它的应用范围也日趋广泛。计算机图形学课程目的及任务是着重介绍计算机图形学的基本内容及原理与方法。它是计算机专业选修课。课程的主要内容有计算机图形学的概论及应用,计算机用户接口和交互技术,计算机图形编程,二维图形扫描算法与几何变换,三维形体表示与投影变换,曲线与曲面造型技术,真实感图形等。为了使学生更好地理解和深刻地掌握图形的几

2、何变换、光栅图形的表示及处理方法、三维形体表示等方面的知识。并在此基础上,训练和培养学生对基本图形系统的分析和设计能力,共设置了3项设计性实验,分别是图形的几何变换、区域填充、曲线及曲面表示。图形的几何变换要求学生掌握图形的平移、缩放、旋转等基本变换知识。区域填充要求学生了解并掌握光栅图形的表示方法,并实现种子算法或扫描线算法。曲线及曲面表示属于三维图形的造型技术。本指导书重点讲述了各实验的基本原理,并给出了详细的实验素材。实验主要针对计算机科学与技术专业,也可作为研究生的辅助实验指导。目 录实验一:图形的几何变换3实验二:图形的区域填充6实验三:曲线、曲面的生成8实验四:动画设计14附录一、

3、学生实验报告基本内容要求15实验一:图形的几何变换实验学时:4学时实验类型:设计实验要求:必修一、实验目的二维图形的平移、缩放、旋转和投影变换(投影变换可在实验三中实现)等是最基本的图形变换,被广泛用于计算机图形学的各种应用程序中,本实验通过算法分析以及程序设计实验二维的图形变换,以了解变换实现的方法。如可能也可进行裁剪设计。二、实验内容掌握平移、缩放、旋转变换的基本原理,理解线段裁剪的算法原理,并通过程序设计实现上述变换。建议采用VC+实现OpenGL程序设计。三、实验原理、方法和手段1 图形的平移在屏幕上显示一个人或其它物体(如图1所示),用交互操作方式使其在屏幕上沿水平和垂直方向移动Tx

4、和Ty,则有 x=x+Tx y=y+Ty其中:x与y为变换前图形中某一点的坐标,x和y为变换后图形中该点的坐标。其交互方式可先定义键值,然后操作功能键使其移动。2 图形的缩放在屏幕上显示一个帆船(使它生成在右下方),使其相对于屏幕坐标原点缩小s倍(即x方向和y方向均缩小s倍)。则有: x=x*s y=y*s注意:有时图形缩放并不一定相对于原点,而是事先确定一个参考位置。一般情况下,参考点在图形的左下角或中心。设参考点坐标为xf、yf则有变换公式 x=x*Sx+xf*(1-Sx)=xf+(x-xf)*Sx y=y*Sy+yf*(1-Sy)=yf+(y-yf)*Sy式中的x与y为变换前图形中某一点

5、的坐标,x和y为变换后图形中该点的坐标。当Sx1和Sy1时为放大倍数,Sx1和Sy1时为缩小倍数(但Sx和Sy必须大于零)。3 图形的旋转在屏幕上显示一个汽车,根据自己确定的旋转角度和旋转中心对图形进行旋转。旋转公式为 x=xf+(x-xf)*cos(angle)-(y-yf)*sin(angle) y=yf+(y-yf)*cos(angle)+(x-xf)*sin(angle)其中:xf,yf为围绕旋转的中心点的坐标。x,y为旋转前图形中某点的坐标,x和y为旋转后图形中该点的坐标。 4 裁剪对一个三角形进行裁剪,裁剪后的图形应是一个封闭的图形。可采用线段裁剪法,其方法可用书上的线段相交求点的

6、公式,确定可见线段予以保存,不在窗口的线段则应舍弃。 图1四、实验组织运行要求本实验采用集中授课形式,每个同学独立完成上述实验要求。五、实验条件每人一台计算机独立完成实验。六、实验步骤(1) 将图形显示在初始位置。(2) 对图形各点按变换表达式作坐标变换,计算出各点变换后的相应点的坐标。(3) 将原来的图形抹去。(4) 在新的位置显示图形。七、思考题 采用中点分割算法完成图形的裁剪操作。八、实验报告实验报告主要包括实验预习、实验说明、程序代码、实验结果及分析等内容。实验二:图形的区域填充实验学时:4学时实验类型:设计实验要求:必修一、实验目的区域填充是指先将区域内的一点(常称为种子点)赋予给定

7、颜色,然后将这种颜色扩展到整个区域内的过程。区域填充技术广泛应用于交互式图形、动画和美术画的计算机辅助制作中。本实验采用递归填充算法或扫描线算法实现对光栅图形的区域填充。通过本实验,可以掌握光栅图形编程的基本原理和方法。二、实验内容掌握光栅图形的表示方法,实现种子算法或扫描线算法。通过程序设计实现上述算法。建议采用VC+实现OpenGL程序设计。三、实验原理、方法和手段1 递归算法在要填充的区域内取一点(X,Y)的当前颜色记为oldcolor,用要填充的颜色newcolor去取代,递归函数如下:procedure flood-fill(X,Y,oldcolor,newcolor:integer

8、);begin if getpixel(framebuffer,x,y)=oldcolor then begin setpixel(framebuffer,x,y,newcolor); flood-fill(X,Y+1,oldcolor,newcolor); flood-fill(X,Y-1,oldcolor,newcolor); flood-fill(X-1,Y,oldcolor,newcolor); flood-fill(X+1,Y,oldcolor,newcolor); endend2 扫描线算法扫描线算法的效率明显高于递归算法,其算法的基本思想如下:(1)(初始化)将算法设置的堆栈置为

9、空,将给定的种子点(x,y)压入堆栈。(2)(出栈)如果堆栈为空,算法结束;否则取栈顶元素(x,y)作为种子点。(3)(区段填充)从种子点(x,y)开始沿纵坐标为y的当前扫描线向左右两个方向逐个象素进行填色,其值置为newcolor,直到抵达边界为止。(4)(定范围)以xleft和xright分别表示在步骤3中填充的区段两端点的横坐标。(5)(进栈)分别在与当前扫描线相邻的上下两条扫描线上,确定位于区间xleft,xright内的给定区域的区段。如果这些区段内的象素的颜色值为newcolor或者boundarycolor(边界上象素的颜色值),则转到步骤2,否则取区段的右端点为种子压入堆栈,再

10、转到步骤2继续执行。四、实验组织运行要求本实验采用集中授课形式,每个同学独立完成上述实验要求。五、实验条件每人一台计算机独立完成实验。六、实验步骤(1) 将图形显示在初始位置。(2) 给定种子点的坐标。(3) 显示从种子点开始的扩散过程。(4) 显示填充后的图形。七、思考题 如何实现光栅图形的扫描转换?八、实验报告实验报告主要包括实验预习、实验说明、程序代码、实验结果及分析等内容。实验三:曲线、曲面的生成实验学时:4学时实验类型:设计实验要求:必修一、实验目的利用Bezier,B样条或NuBer(非均匀有理B样条)曲线,生成图2茶壶,以加深对曲线曲面生成三维图形的原理,控制方法以及算法的实现(

11、包括隐藏线,面的消除),要求生成的茶壶要光滑。二、实验内容掌握曲线、曲面的表示方法,实现茶壶的三维造型设计。通过程序设计实现上述算法。建议采用VC+实现OpenGL程序设计。三、实验原理、方法和手段采用三次Bezier 曲线或其它函数曲线生成图2所示茶壶。利用三次Bezier曲线生成时,n=3,若写成向量或写成 t 的三次参数式为:其中:P0,P1,P2,P3是特征多边形上四个顶点(控制点)的向量。若将其分解为二维平面中x、y方向的分量,则 图2 茶壶以下分析以下茶壶的绘制方法: 可以假定壶体表面是一个旋转面,因此只要在x-y 平面上找到用来生成旋转面的基本曲线就可以了。采用分段三次贝齐尔曲线

12、,选十个控制点,它们的数据见表1(a),控制点位置与生成的曲线见图3a。这条曲线由三段组成,分别由点1,2,3,4,4,5,6,7,7,8,9,10控制。注意到4,7公用,且3,4,5在一直线上,6,7,8也在一直线上,因而可知三段曲线拼接后有一阶连续性。类似地,壶盖也视为旋转面,它的外轮廓由两段贝齐尔曲线生成,分别由1,2,3,4和4,5,6,7控制。由于3,4,5共线,4为公共点,故也有一阶连续性。这七个点的数据见表1(b),对应的轮廓线见图3b。旋转面的显示可给定拟合后外形线上的一点(x0,y0),绕y轴旋转得Y=Y0平面上一个圆。若只作沿Z轴平行投影变换,即只去掉z分量,则它显示成一线

13、段。一个避免这种现象的简便方法是将它们绕X轴适当旋转同一角度,然后再投影到x-y平面上显示。茶壶的壶嘴则要用贝齐尔曲面片来表示(也可以用曲线,但需插入控制点)。首先确定剖面的外轮廓线。这里有两条,每一条也由七个控制点控制,它们的数据见表1(c),外轮廓线见图3c,但是要注意现在要再增加二条线(每线也相应的有七个控制点),它们分别与两外轮廓线有相同的x、y坐标,只是z的坐标不再是零,而是有变化,这个变化的方式是:与11,12(21,22)相对应的=0.66:与13,14,15(23,24,25)对应的为z =0.25:与另二点对应的为z =0.15,这样壶嘴实际上由二片贝齐尔曲面片(每片十六个控

14、制点)组成。例如其中一片上的四个控制点分别为(11x,11y,0),(11x,11y,0.66),(21x,21y,0.66),(21x,21y,0),其中11x,11y分别指第十一个控制点x,y坐标。对每一曲面片的显示,实际上可以显示八条曲线,或者适当加密。类似地处理壶的把手,唯一与壶嘴有别处是另外两线的z不随控制点不同而变,即取定值z =0.3。数据见表1(d)。外轮廓线图见3d,最后,壶底可以用半径为1.5的圆盘来表示,容易想象它应如何加入这一图形生成过程中。图2就是用这种方法画出的茶壶。 表1(a) 壶体控制点数据 表1(b) 壶盖控制点数据xy10.03.020.83.030.02.

15、740.22.5550.42.461.32.471.32.25xy11.40002.2500021.33752.3812531.43752.3812541.50002.2500051.75001.7250062.00001.2000072.00000.7500082.00000.3000091.50000.07500101.50000.0000表1(c) 壶嘴控制点数据xy(11) 1.7(21) 1.7(11) 1.27(21) 0.4(12) 2.6(22) 3.1(12) 1.275(22) 0.675(13) 2.3(23) 2.4(13) 1.95(23) 1.875(14) 2.7

16、(24) 3.3(14) 2.25(24) 2.2(15) 2.8(25) 3.525(15) 2.325(25) 2.34(16) 2.9(26) 3.4(16) 2.325(26) 2.36(17) 2.8(27) 3.2(17) 2.25(27) 2.25表1(d) 壶嘴控制点数据xy(11) 1.6(21) 1.5(11) 1.875(21) 2.1(12) 2.3(22) 2.5(12) 1.875(22) 2.1(13) 2.7(23) 3.0(13) 1.875(23) 2.1(14) 2.7(24) 3.0(14) 1.65(24) 1.65(15) 2.7(25) 3.0(1

17、5) 1.425(25) 1.20(16) 2.5(26) 2.65(16) 0.975(26) 0.7875(17) 2.0(27) 1.90(17) 0.75(27) 0.45图3b 壶盖外轮廓线图3a 壶体外轮廓线 图3c 壶嘴外轮廓线 图3d 壶把手外轮廓线四、实验组织运行要求本实验采用集中授课形式,每个同学独立完成上述实验要求。五、实验条件每人一台计算机独立完成实验。六、实验步骤(1) 壶体及壶盖的外轮廓线。(2) 旋转生成壶体及壶盖。(3) 完成壶嘴及把手的绘制。七、思考题 如何采用B样条曲线曲面实现本实验?八、实验报告实验报告主要包括实验预习、实验说明、程序代码、实验结果及分析等

18、内容。实验四:动画设计实验学时:4学时实验类型:综合实验要求:选做一、实验目的通过实验,了解动画设计的原理、方法,并培养学生的想象能力、创新意识及动手能力,只要求采用二维图形变换处理。二、实验内容“警察抓小偷”是较早的有名的游戏动画。然而,它遇到的关卡有百余处之多,我们希望学生自己发挥想象力,大胆创新,这是体现您的程序设计和创意能力的教好方法。三、实验原理、方法和手段一辆警车(可以有警察人员),在公路、湖边追赶一拿着东西的小偷,小偷逃跑可以用图1姿势。(1) 生成公路、湖边、湖水、湖岸、房屋等。(2) 生成的警车可以移动旋转。(3) 作平行移动的小偷。(4) 能航行到对岸的船或直升飞机(供逃跑

19、用)。(5) 要求进行碰撞检测,若捉到了小偷,检测后发出信号,以示捉到。四、实验组织运行要求本实验采用开放形式,作为选做实验,同学可以独立或分组完成上述实验要求。五、实验条件每人一台计算机完成实验。附录一、学生实验报告基本内容要求所有实验项目的报告必须以课程为单位装订成册,原则上使用现行“实验报告簿”(校园内有售)。实验报告簿应事先准备好,用来做预习报告、实验记录和实验报告,要求这三个过程在一个实验报告中完成。1实验预习在实验前每位同学都需要对本次实验进行认真的预习,并写好预习报告,在预习报告中要写出实验目的、要求,需要用到的仪器设备、物品资料以及简要的实验步骤,形成一个操作提纲。对实验中的安全注意事项及可能出现的现象等做到心中有数,但这些不要求写在预习报告中。设计性实验要求进入实验室前写出实验方案。2实验记录学生开始实验时,应该将记录本放在近旁,将实验中所做的每一步操作、观察到的现象和所测得的数据及相关条件如实地记录下来。实验记录中应有指导教师的签名。3实验报告主要内容包括对实验数据、实验中的特殊现象、实验操作的成败、实验的关键点等内容进行整理、解释、分析总结,回答思考题,提出实验结论或提出自己的看法等。 13

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!