第3章 5 裁剪算法.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
① D 1 =- Δ x , M 1 =x 0 -x min ② D 2 = Δ x , M 2 =x max -x 0 ③ D 3 =- Δ y , M 3 =y 0 -y min ④ D 4 = Δ y , M 4 =y max -y 0 得出结论 : ? 任何平行于窗口某边界的直线,其 D k =0 , k 值对应于相应 的边界( k=1 , 2 , 3 , 4 对应于左、右、下、上边界)。如 果还满足 M k <0 ,则线段完全在边界外,应舍弃该线段。如 果 D k =0 并且 M k ≥ 0 ,则线段平行于窗口某边界并在窗口内, 见图中所示。 ? 公式还告诉我们: ? 1 、当 D k <0 时,线段从裁剪边界延长线的外部延伸到内部; ? 2 、当 D k >0 时,线段从裁剪边界延长线的内部延伸到外部; D k =0 例如,当 Δx≥0 时, ① 对于左边界 D 1 <0 ( D 1 =- Δx ),线段从左边界的外部到内部 ② 对于右边界 D 2 >0 ( D 2 = Δx ),线段从右边界的内部到外部。 当 Δy <0 时 ③ 对于下边界 D 3 >0 ( D 3 =- Δy ),线段从下边界的内部到外部; ④ 对于上边界 D 4 <0 ( D 4 = Δy ),线段从上边界的外部到内部。 1 2 ? 当 D K ≠0 时,可以计算出参数 t 的值,它对应于无限延伸的直 线与延伸的窗口边界 k 的交点,即 t = M k /D k ? 对于每条线段,可以计算出参数 t 1 和 t 2 ,该值定义了位于窗 口内的线段部分: ? 1 、 t 1 的值由线段从外到内遇到的矩形边界所决定( D k <0 ), 对这些边界计算 r k =M k /D k , t 1 取 0 和各个 r 值之中的最大值。 ? 2 、 t 2 的值由线段从内到外遇到的矩形边界所决定( D k >0 ), 对这些边界计算 r k =M k /D k , t 2 取 0 和各个 r 值之中的最小值。 ? 3 、如果 t 1 >t 2 ,则线段完全落在裁剪窗口之外,应当被舍弃; 否则,被裁剪线段的端点可以由 t 1 和 t 2 计算出来。 X L =0,X R =140,Y B =0,Y T =100,P 1 (-62,19).P 2 (204,166) D L <0,D B <0, 直线 P 1 P 2 与 左、下有交点; D R >0,D T >0, 直线 P 1 P 2 与右、上有交点; 分别 求出交点的参数 t , 然 后根据 t 0 = max(t 0 ',t 0 '',0 ) 与 t 1 = min(t 1 ',t 1 '',1) 计算 t 0 与 t 1 ; 最后根据 t 0 与 t 1 的关系确 定可见线段。 1 、初始化线段交点的参数: t 1 =0 , t 2 =1 ; 2 、计算出各个裁剪边界的 D 、 M 值; 3 、根据 D 、 M 来判断:是舍弃线段还是改变交点的参数。 当 D<0 时,参数 r 用于更新 t 1 ;( t 1 =max{t 1 , … , r k } ) 当 D>0 时,参数 r 用于更新 t 2 。 ( t 2 =min{t 2 , … , r k } ) 如果更新了 t 1 或 t 2 后,使 t 1 >t 2 ,则舍弃该线段。 当 D=0 且 M<0 时,因为线段平行于边界并且位于边界之外,则舍弃 该线段 . 如图所示。 ? Cohen-sutherland 算法与中点算法 在区码测试阶 段能与位运算的方式高效率进行 , 因而当大多数的 线段能够简单的舍取时 , 效率较好; 中点算法可并 行处理,进一步提高算法的效率。 ? Liang-Barsky 该方法是以直线的参数方程为基础进 行设计的。是一种 只能 应用于平行于坐标轴的矩形 窗口情况下的 Cyrus-Beck 算法,因而效率更高。 ? 梁友栋和 Barsky 比 Cohen - Sutherland 算法速度 更快, 它把二维裁剪问题化成两次一维裁剪问题, 直线裁剪算法转化为解一组不等式的问题。 ? 错觉 ? 多边形边界是直线段的组合 , 那么能否利用线段裁剪算 法? ? 不能用 线段裁剪方法 主多边形 第三章 ? 裁剪是抽取数据的一部分,或者识别一个指定区域 内部或外部的画面或图片的成分的过程。 ? 按照被裁剪的图形可以分为:二维裁剪算法和三维 裁剪算法 ? 按照裁剪区域的形状可以分为:规则区域和不规则 区域 ? 本章二维裁剪算法只考虑举行和多边形,裁剪的对 象只考虑点、线段、多边形、字符等。 ? 三维裁剪算法只考虑正方体和平截头正四棱锥两种 裁剪盒,裁剪对象只考虑线段。 4 Sutherlan-Cohen 算法 梁友栋 -

文档评论(0)

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

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

1亿VIP精品文档

相关文档