- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《计算机图形学基础》课程设计说明书
武汉理工大学
课程论文
课 程 名 称 计算机图形学基础
开 课 学 院 计算机科学与技术学院
指导老师姓名
学 生 姓 名
学 生 学 号
学生专业班级 软件0803班
2010— 2011学年 第 2学期
目录
1.课程设计目的 2
2.课程设计描述及要求 3
3.系统开发环境 3
4.直线的生成算法 3
4.1 直线的DDA算法原理 3
4.2直线的中点算法原理 4
4.3直线的Bresenham算法原理 6
4.4直线的生成运行结果 8
5.圆的生成算法 8
5.1圆的中点算法原理 8
5.2圆的Bresenham算法原理 9
5.3圆的DDA算法原理 10
5.4圆的生成运行结果 11
6.多边形的绘制 11
7.二维图形的变换 12
7.1平移 13
7.2旋转 13
7.3比例 14
7.4对称 14
8.区域填充 15
8.1边填充 15
8.2种子填充 15
9.线段裁剪以及多边形裁剪 16
9.1线段裁剪 16
9.2多边形裁剪 17
10.总结 18
11.参考资料 18
计算机图形学课程设计报告
1.课程设计目的
本学期系统学习了原理,在学期进行通过实验,进一步理解和掌握算法、Bresenham算法和算法掌握以上算法生成圆的基本过程
图(7) 逐点比较法执行过程
该算法执行中要使得每一个绘制点尽可能靠近直线而不发生远离直线的趋向。由一点到下一个点的走向方法有:在X,Y方向同时走一步,或只在X方向走一步,或只在Y方向走一步。这里讨论规定每一次只在X方向走一步,或只在Y方向走一步。
假设要画直线为从O(0,0)到A(),即OA线段,如图(8)所示。
图(8) 绘制OA线段
绘制过程要考虑的问题如下:
(1)如何计算偏差和判别偏差;
(2)如何判别绘制到终点以结束算法。
偏差计算公式:= = =
递推计算公式为:
(1)时,走X方向一步,即:
(2)时,走Y方向一步,即:
上面讨论的是斜率在第一象限的情况。对于其他象限中的直线绘制算法的原理仍然是逐点比较法的基本思想。图(9)给出了在其他象限绘制直线时画笔的走向。
图(9)各象限画笔走向
表(10)给出了关于判别式的计算。由表(10)可见,不同象限的直线在绘制时的偏差计算以及走步方向不相同,绘制直线时只要判别出直线的象限位置,即可用相应的算法来生成直线。
线段位置 走步方向 偏差值 走步方向 偏差值 第 I 象限 +X
+Y
第III象限 -X -Y 第II 象限 +Y
-X
第IV 象限 -Y +X 表(10) 判别式计算
有关偏差计算公式以及判别问题已解决,下来考虑如何判别终点。
对于终点判别可采用计数方法。设在X,Y方向的增量分别为和,对于步长为一个象素来说,就是在生成直线过程中X方向走步,Y方向走步,因此可选计数器值为在计长方向上每走一步计数器减1,直到计数器值为零,则结束直线算法。
4.3直线的Bresenham算法原理
这种生成直线的算法与数值微分法类似,每次迭代在增量最大方向上均走一步,其方向由增量的正负而定;另一方向上是否也走,取决于计算出来的误差项,误差项所记录的方向同最大增量方向垂直。下面讨论误差项,如图(3)所示。
图(3) 误差项计算示意图
设图(3)中直线满足:0,即:0,所以X为最大增量方向,有-=1,故有每点的坐标计算: (4)
因此直线上点的显示坐标为[,round()],round()表示最靠近y的整数。从图(3)可以看出,对于计算出来的(,)点,的取之为;计算出来的( ,)点,的取值为。其根据就是因为更靠近,更靠近。
图(3)中A点为与的中心点,计算BC长度,若值大于0.5,说明在A点之上,应取,否则取值。
设误差: (5) 当,B点在A点上方,有;当0,B点在A点下方,有。
由公式(4)(5)得:
(6)
4.4直线的生成运行结果
运行结果如下:
5.圆的生成算法
5.1圆的中点算法原理
构造圆函数 。对于圆上的点, ;对于圆外的点 ;对于圆内的点 。
把Bresenham关于直线生成的基本思想用于圆弧生成上,把圆分成8歌部分分别生成。圆被定义为到给定中心位置(xc,yc)距离为
您可能关注的文档
- 《操作系统原理》课程设计报告_微型操作系统的设计__128807196.doc
- 《操作系统原理》课程设计报告_微型操作系统的设计.doc
- 《操作系统课程设计》实验指导手册.doc
- 《数字信号处理》课程设计报告_拉弦音乐滤波去噪—使用脉冲响应不变法设计的切比雪夫I型滤波器.doc
- 《数字信号处理》课程设计_基于切比雪夫I型的IIR数字高通滤波器设计.doc
- 《数字信号处理》课程设计说明书_数字信号处理DFT对称性验证及应用.doc
- 《数字电子技术》课程设计_十字路口交通管理控制器的设计.doc
- 《数字化设计与制造》上机报告_泵盖铣削与车削.doc
- 《数字电子技术》课程设计_篮球电子记分板设计.doc
- 《数字电子技术》课程设计报告_汽车尾灯显示控制电路设计.doc
- 《计算机多媒体技术》课程设计报告_《计算机多媒体技术》课程设计报告.doc
- 《计算机仿真技术》课程大作业_风力发电系统中增速器的三维建模与仿真试验研究.doc
- 《计算机导论》课后习题答案.doc
- 《计算机地质学》实验指导书.doc
- 《计算机控制技术》课程设计说明书_基于89C51单片机设计二相电机控制系统设计.doc
- 《计算机控制技术》课程设计说明书_太阳能热水器温度控制系统的设计.doc
- 《计算机组成原理》课程设计报告_UTOPIA_2接口设计与实现.doc
- 《计算机组成原理》课程设计报告_基于VHDL的彩灯控制器设计与实现.doc
- 《计算机控制技术》课程设计说明书_三相步进电机控制系统的设计.doc
- 《计算机组成原理》课程设计报告_基本模型机的设计__加减法指令的实现.doc
文档评论(0)