网站大量收购独家精品文档,联系QQ:2885784924

椭圆的扫描转换.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
椭圆的扫描转换

椭圆弧上部的扫描转换(1) 椭圆弧上部对应的决策参数: 根据决策参数的取值,成立: 椭圆弧上部的扫描转换(2) 决策参数的递推计算 初始条件: 椭圆弧上部的扫描转换(3) 椭圆弧上部的扫描转换(4) 椭圆弧上部的扫描转换(5) 递推计算过程: 椭圆弧下部的扫描转换(1) 同理对椭圆弧的下部进行扫描转换。 椭圆弧下部的扫描转换(2) 判别参数的递推计算: 椭圆弧的扫描转换 从(0,ry)开始,绘制椭圆弧的上部,采用判别参数为d1i; 当绘制当前点满足切线斜率大于-1时,椭圆弧上部绘制完成; 从(rx,0)开始,绘制椭圆弧的下部,采用判别参数为d2i; 当绘制当前点的坐标与椭圆弧上部的最后一点交叉时,椭圆弧下部绘制完成; 根据椭圆的对称性完成整个椭圆的绘制. 区域 1 区域 2 切线斜率= -1 法矢量 (0,ry) (rx,0) 若干相关问题(1) 曲线的扫描转换: 一般方法:直线段逼近 注意象素点的等距。为此可使用曲线的参数表示,或按照曲线斜率选择自变量,而从显式表示中生成等距位置点。 正负法: 尤其适合易画曲线: 具有正负划分性、平坦性、连续性 初始定向:起始点切线方向; 前进规则:正负划分性确定; 若干相关问题(2) 直线绘制算法的并行实现: 任何线生成算法都可以通过线段分割而适用于并行实现。 有足够多的处理器时,按照屏幕的不同区域分配处理器。 若干相关问题(3) 图元几何尺寸的保留: 在扫描转换过程中注意象素集合的实际尺寸,如线段的始末点坐标的定义。 不同图元的尺寸变化不同。 若干相关问题(4) 线宽控制 标准线宽的直线被扫描转换为一个象素宽的直线段。 其它线宽的实现可以采用笔或刷的方式。 通过沿相邻平行线路径画额外的象素可以定义标准线宽的正整数倍的其它线宽。 线刷子方法实现的线宽控制:分水平和垂直两种。 垂直线刷子:一般地,对于任意线段,当某点切矢斜率在[-1,1]之间时,扫描转换过程是:给定x以固定步长,确定y方向的增量,所以可用垂直线刷子扫过象素,即得到所要求的线段。 水平线刷子:对于其切矢斜率在[-1,1]之外的线段,可用水平线刷子扫过即可。 ? 线刷子的设计简单高效。但它存在如图所示的缺陷。 线刷子方案的缺陷 采用矩形刷子可以避免第一个缺陷 需设计新的数据结构以避免象素的重复绘制。 采用画轮廓线再填充的方法可以避免上述三种缺陷。 解决方案 线型控制 线型属性:实线、虚线和点划线等。 线型的实现方式:通过设置沿线路径显示的实线段的长度和间距来修改画线算法得到不同类型的线。 例如:用布尔数组定义出指定的类型,如间距为5的虚线:1111100000(1表示绘制点,0表示不绘制点),并使其在直线段的有效定义范围内不断重复,即扫描转换后得到的象素点依序与线型定义数组一一对应,并根据线型定义数组决定该象素点的绘制与否。 若干相关问题(5) 采用上述固定划线长度的实现方法会在直线方向定义不同时产生出不等长的划线段。 原因在于相同个数的象素沿不同方向将生成不同长度的线段。 为实现精确的线型定义,应按照线的斜率调整线型定义数组中实线段和空白段的象素数目。 线型的精确控制 另一种精确定义线型的方法是:将线上的每一段实划线作为一段单独的线段,定位其始末端点坐标,再调用直线的扫描转换算法实现绘制。 线型的精确控制 小结 圆的扫描转换 中点画圆算法、Bresenham画圆算法 圆的内接正多边形迫近法 椭圆的扫描转换—中点转换算法 曲线的扫描转换—直线近似法、正负法 属性控制—线宽、线型的实现 练习题 请写出中点算法绘制椭圆弧下部时使用的判别参数的递推计算公式。 请用伪代码的方式写出椭圆的中点绘制算法。 * 分别图中三种情形,进行点到圆心距离(绝对值取值正负号)的讨论。 计算:dk+1-dk 求解增量 线刷子的设计简单高效。但它有以下的缺陷: 当线宽较大,在线刷子的转换处会显出缺口,如右图所示; 粗细不均匀:当斜率趋近水平或垂直时,实际线宽接近指定的线宽,而k越接近1,则线宽越细,当等于1时最细; 线段端点处是水平的/垂直的。 北京工业大学 第三章 基本图形生成算法 授课人:张勇 回顾:直线扫描算法 数值微分法DDA 中点画线法 Bresenham画线法 确定当前点的下一点的产生方法,确定判别式,实现增量计算 第三节 圆与椭圆的扫描转换 圆的扫描转换 中点画圆算法 Bresenham画圆算法 内接正多边形迫近法 椭圆的扫描转换 中点画法 若干相关问题 圆的表示 原始定义: 等价定义: 代数离散法 效率低 圆的属性分析 对称性 (y,x) (y,-x) (x,-y) (-x,-y) (-y,-x) (-y,x) (-x,y) (x,y) ? ? ? ? ? ? ? ? 正

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档