- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二维裁剪
北大计算机系多媒体与人机交互 二维图形基本问题 二维变换(已学) 窗口与视区 二维裁剪 本讲内容 坐标系、窗口与视区 裁剪预备知识(求交) (矩形窗口)裁剪 坐标系 坐标系:建立了图形与数之间的对应联系 世界坐标系(world coordinate) 用户坐标系(user coordinate) 局部坐标系(local coordinate) 坐标系 屏幕坐标系(screen coordinate) 设备坐标系(device coordinate) 什么是窗口、视区? 窗口 在世界坐标系(WCS)中指定的矩形区域 用来指定要显示的图形 视区 在设备坐标系(屏幕或绘图纸)上指定的矩形区域 用来指定窗口内的图形在屏幕上显示的大小及位置 窗口到视区的变换 世界坐标系(WCS) 用户坐标系(UCS) 用户坐标系到观察坐标系的转换 用户Y 用户X 用户坐标 窗口到视区(viewport)的转换 随堂练习 设窗口区为window(0.0,1.0,0.0,1.0),视图区为viewport(100,400,100,400),有用户坐标点Xw,Yw为(0.5,0.3),求其对应的屏幕坐标Xv,Yv。 已知直线的两个端点坐标,以及一个矩形窗口,试编写程序计算该直线与矩形窗口的交点坐标。 二维图形的显示流程图 第四讲 二维裁剪 裁剪(clipping),是裁去窗口之外物体或物体部分的一种操作。 求交(交点,交线) 点的裁剪 直线段裁剪 直接求交算法; Cohen-Sutherland(编码裁剪)算法; 中点分割算法 Liang(梁友栋)--Barsky 算法 多边形裁剪 Sutlerland-Hodgman算法 Weiler-Athenton算法 字符裁剪 点的裁剪 任意点P(x,y)在矩形窗口内的条件: wxl=x=wxr wyb=y=wyt 直线段裁剪 线段裁剪算法(一) ——直接求交算法 Cohen-SutherLand算法(编码算法) Cohen-SutherLand算法(编码算法) 求交测试顺序固定(左上右下) 最坏情形,线段求交四次。 中点分割法 算法的思路: 采用与前相似的线段端点编码和相应的检查方法,先判定完全可见线段和显然不可见线段。 否则,将线段分割成相等的两段,然后对每一小段重复上述的检查,直至找到每段与窗口边界的交点或分割小段的长度充分小,可以视为一点时为止。 实际上,这相当于采用对分查找法求交,分割次数最多不超过线段端点的表示精度。 中点分割法 与Cohen-SutherLand算法相似,只不过在第三种情况下是将线段分为均匀两段,分别测试,直至每条线段完全在视区内或视区外。方法: 从线段的两个端点分别出发找出 与其距离最近的可见边界点。 计算最远可见点的算法如下: 1)若在视区内,则即为离最远的可见点,停止;否则继续; 2)若为完全不可见,停止,否则继续; 3)取的中点,若在视区内,则对来寻找的最远可见点,即用代替,转2),否则代替,执行2); 中点分割法 想法:从P0点出发找出 距P0最近的可见点,从 P1点出发找出距P1最近 的可见点。 取中点Pm=(P1+P2)/2。 (算法见框图) 5.2 多边形裁剪 错觉:直线段裁剪的组合? 关键:要保持窗口内多边形的边界部分,而且要将窗框的有关部分按一定次序插入多边形的保留边界之间,从而使剪裁后的多边形的边仍然保持封闭状态。 新的问题:1)边界不再封闭,需要用窗口边界的恰当部分来封闭它,如何确定其边界? Sutherland-Hodgman算法 多边形裁剪 Weiler-Athenton算法 主多边形和裁剪多边形把二维平面分成两部分。 内裁剪:A∩B 外裁剪:A-B Weiler-Athenton算法 如果主多边形与裁剪多边形有交点,则交点成对出现,它们被分为如下两类: 进点:主多边形边界由此进入裁剪多边形内 如,I1,I3, I5, I7, I9, I11 出点:主多边形边界由 此离开裁剪多边形区域. 如, I0,I2, I4, I6, I8, I10 Weiler-Athenton算法 交点的奇异情况处理 1、与裁剪多边形边重合的主多边形的边不参与求交点; 2、对于顶点落在裁剪多边形的边上的主多边的边,如果落在该裁剪边的内侧,将该顶点算作交点;而如果这条边落在该裁剪边的外侧,将该顶点不看作交点 对于那些非完全可见、又非显然不可
原创力文档


文档评论(0)