图形学实验指导书Word下载.docx
- 文档编号:15097401
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:12
- 大小:91.31KB
图形学实验指导书Word下载.docx
《图形学实验指导书Word下载.docx》由会员分享,可在线阅读,更多相关《图形学实验指导书Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
本指导书重点讲述了各实验的基本原理,并给出了详细的实验素材。
实验主要针对计算机科学与技术专业,也可作为研究生的辅助实验指导。
目录
前言1
实验一:
图形的几何变换3
实验二:
图形的区域填充6
实验三:
曲线、曲面的生成8
实验四:
动画设计8
附录一、学生实验报告基本内容要求14
图形的几何变换
实验学时:
4学时
实验类型:
验证
实验要求:
必修
一、实验目的
二维图形的平移、缩放、旋转和投影变换(投影变换可在实验三中实现)等是最基本的图形变换,被广泛用于计算机图形学的各种应用程序中,本实验通过算法分析以及程序设计实验二维的图形变换,以了解变换实现的方法。
如可能也可进行裁剪设计。
二、实验内容
掌握平移、缩放、旋转变换的基本原理,理解线段裁剪的算法原理,并通过程序设计实现上述变换。
建议采用VC++实现OpenGL程序设计。
三、实验原理、方法和手段
1.图形的平移
在屏幕上显示一个人或其它物体(如图1所示),用交互操作方式使其在屏幕上沿水平和垂直方向移动Tx和Ty,则有
x’=x+Txy’=y+Ty
其中:
x与y为变换前图形中某一点的坐标,x’和y’为变换后图形中该点的坐标。
其交互方式可先定义键值,然后操作功能键使其移动。
2.图形的缩放
在屏幕上显示一个帆船(使它生成在右下方),使其相对于屏幕坐标原点缩小s倍(即x方向和y方向均缩小s倍)。
则有:
x’=x*sy’=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为变换前图形中某一点的坐标,x’和y’为变换后图形中该点的坐标。
当Sx>
1和Sy>
1时为放大倍数,Sx<
1和Sy<
1时为缩小倍数(但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.裁剪
对一个三角形进行裁剪,裁剪后的图形应是一个封闭的图形。
可采用线段裁剪法,其方法可用书上的线段相交求点的公式,确定可见线段予以保存,不在窗口的线段则应舍弃。
图1
四、实验组织运行要求
本实验采用集中授课形式,每个同学独立完成上述实验要求。
五、实验条件
每人一台计算机独立完成实验。
六、实验步骤
(1)将图形显示在初始位置。
(2)对图形各点按变换表达式作坐标变换,计算出各点变换后的相应点的坐标。
(3)将原来的图形抹去。
(4)在新的位置显示图形。
七、思考题
采用中点分割算法完成图形的裁剪操作。
八、实验报告
实验报告主要包括实验预习、实验说明、程序代码、实验结果及分析等内容。
图形的区域填充
区域填充是指先将区域内的一点(常称为种子点)赋予给定颜色,然后将这种颜色扩展到整个区域内的过程。
区域填充技术广泛应用于交互式图形、动画和美术画的计算机辅助制作中。
本实验采用递归填充算法或扫描线算法实现对光栅图形的区域填充。
通过本实验,可以掌握光栅图形编程的基本原理和方法。
掌握光栅图形的表示方法,实现种子算法或扫描线算法。
通过程序设计实现上述算法。
1.递归算法
在要填充的区域内取一点(X,Y)的当前颜色记为oldcolor,用要填充的颜色newcolor去取代,递归函数如下:
procedureflood-fill(X,Y,oldcolor,newcolor:
integer);
begin
ifgetpixel(framebuffer,x,y)=oldcolor
thenbegin
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);
end
end
2.扫描线算法
扫描线算法的效率明显高于递归算法,其算法的基本思想如下:
(1)(初始化)将算法设置的堆栈置为空,将给定的种子点(x,y)压入堆栈。
(2)(出栈)如果堆栈为空,算法结束;
否则取栈顶元素(x,y)作为种子点。
(3)(区段填充)从种子点(x,y)开始沿纵坐标为y的当前扫描线向左右两个方向逐个象素进行填色,其值置为newcolor,直到抵达边界为止。
(4)(定范围)以xleft和xright分别表示在步骤3中填充的区段两端点的横坐标。
(5)(进栈)分别在与当前扫描线相邻的上下两条扫描线上,确定位于区间[xleft,xright]内的给定区域的区段。
如果这些区段内的象素的颜色值为newcolor或者boundarycolor(边界上象素的颜色值),则转到步骤2,否则取区段的右端点为种子压入堆栈,再转到步骤2继续执行。
(2)给定种子点的坐标。
(3)显示从种子点开始的扩散过程。
(4)显示填充后的图形。
如何实现光栅图形的扫描转换?
曲线、曲面的生成
设计
利用Bezier,B样条或NuBer(非均匀有理B样条)曲线,生成图2茶壶,以加深对曲线曲面生成三维图形的原理,控制方法以及算法的实现(包括隐藏线,面的消除),要求生成的茶壶要光滑。
掌握曲线、曲面的表示方法,实现茶壶的三维造型设计。
采用三次Bezier曲线或其它函数曲线生成图2所示茶壶。
利用三次Bezier曲线生成时,n=3,若写成向量或写成t的三次参数式为:
P0,P1,P2,P3是特征多边形上四个顶点(控制点)的向量。
若将其分解为二维平面中x、y方向的分量,则
图2茶壶
以下分析以下茶壶的绘制方法:
可以假定壶体表面是一个旋转面,因此只要在x-y平面上找到用来生成旋转面的基本曲线就可以了。
采用分段三次贝齐尔曲线,选十个控制点,它们的数据见表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分量,则它显示成一线段。
一个避免这种现象的简便方法是将它们绕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,这样壶嘴实际上由二片贝齐尔曲面片(每片十六个控制点)组成。
例如其中一片上的四个控制点分别为(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)壶盖控制点数据
x
y
1
0.0
3.0
2
0.8
3
2.7
4
0.2
2.55
5
0.4
2.4
6
1.3
7
2.25
1.4000
2.25000
1.3375
2.38125
1.4375
1.5000
1.7500
1.72500
2.0000
1.20000
0.75000
8
0.30000
9
0.07500
10
0.0000
表1(c)壶嘴控制点数据
(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.87
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图形学 实验 指导书