网站大量收购独家精品文档,联系QQ:2885784924

二维裁剪算法的研究.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  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文档。上传文档
查看更多
二维裁剪算法的研究.doc

二维裁剪算法的研究 摘要:近几十年来,计算机图形学有了引人瞩目的发展,它已广泛应用于计算机辅助设计、电视广告、动画和仿真等许多领域并发挥着重要作用。可以说计算机图形学已经发展成为一门成熟的学科。在各种实践应用中,计算机图形学的许多基础算法发挥着不可替代的重要作用,因此不断提高和完善图形学的基础算法至关重要。   计算机图形学主要研究的是在计算机中构造图形,将用数学模型描述的图形数据采用合适的算法转换为屏幕上图形的显示。计算机图形学学科研究的对象为二维图形学和三维图形学及其显示和变化情况。点、线、面为二维图形学范畴,几何体和场等数学构造方法则为三维图形学范畴。   现在,计算机图形学的一些基本算法已经形成了固化在硬件中的规范软件包,这个学科也日趋成熟和完善。但是依然有很多算法还需要不断的改进才能应用到实际中,而裁剪算法就是其中之一。本文主要对二维图形裁剪中的椭圆形窗口裁剪算法进行了研究,使其具有较高的效率和稳定性。   关键词:计算机图形学 裁剪算法     裁剪概述   裁剪算法,简称裁剪,是计算机图形学中很多重要问题的基础,它就是从数据集合中识别指定区域内或指定区域外图形部分的过程。裁剪用途很广泛,最典型的就是确定场景中位于指定区域内的景物部分。其中,指定区域成为裁剪窗口,一般为矩形,由四条边组成,上、下、左、右,即:(Xl,Yb),(Xr,Yt)。实质上来说,裁剪就是确定哪些多边形等几何体位于裁剪窗口内。对于点(X,Y),只要判断两对不等式:Xl≤X≤Xr,Yb≤Y≤Yt即可。   如果四个点坐标的不等式都不成立,则这个点在矩形窗口外,否则,在窗口内。有一种最简单的裁剪方法,就是将所有图形扫描转换成点,然后在进行判断。但是这种方法时间消耗太大,非常不可取。倘若将全部在窗口外的图形完全排除而不进行扫描转换,则时间上面可以高效很多,故一般采用先裁剪再扫描的方法。   按裁减对象来分,裁剪算法大概分为如下几种:点裁剪、直线段裁剪、区域多边形裁剪、曲线裁剪和文字裁剪。 直线段裁剪矩形窗口的直线段裁剪多边形窗口的直线段裁剪圆形窗口的直线段裁剪   裁剪有多方面应用,主要包括:使用实体造型创建对象、在三维视图中标示出可见面、对图形的一部分进行删除、复制或移动操作、防止图形边界混淆、从特定场景中抽取指定部分等。在不同的应用中,裁剪窗口的形状也不尽相同。然而,裁剪算法是否高效关键在减少求交运算,高效识别裁剪线段是否与裁剪窗口边界相交。   二维裁剪算法分为两种,对二维线段的裁剪以及对二维多边形的裁剪,在这两方面,国内外许多专家学者都进行了深入的研究,出现了很多经典算法。对于前者,比较经典的算法有便于硬件实现的中点分割算法,基于编码技术的Cyrus-Berk裁剪算法,Nicholl等提出的基于几何变换技术的NLN算法,通过法向点积判别的Cyrus-Ber k裁剪算法,在NLN算法基础上发展的ELC算法,以及Liang-Bars ky算法等。另外,还有一种比较高效的只用整数运算来计算整数交点的线裁剪算法,是由M.Dorr综合了直线参数表示方法和Cohen-Suthcrland的编码方法而得到的。 Cyrus-Berk裁剪算法 方法,求出两个端点的t值,通过两个t值的位置关系判断线段与裁剪面的相对位置。 2D: 1、将线段表示为参数化方程 p = p1 + (p2 - p1)* t,(0 = t = 1) 2、令dx = x2 - x1,dy = y2 - y1,以坐标分量表示: x = x1 + dx * t y = y1 + dy * t 3、位于裁剪区域内条件: xmin = x1 + dx * t = xmax ymin = y1 + dy * t = ymax 转化并化简: 左边界不等式(n = 0):-dx * t =(-xmax + x1) 右边界不等式(n = 1): dx * t =( xmax - x1) 上边界不等式(n = 2): dy * t =( ymax - y1) 下边界不等式(n = 3):-dy * t =( ymax + y1) 5、将不等式统一看成pn * t = qn的形式: pn = 0,线段与边界平行,不可能相交 pn = 0,线段位于边界内侧 pn 0,线段位于边界外侧 pn 0,线段穿过边界进入裁剪区 pn 0,线段穿过边界离开裁剪区 6、若为条件1、2、3,则拒绝 若为上述第4、5个条件,将不等式转换为:t = qn / pn,对每个不等式求解t, 结果依次为rn(

文档评论(0)

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

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

1亿VIP精品文档

相关文档