第6章二维裁剪汇编.ppt

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课堂练习 简述几种常见的混淆现象和反混淆方法 第六章二维裁剪 直线段裁剪 多边形裁剪 字符裁剪 知识点 裁剪直线段的Cohen-Sutherland算法、Nicholl-Lee-Nicholl算法、中点分割算法、梁友栋-Barskey算法; 裁剪多边形的Sutherland-Hodgman算法、Weiler-Atherton算法; 字符裁剪 要求 了解什么是裁剪、裁剪窗口,裁剪算法的基本内容: 图形关于窗口区域内外关系的判别; 图形与窗口的求交计算; 掌握裁剪直线段的Cohen-Sutherland算法、中点分割算法、梁友栋-Barskey算法; 了解裁剪直线段的Nicholl-Lee-Nicholl算法; 掌握裁剪多边形的Sutherland-Hodgman算法(又称逐边裁剪算法); 了解裁剪多边形的Weiler-Atherton算法; 掌握如何裁剪一个字符串,如何裁剪一个点阵表示(或矢量表示)的字符。 6.1直线段裁剪 裁剪的目的 判断图形元素是否落在裁剪窗口之内并找出其位于内部的部分 裁剪处理的基础 图元关于窗口内外关系的判别 图元与窗口的求交 假定条件 矩形裁剪窗口: [xmin,xmax]×[ymin,ymax] 待裁剪线段: 待裁剪线段和窗口的关系 线段完全可见 显然不可见 线段至少有一端点在窗口之外,但非显然不可见(部分可见) 6.1.1点裁剪 点(x, y)在窗口内的充分必要条件是: 6.1.2 直接求交算法 6.1.3 Cohen-Sutherland 算法 步骤: 判别线段两端点是否都落在窗口内,如果是,则线段完全可见;否则进入第二步; 判别线段是否为显然不可见,如果是,则裁剪结束;否则进行第三步 ; 求线段与窗口边延长线的交点,这个交点将线段分为两段,其中一段显然不可见,丢弃。对余下的另一段重新进行第一步,第二步判断,直至结束。 特点:对显然不可见线段的快速判别。 编码方法 区域编码:用窗口四边所在的直线将整个平面分成9个区域,每个区域赋于一个四位的编码 (上下右左各边的外侧记为1) 编码方法 端点编码:也就是它所在区域的编码。结论: 当端点的编码值全0时,该端点必在窗口内部,完全可见。 当线段的两个端点的编码的逻辑“与”非零时 ,线段为显然不可见的。 当线段两个端点的编码不同时,比如两个端点的Cl编码一个为1,一个为0,则线段与窗口左边有交点,求出该交点。进行下一步判断。 6.1.4 Nicholl-Lee-Nicholl算法 目标:通过对二维平面的更详细划分,消除Cohen-Sutherland算法中线段在被裁剪时需多次求交的情况 。 步骤 (1)窗口四边所在的直线将二维平面划分成9个区域,假定P1落在区域0、4、5 (2)从P0点向窗口的四个角点发出射线,这四条射线和窗口的四条边所在的直线一起将二维平面划分为更多的小区域 。 (3)确定P1所在的区域(根据斜率计算) 。求交点,确定P0P1的可见部分 。 6.1.5 中点分割算法 想法:最近可见点 寻找最近可见点的方法:中点分割方法 算法过程:同时从P0 ,P1出发找最近可见点 6.1.6 梁友栋-Barskey算法 梁友栋先生出生于1935年7月,福建福州人。1956-1960年于复旦大学作为研究生师从苏步青先生学习几何理论,1960年研究生毕业后任教于浙江大学数学系,1984-1990年任数学系主任。 80年代初梁友栋先生提出了著名的Liang-Barskey裁剪算法,通过线段的参数化表示实现快速裁剪,至今仍是计算机图形学中最经典的算法之一; 1991年,梁友栋先生为首完成的成果“计算机图形生成与几何造型研究”获国家自然科学三等奖;九十年代后期,六十多岁的梁友栋先生学术思想仍然非常活跃,积极开展纤维缠绕几何设计的研究。 6.1.6 梁友栋-Barskey算法 目标:将二维裁剪问题化简为一维裁剪问题 方法:生成一维诱导窗口Q0Q1 P0、P1 、Q0、Q1的位置参数分别为: 因此裁剪的结果也就是满足条件的参数t的区间。 接下来就是找到这个满足条件的参数区间。 P0P1和竖直方向始边终边的交点的参数记为: 和 P0P1和水平方向始边终边的交点的参数记为: 和 。 LR和TB所对应参数区间分别为 具体计算时,把P0P1写成参数方程 x = x0 + Δx t y = y0 + Δy t 其中Δx=x1 - x0,Δy=y1 - y0。把窗口边界的四条边分成两类,一类称为始边,另一类称为终边。 当Δx≥0(Δy≥0)时,称x=xL(y=yB)为始边,x=xR(y=yT)为终边。 当Δx0(Δy0)时,称x=xL(y=yB)为终边,

您可能关注的文档

文档评论(0)

花仙子 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档