欢迎来到天天文库
浏览记录
ID:18811537
大小:2.03 MB
页数:23页
时间:2018-09-25
《《计算机图形学基础》课程设计说明书》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、武汉理工大学《计算机图形学基础》课程设计说明书武汉理工大学课程论文课程名称计算机图形学基础开课学院计算机科学与技术学院指导老师姓名学生姓名学生学号学生专业班级软件0803班2010—2011学年第2学期23武汉理工大学《计算机图形学基础》课程设计说明书目录1.课程设计目的22.课程设计描述及要求33.系统开发环境34.直线的生成算法34.1直线的DDA算法原理34.2直线的中点算法原理44.3直线的Bresenham算法原理64.4直线的生成运行结果85.圆的生成算法85.1圆的中点算法原理85.2圆的Bresenham算法原理95.3圆的DDA算法原理105.4
2、圆的生成运行结果116.多边形的绘制117.二维图形的变换127.1平移137.2旋转137.3比例147.4对称148.区域填充158.1边填充158.2种子填充159.线段裁剪以及多边形裁剪169.1线段裁剪169.2多边形裁剪1710.总结1811.参考资料1823武汉理工大学《计算机图形学基础》课程设计说明书计算机图形学课程设计报告1.课程设计目的本学期系统学习了计算机图形学的概论原理,在学期期末按课程要求进行实验。通过实验,进一步理解和掌握DDA算法、Bresenham算法和中点算法,并掌握以上算法生成圆和直线等图形的基本过程,提高学生对计算机图形学的了
3、解与运用技巧,同时通过此次课程设计提高动手实践能力与学习分析能力。2.课程设计描述及要求此次课程设计的课题为通过编程,实现圆和直线等基本图形的绘制。要求用DDA算法、Bresenham算法和中点算法实现圆和直线等基本图形的绘制,并各自比较算法精度与效率的差别,实现二维图形的变换(包括平移,放缩,旋转,错切以及复合变换),用区域填充算法实现区域填充以及实现线段裁剪和多边形裁剪,并给出代码和结果截图。3.系统开发环境开发工具:VC6.0开发环境:MFC操作系统:MicrosoftWindows74.直线的生成算法4.1直线的DDA算法原理23武汉理工大学《计算机图形学
4、基础》课程设计说明书这是一种用微分方程生成直线的方法。基本思想是:在生成直线的某点上增加一个同X和Y的一阶导数成比例的小步长,在这种情况下的一阶导数是连续的,而且对于和是成比例的。数值微分法(DigitalDifferentialAnalyzer,又称DDA法)推导如下:设直线的起点坐标为,终点坐标为,令:要生成直线的微分方程是:(1)令:=max(,)取时间步长为,(1)式的数值解的递推公式为:(2)根据式(2)可求得直线上的点,但由于显示时要用象素来表示,这要用舍入法来找到最靠近直线的点。4.2直线的中点算法原理逐点比较法算法的基本思想:在绘制直线的过程中,每
5、绘制一个点就与原直线进行比较,根据比较结果决定下一步的走向,这样一步一步逼近直线。过程如下图所示:是否结束开始图(7)逐点比较法执行过程23武汉理工大学《计算机图形学基础》课程设计说明书该算法执行中要使得每一个绘制点尽可能靠近直线而不发生远离直线的趋向。由一点到下一个点的走向方法有:在X,Y方向同时走一步,或只在X方向走一步,或只在Y方向走一步。这里讨论规定每一次只在X方向走一步,或只在Y方向走一步。假设要画直线为从O(0,0)到A(),即OA线段,如图(8)所示。OAXY图(8)绘制OA线段绘制过程要考虑的问题如下:(1)如何计算偏差和判别偏差;(2)如何判别绘
6、制到终点以结束算法。偏差计算公式:===递推计算公式为:(1)时,走X方向一步,即:(2)时,走Y方向一步,即:上面讨论的是斜率在第一象限的情况。对于其他象限中的直线绘制算法的原理仍然是逐点比较法的基本思想。图(9)给出了在其他象限绘制直线时画笔的走向。23武汉理工大学《计算机图形学基础》课程设计说明书图(9)各象限画笔走向表(10)给出了关于判别式的计算。由表(10)可见,不同象限的直线在绘制时的偏差计算以及走步方向不相同,绘制直线时只要判别出直线的象限位置,即可用相应的算法来生成直线。线段位置走步方向偏差值走步方向偏差值第I象限+X+Y第III象限-X-Y第I
7、I象限+Y-X第IV象限-Y+X表(10)判别式计算有关偏差计算公式以及判别问题已解决,下来考虑如何判别终点。对于终点判别可采用计数方法。设在X,Y方向的增量分别为和,对于步长为一个象素来说,就是在生成直线过程中X方向走步,Y方向走步,因此可选计数器值为在计长方向上每走一步计数器减1,直到计数器值为零,则结束直线算法。4.3直线的Bresenham算法原理这种生成直线的算法与数值微分法类似,每次迭代在增量最大方向上均走一步,其方向由增量的正负而定;另一方向上是否也走,取决于计算出来的误差项,误差项所记录的方向同最大增量方向垂直。下面讨论误差项,如图(3)所示。23
8、武汉理工大
此文档下载收益归作者所有