《计算机图形学基础》课程设计说明书.doc

《计算机图形学基础》课程设计说明书.doc

ID:51890493

大小:1001.00 KB

页数:23页

时间:2020-03-18

《计算机图形学基础》课程设计说明书.doc_第1页
《计算机图形学基础》课程设计说明书.doc_第2页
《计算机图形学基础》课程设计说明书.doc_第3页
《计算机图形学基础》课程设计说明书.doc_第4页
《计算机图形学基础》课程设计说明书.doc_第5页
资源描述:

《《计算机图形学基础》课程设计说明书.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、武汉理工大学课程论文课程名称开课学院指导老师姓名学生姓名学生学号学生专业班级计算机图形学基础计算机科学与技术学院软件0803班2010—2011学年第2学期目录1•课程设计H的32•课程设计描述及要求33.系统开发环境34.直线的生成算法34」直线的DDA算法原理34.2直线的小点算法原理44.3直线的Bresenham算法原理64.4直线的生成运行结果85.圆的生成算法95」圆的屮点算法原理95.2圆的Bresenham算法原理95.3圆的DDA算法原理105.4圆的生成运行结果116.多边形的绘制117.二维图形的变换137.1平移147.2旋转147.3比例157.4

2、对称15&区域填充168」边填充168.2种子填充169.线段裁剪以及多边形裁剪179」线段裁剪179.2多边形裁剪1810.总结1911•参考资料19计算机图形学课程设计报告1•课程设计目的木学期系统学习了计算机图形学的概论原理,在学期期末按课程要求进行实验。通过实验,进一-步理解和掌握DDA算法、Bresenham算法和屮点算法,并掌握以上算法生成圆和直线等图形的基本过程,提高学生对计算机图形学的了解与运用技巧,同吋通过此次课程设计提高动手实践能力与学习分析能力。2•课程设计描述及要求此次课程设计的课题为通过编程,实现圆和直线等基本图形的绘制。要求用DDA算法、Bres

3、enham算法和屮点算法实现圆和直线等基木图形的绘制,并各自比较算法精度与效率的差别,实现二维图形的变换(包括平移,放缩,旋转,错切以及复合变换),用区域填充算法实现区域填充以及实现线段裁剪和多边形裁剪,并给出代码和结果截图。3•系统开发环境开发工具:VC6.0开发环境:MFC操作系统:MicrosoftWindows74•直线的生成算法4.1直线的DDA算法原理这是一种用微分方程生成直线的方法。基本思想是:在生成直线的某点上增加一个同X和Y的一•阶导数成比例的小步长,在这种情况下的一阶导数是连续的,而且对于4X和⑴是成比例的。数值微分法(DigitalDifferenti

4、alAnalyzer,乂称DDA法)推导如下:设直线的起点坐标为d),终点坐标为(S),令:要生成直线的微分方程是:亠“Idt(1)令:gmax(网,网)取吋间步长为1/山,(I)式的数值解的递推公式为:(Xj+1=X<•+AX/At(乙+[=匚+Ay/at(2)根据式(2)可求得直线(X$』$)(X°必)上的点,但由于显示时要用象素来表示,这要用舍入法來找到最靠近直线的点。4.2直线的中点算法原理逐点比较法算法的基本思想:在绘制直线的过程屮,每绘制-•个点就与原直线进行比较,根据比较结果决定下一步的走向,这样一步一步逼近直线。过程如下图所示:开始A结束图(7)逐点比较法执

5、行过程该算法执行屮要使得每一个绘制点尽可能靠近直线而不发生远离直线的趋向。由一点到下一个点的走向方法有:在X,Y方向同时走一步,或只在X方向走一步,或只在Y方向走一步。这里讨论规定每一次只在X方向走i步,或只在Y方向走一步。假设要画直线为从O(0,0)到A(XaY),即OA线段,如图(8)所示。YA图(8)绘制0A线段绘制过程要考虑的问题如下:(1)如何计算偏差和判别偏差;(2)如何判别绘制到终点以结束算法。偏差计算公式:Fk=tgf3-tga=丘一21=TK丄递推计算公式为:XkXaXkXA(1)和0时,走X方向一步,即:X+严/+1(2)斥<0吋,走Y方向一•步,即:'

6、Xj<沧胡+1F“=耳+X人上面讨论的是斜率在第一象限的情况。对于其他象限屮的直线绘制算法的原理仍然是逐点比较法的基本思想。图(9)给出了在其他象限绘制直线吋画笔的走向。表(10)给出了关于判别式的计算。由表(10)可见,不同象限的直线在绘制时的偏差计算以及走步方向不相同,绘制直线时只要判别出直线的彖限位置,即可用相应的算法来生成直线。线段位置走步方向偏差值坊'0走步方向偏差值坊v0第I象限+X也話-必+YFk+}=Fk^XA第III象限■X・Y第II象限+YFk+l=Fk~XA-X第IV象限-Y+X表(10)判别式计算有关偏差计算公式以及判别问题已解决,下来考虑如何判别

7、终点。对于终点判别可采用计数方法。设在X,Y方向的增量分别为AX和刘,对于步长为一个象索来说,就是在生成直线过程屮X方向走AX步,Y方向走步,因此可选计数器值为皿“x(AXQY)在计长方向上每走一步计数器减1,直到计数器值为零,则结束直线算法。4.3直线的resenham算法原理这种生成直线的算法与数值微分法类似,每次迭代在增量最大方向上均走一步,其方向由增量的正负血定;另一方向上是否也走,取决于计算出来的误差项,误差项所记录的方向同最大增量方向垂直。下面讨论误差项如图(3)所示。图(3)误差项计算示意图设图(3)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。