计算机图形学--直线的生成算法的实现(共7页).doc
《计算机图形学--直线的生成算法的实现(共7页).doc》由会员分享,可在线阅读,更多相关《计算机图形学--直线的生成算法的实现(共7页).doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上实验二 直线的生成算法的实现班级 08信计2班 学号 59 姓名 分数 一、实验目的和要求1.理解直线生成的基本原理。2.掌握几种常用的直线生成算法。3.利用Visual C+实现直线生成的DDA算法。二、实验内容1.了解直线的生成原理,尤其是Bresenham画线法原理。2.掌握几种基本的直线生成算法:DDA画线法、Bresenham画线法、中点画线法。3.利用Visual C+实现直线生成的DDA算法,在屏幕上任意生成一条直线。三、实验步骤1.直线的生成原理:(1)DDA画线法也称数值微分法,是一种增量算法。是一种基于直线的微分方程来生成直线的方法。(2)中点画线
2、法原理以下均假定所画直线的斜率,如果在方向上的增量为1,则方向上的增量只能在之间。中点画线法的基本原理是:假设在坐标为的各像素点中,与直线最近者已经确定为,用小实心圆表示。那么,下一个与直线最近的像素只能是正右方的,或右上方的,用小空心圆表示。以为和的中点,则的坐标为。又假设是理想直线与垂直线的交点。显然,若在的下方,则离直线近,应取为下一像素点;若在的上方,则离直线近,应取为下一像素点。(3)Bresenham画线法原理直线的中点Bresenham算法的原理:每次在主位移方向上走一步,另一个方向上走不走步取决于中点偏差判别式的值。给定理想直线的起点坐标为P0(x0,y0),终点坐标为P1(x
3、1,y1),则直线的隐函数方程为: (3-1) 构造中点偏差判别式d。 (1) 当d0时 当d0时 2.实现前面所述的各种直线生成算法,包括DDA算法、中点生成算法、Bresenham生成算法等。程序运行后的菜单界面如图2-1所示。图2-1 直线生成图形的程序运行界面首先创建工程名为“基本图形的生成与填充”的单文档应用程序框架,操作步骤如下:(1)创建单文档应用程序框架。启动Visual C+,选择“文件/新建”菜单命令,在弹出的新建对话框中单击“工程”标签;选择.MFC AppWizard(exe),在“工程名称”编辑框中输入“基本图形的生成与填充”(也可以使用英文名称),选择所要存放的位置
4、后,单击“确定”按钮,出现Stept1对话框;选择“单个文档”选项,单击“下一步”按钮,在接着的Stept2Stept5中,均可以直接单击“下一步”按钮完成应用程序框架的构建。也可以在Stept1步选择“单文档”(Single document)后,直接单击“完成”按钮完成。(2)编辑菜单资源。在工作区中的Resource View标签中,单击Menu项左边的“+”,然后双击其子项IDRMAINFRAME,弹出编辑主菜单项,根据表1中定义的菜单项资源来编辑菜单,如图2-2所示。图2-2 编辑主菜单项(3)添加消息处理函数。利用类向导(Class Wizard)为应用程序添加与菜单项相关的消息处
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 图形学 直线 生成 算法 实现
限制150内