[计算机软件及应用]二维图形裁剪.pptVIP

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[计算机软件及应用]二维图形裁剪

二维图形裁剪 “取景器”=窗口 点裁剪 点(x, y)在窗口内的充分必要条件是: 问题:对于任何多边形窗口,如何判别? 二、线段裁剪 基本思想:对于每条待裁剪的线段P1P2分三种情况处理: ①若P1P2完全在窗口内,则显示该线段P1P2,简称“取”之; ②若P1P2完全在窗口外,则丢弃该线段,简称“舍”之; ③若线段既不满足“取”的条件,也不满足“舍”的条件,则求线段与窗口边界的交点,在交点处把线段分为两段,其中一段完全在窗口外,可舍弃之,然后对另一段重复上述处理。 核心思想:分区编码和线段分割。 每个区域赋予一个四位编码,CtCbCrCl,上下右左; 例:Cohen-SutherLand算法过程: 编码算法特点 求交测试顺序固定(左上右下) 最坏情形,线段求交四次。 线段的参数表示 x=x0+t△x y=y0+t△y 0=t=1 △x=x1-x0 △y=y1-y0 窗口边界的四条边分为两类:始边和终边。 3.始边和终边的确定及交点计算: 令 QL= △x DL= x0-xL QR= △x DR= xR-x0 QB= △y DB= y0-yB QT= △y DT= yT-y0 参数交点为: ti= Di / Qi i=L,R,B,T Qi 0 ti为与始边交点参数 Qi 0 ti为与终边交点参数 当Qi =0时 若Di 0 时,线段不可见 (如图中AB,有QR=0,DR0) 若Di 0 时, 分析另一D, (如图中的EF就是这种情况,它使QL=0,DL0和QR=0,DR0。这时由于EF和x=xL及x=xR平行,故不必去求出EF和x=xL及x=xR的交点,而让EF和y=yT及y=yB的交点决定直线段上的可见部分。) 三、多边形裁剪 错觉:直线段裁剪的组合? 关键:要保持窗口内多边形的边界部分,而且要将窗框的有关部分按一定次序插入多边形的保留边界之间,从而使剪裁后的多边形的边仍然保持封闭状态。 新的问题: 1)边界不再封闭,需要用窗口边界的恰当部分来封闭它,如何确定其边界? Sutherland-Hodgman算法 思路:将多边形边界作为一个整体,分而治之。将多边形的各边先相对于窗口的某一条边界进行裁剪,然后将裁剪结果再与另一条边界进行裁剪,如此重复多次,便可得到最终结果。 流水线过程(左上右下):左边的结果是上边的开始。 内侧空间与外侧空间 多边形的边与半空间的关系 实现方法: ①设置二个表 输入顶点表(向量)—存放被裁剪多边形的顶点p1-pm。 输出顶点表(线性链表)—存放裁剪过程中及结果的顶点 q1-qn。 ②输入顶点表中各顶点要求按一定顺序排列,一般可采用顺时针或逆时针方向。 ③相对于裁剪窗口的各条边界,按顶点表中的顺序,逐边进行裁剪。 裁剪结果的顶点构成:裁剪边内侧的原顶点; 多边形的边与裁剪边的交点。 顺序连接。 Weiler-Athenton算法 裁剪窗口为任意多边形(凸、凹、带内环)的情况: 主多边形:被裁剪多边形,记为A 裁剪多边形:裁剪窗口,记为B 主多边形和裁剪多边形把二维平面分成两部分。 内裁剪:A∩B 外裁剪:A-B Weiler-Athenton算法 如果主多边形与裁剪多边形有交点,则交点成对出现,它们被分为如下两类: 进点:主多边形边界由此进入裁剪多边形内 如,I1,I3, I5, I7, I9, I11 出点:主多边形边界由 此离开裁剪多边形区域. 如, I0,I2, I4, I6, I8, I10 Weiler-Athenton算法 交点的奇异情况处理 1.与裁剪多边形边重合的主多边形的边不参与求交点; 2.对于顶点落在裁剪多边形的边上的主多边形的边,如果落在该裁剪边的内侧,将该顶点算作交点;而如果这条边落在该裁剪边的外侧,将该顶点不看作交点 p1 p2 p3 p4 p5 q1 q2 q3 q4 需要设置二个表: 输入顶点表(向量)—存放被裁剪多边形的顶点p1-pm。 输出顶点表(线性链表)—存放裁剪过程中及结果的顶点 q1-qn。 q5 q6 q7 q8 q1 q2 p3 q7 q8 q5 q6 q4 q3 裁剪前: 裁剪后: 输入顶点表:p1p2p3p4p5 输入顶点表: 不变 输出顶点表: 空 输

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档