直线段的扫描转换_计算机专业_OpenGL实验_Exp学习资料.doc

直线段的扫描转换_计算机专业_OpenGL实验_Exp学习资料.doc

ID:57160505

大小:508.50 KB

页数:38页

时间:2020-08-04

直线段的扫描转换_计算机专业_OpenGL实验_Exp学习资料.doc_第1页
直线段的扫描转换_计算机专业_OpenGL实验_Exp学习资料.doc_第2页
直线段的扫描转换_计算机专业_OpenGL实验_Exp学习资料.doc_第3页
直线段的扫描转换_计算机专业_OpenGL实验_Exp学习资料.doc_第4页
直线段的扫描转换_计算机专业_OpenGL实验_Exp学习资料.doc_第5页
资源描述:

《直线段的扫描转换_计算机专业_OpenGL实验_Exp学习资料.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、直线段的扫描转换_计算机专业_OpenGL实验_Exp精品文档Exp-University实验报告课程名称计算机图形学实验实验项目直线段的扫描转换专业班级姓名Exp学号QQ:289065406指导教师成绩日期2011.11.22一、实验目的1、通过实验,进一步理解直线段扫描转换的DDA算法、中点bresenham算法以及改进bresenham算法的基本原理;2、掌握以上算法生成直线段的基本过程;3、通过编程,会在C/C++环境下完成用DDA算法、中点bresenham算法及bresenham算法对任意直线段的扫描转换。二、实验设备及实验环境1、计算机(每人一台)2、VC++6.0或其他C

2、/C++语言程序设计环境三、实验学时2学时四、实验内容用DDA算法中点bresenham算法及bresenham算法实现任意给定两点的直线段的绘制(直线宽度和线型可自定)。注:1、实验报告的内容:一、实验目的;二、实验原理;三、实验步骤;四、实验结果;五、讨论分析(完成指定的思考题和作业题);六、改进实验建议。2、各专业可在满足学校对实验教学基本要求的前提下,根据专业特点自行设计实验报告的格式,所设计的实验报告在使用前需交实践教学管理科备案。收集于网络,如有侵权请联系管理员删除精品文档五、实验步骤1、复习有关直线扫描转换算法的基本原理,明确实验目的和要求;2、依据算法思想,绘制程序流程图

3、;3、设计程序界面,要求操作方便;4、用C/C++语言编写源程序并调试、执行;5、分析实验结果6、对程序设计过程中出现的问题进行分析与总结;7、打印源程序或把源程序以文件的形式提交;8、按格式要求完成实验报告。六、实验报告要求:1、各种算法的基本原理;2、各算法的流程图3、实验结果及分析(比较三种算法的特点,界面插图并注明实验条件)4、实验总结(含问题分析及解决方法)七、实验原理1、DDA算法(数值微分法)数值微分法(DDA法,DigitalDifferentialAnalyzer)是一种直接从直线的微分方程生成直线的方法。给定直线的两端点P0(x0,y0)和P1(x1,y1),得到直线

4、的微分方程如下:DDA算法原理:由于直线的一阶导数是连续的,而且对于△x和△y是成正比的,故此可以通过在当前位置上分别加上二个小增量来求下一点的x,y坐标,如下图所示。收集于网络,如有侵权请联系管理员删除精品文档收集于网络,如有侵权请联系管理员删除精品文档则有:其中,ε=1/max(

5、△x

6、,

7、△y

8、)分两种情况讨论如下: (1)max(

9、△x

10、,

11、△y

12、)=

13、△x

14、,即

15、k

16、≤1的情况:(2)max(

17、△x

18、,

19、△y

20、)=

21、△y

22、,此时

23、k

24、≥1:注意:由于在光栅化的过程中不可能绘制半个像素点,因此对求出的xi+1,yi+1的值需要四舍五入。2、中点Bresenham算法给定直线的两个

25、端点坐标,可以得到直线的方程为:   此时直线将平面分成三个区域:对于直线上的点,F(x,y)=0;对于直线上方的点,F(x,y)>0;对于直线下方的点,F(x,y)<0,如下图所示。 图5-2直线将平面分为三个区域   基本原理:根据直线的斜率确定或选择变量在x或y方向上每次收集于网络,如有侵权请联系管理员删除精品文档递增一个单位,而另一方向的增量为1或0,它取决于实际直线与相邻像素点的距离,这一距离称为误差项。   如下图所示,假定0≤k≤1,x是最大位移方向。算法每次在x方向上加1,y方向上加0或加1。设当前点是P(xi,yi),则下一个点在Pu(xi+1,yi+1)和Pd(xi+

26、1,yi)中选一。以M点表示Pu与Pd的中点,又设Q点是理想直线与垂线x=xi+1的交点,根据Q点与M点的位置判断选取哪一个点。 图5-3Brensemham算法生成直线的原理构造判别式如下:   当d<0时,M在Q点下方,Pu距离Q点近,取Pu点;    若d>0,M在Q点上方,Pd距离Q点近,取Pd点;    若d=0,M与Q点重合,Pu和Pd都合适,约定取Pd。 故有:误差项递推:(1)当d<0时,下一个候选点为(xi+1,yi+1),再下两个候选点为(xi+2,yi+1)和(xi+2,yi+2),他们的中点为(xi+2,yi+1.5),故有:收集于网络,如有侵权请联系管理员删除精

27、品文档收集于网络,如有侵权请联系管理员删除精品文档此时,d的增量为1-k。(1)当d>0时,下一个候选点为(xi+1,yi),再下两个候选点为(xi+2,yi)和(xi+2,yi+1),他们的中点为(xi+2,yi+0.5),故有:此时,d的增量为-k。 初始值d的计算:收集于网络,如有侵权请联系管理员删除精品文档但此时算法中仍然包含了浮点数运算,由于这里我们仅使用了判别式d的符号,所以可以用2d△x代替d来摆脱小数。用2d△x代替

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

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

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