二维图形裁剪.pptVIP

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

二维图形裁剪;二维裁剪;裁剪的应用 从定义的场景中抽取用于观察的部分 在三维视图中识别出可见面 防止线段或对象的边界混淆 用实体造型来创建对象 显示多窗口的环境 允许选择图形的一部分来进行拷贝、移动或删除等绘图操作 裁剪算法类型 图形裁剪与窗口——视图变换的先后 窗口边界裁剪 视区边界裁剪 图形生成与裁剪先后 先生成后裁剪 先裁剪后生成;点的裁剪;直线段裁剪;直线段裁剪;;;实交点是直线段与窗口矩形边界的交点。 虚交点则是直线段与窗口矩形边界延长线或直线段的延长线与窗口矩形边界的交点。?;直线的剪裁算法;直接求交算法;矢量裁剪法;排斥性测试 若线段满足下述四个条件之一时: max(x1,x2)≤xl min(x1,x2)≥xr max(y1,y2)≤yb min(y1,y2)≥yt 则线段必定位于窗口之外,无输出线段。 包含性测试 若线段满足:xl≤x1≤ xr, yb≤y1≤ yt,则线段的始点在0区,也即线段可见段的起点为: xs = x1 , ys= y1;求交点,并判断 I. 若x1<xl,则: 线段的起点坐标可能 位于3区、4区、5区。 而新起点的坐标可能在 直线y= yb和线段的交点上 直线y= yt和线段的交点上 直线x= xl和线段的交点上;第一种情况: 此时,若xl≤xs≤ xr 则(xs ys)为有效新起点。 第二种情况: 此时,若xl≤xs≤ xr 则(xs ys)为有效新起点。;II. 若x1xr 线段的起点坐标可能 位于6区、7区、8区。 而新起点的坐标可能在 直线y= yb和线段的交点上 直线y= yt和线段的交点上 直线x= xr和线段的交点上;第一种情况: 此时,若xl≤xs≤ xr 则(xs ys)为有效新起点。 第二种情况: 此时,若xl≤xs≤ xr 则(xs ys)为有效新起点。 第三种情况: 此时,若yb≤ys≤ yt 则(xs ys)为有效新起点。 若此三种情况都不满足,则此线段不在窗口区内。;III 若Xl=X=Xr 线段的起点坐标可能位于1区和2区。 而新起点的坐标可能在 直线y= yb和线段的交点上 直线y= yt和线段的交点上;第一种情况: 此时,若xl≤xs≤ xr 则(xs ys)为有效新起点。 第二种情况: 此时,若xl≤xs≤ xr 则(xs ys)为有效新起点。 若此二种情况都不满足,则此线段不在窗口区内。;Cohen-Sutherland 算法 (编码算法) ;;;Cohen-SutherLand算法(编码算法);第一位 1:点处于上边框线的上边; 第二位 1:点处于下边框线的下边; 第三位 1:点处于右边框线的右边; 第四位 1:点处于左边框线的左边; 显然: 如果某线段的两端点的两个四位代码全为零时那么该线段完全位于窗口内,即全为“0000”,可直接保留; 如果两端点的标识码的逻辑与(按位乘)运算,结果不为零,那么该线段必位于窗口外,可直接舍弃。 否则,这一线段可能与窗口相交。此时,需要对线段进行再分割,即找到与窗口边线的一个交点,根据交点位置,赋予四位二进制编码,然后再进行上述测试,测试结果是必有一段在窗口之外,可被排除,另一段再重复上述处理过程。 直到全部线段均被舍弃或被保留为止。;Cohen-SutherLand算法(编码算法);求交测试顺序固定(左上右下) 最坏情形,线段求交四次。;;例题:;Cohen-SutherLand算法(编码算法);;;中点分割算法;中点分割法;; 线段MP1完全在窗口之外,那么便以线段P0M为新的线段P0P1,然后返回算法的第一步重新开始测试; 如果线段MP1没有被完全排斥在窗口之外,那么便以线段MP1作为新线段P0P1,然后返回算法的第一步。;中点分割算法-求线段与窗口的交点;中点分割算法框图;算法步骤: (1)输入直线段的两端点坐标:p0(x0,y0)、p1(x1,y1),以及窗口的四条边界坐标:ymin、ymax、xmin和xmax。 (2)对p0、p1进行编码:点p0的编码为code1,点p1的编码为code2。 (3)若code1|code2=0,对直线段应简取之,保留当前直线段的端点坐标,转(5);否则,若code1code2≠0,对直线段可简弃之,转(5);当上述两条均不满足时,进行步骤(4)。 (4)求出直线段的中点M,将p1M、p2M入栈。 (5)当栈不空时,从栈中弹出一条直线段,取为p0p1,转(2)进行处理。否则,继续(6)。 (6)当栈为空时,合并保留的直线段端点,得到窗口内的直线段p0p1。用直线扫描转换算法画出当前的直线段p0p1,算法结束。; 中点分割算法的核心思想是通过二分逼近来确定直线段与窗口的交点。;;重新构造算

文档评论(0)

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

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档