首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
刘晖  田泽  黎小玉  陈佳 《微机发展》2014,(2):224-228,233
Sutherland—Hodgman算法是平面裁剪中常用的一种算法,其以顶点序列为基准,对多边形进行逐边裁剪,算法实现简单、效率高,但不适用于对凹多边形进行裁剪。文中以Sutherland-Hodgman算法(文中称为预处理算法)思想为基础,提出了一种亦可对凹多边形进行裁剪的综合多边形裁剪(Integrated Polygon Clip,IPC)算法,实现了对多边形裁剪的统一化操作。介绍了平面裁剪的使用对象,预处理裁剪算法的原理及实现关键步骤,分析了该算法用于对凹多边形裁剪的局限性,在此基础上提出一种适用于任意多边形裁剪的算法。以例证的方式演示了算法的过程,验证了算法的正确性。验证结果表明IPC算法实现了对多边形的统一裁剪。  相似文献   

2.
基于编码与分类技术的任意多边形裁剪新算法   总被引:3,自引:0,他引:3  
首次将编码与分类技术引入任意多边形的矩形窗口裁剪,通过编码分类技术根据多边形边与裁剪窗口的相对位置将边分为六类。采用一次编码技术获取一类窗内边,舍弃二类窗外边,得到必须求交的三类边;采用二次编码技术舍弃四类窗外边,得到需要求交的五、六类边;进一步提出裁剪窗口顶点相对于多边形的分类,利用窗口顶点分类和多边形边的编码特征快速处理三类、五类、六类窗口相交边。通过编码分类技术减少了多边形裁剪的运算量,并有效地维护了多边形的拓扑关系。实验结果表明算法稳定可靠,可实现对任意凹凸多边形的裁剪,在多边形与窗口的各种相对位置均具有较高的运算效率。  相似文献   

3.
基于圆形窗口的简单多边形裁剪算法   总被引:1,自引:1,他引:1       下载免费PDF全文
提出了一种新颖而实用的圆形窗口V对多边形P的裁剪算法。它将多边形P的边视为有向线段,通过引入多边形顶点的入边和出边交点的概念,深入研究了P被V裁剪后的区域确定问题,给出了作出P在V内部分的定理  相似文献   

4.
用VC++实现的任意多边形裁剪算法   总被引:5,自引:0,他引:5  
李海姣  张维锦 《计算机应用》2005,25(Z1):421-423
提出了一个用VC++语言实现的凸多边形、凹多边形,也可以是带内环的多边形的裁剪算法,可以求上述多边形的"交"、"并"以及"差".首先,该算法使用VC++支持的CObList类和CArray类的对象存储数据,具有占用内存空间少及处理速度快的特点;再通过算法和数据结构的设计不仅使得多边形顶点可按顺时针方向或逆时针方向输入,而且减少了求解过程中对多边形顶点数据的遍历次数;基于判断和计算交点是裁剪算法的主要工作,文中引入了求交前的预处理,避免了大量不必要的求交,降低了算法的时间复杂度.最为重要的是该算法不需要对两多边形的边重合或两多边形在顶点处相交的情况作特殊处理.  相似文献   

5.
基于顶点编码的多边形窗口线裁剪高效算法   总被引:12,自引:0,他引:12  
从多边形窗口线裁剪的本质特征出发,首次提出窗口顶点编码的新概念。以被裁剪直线为参照系,将多边形窗口划分为正区、负区和近零区三类区域,从而快速完成多边形窗口顶点编码。通过窗口顶点编码与传统的线段编码相结合,无须求交即可快速排除大部分窗外线段;进一步可以直接得到与直线相交的窗口边,加快了求交进程。更有意义的是,通过窗口顶点编码还可以准确判断并高效处理如下两类特殊相交情况:裁剪直线通过多边形的顶点、裁剪直线通过多边形的边。实验结果表明,新算法提高了裁剪效率并具有很好的稳定性。  相似文献   

6.
多边形裁剪是计算机图形学中较为热点研究的问题,针对复杂多边形窗口的复杂多边形裁剪提出一个可靠有效算法。算法通过添加虚边来消去孔洞,并且为恢复裁剪结果的原貌改进了遍历方法。新的遍历算法只需遍历多边形一次就可巧妙地求得所有裁剪结果,并恢复带孔洞的裁剪结果的内外边界的拓扑结构,无需解环、并环,也不用对裁剪边界重新组合。  相似文献   

7.
有共线边的多边形窗口的线裁剪算法   总被引:6,自引:0,他引:6  
采用参考坐标系B、顶点类型、重合段、处理单位Unit等概念,有效地处理了交点的计算以及裁剪线通过顶点或边的情况.由于利用了多边形窗口结构上的有序性和完整性的特点,文中算法不仅适用于凹多边形窗口,而且适用于相邻边共线等特殊情况的多边形窗口。  相似文献   

8.
给出了一种基于约束Delaunay三角剖分的三维不规则三角网格的精确裁剪算法。算法结合TIN数据的生成特点,首先将TIN投影到二维平面,然后利用约束Delaunay三角剖分把裁剪多边形的每条边嵌入三角网中,再利用边-三角形的拓扑关系删除裁剪多边形外部多余三角形,最后利用边-点的拓扑关系对裁剪多边形顶点高程进行插值,使生成裁剪后的TIN模型。对不同复杂程度的三维TIN模型进行裁剪实验,发现二维投影策略极大地提高了三维TIN裁剪效率。算法的程序实现简单,且符合工程需求。  相似文献   

9.
现有的任意多边形窗口的圆裁剪算法存在算法繁琐等问题,且没有考虑多边形是带内环的情况,本文提出了一种基于交点参数分析的多边形窗口的圆裁剪算法,只需对多边形边与圆的交点在边所在直线的参数值进行比较,即可判断出交点的进出点特性,交点排序后,通过进点?出点组合,即可获得裁剪窗口内的圆弧,完成裁剪.编程实践的实例结果也证明本算法是切实可行的,本文的方法既适用于仅有外环的一般多边形裁剪窗口,也适用于带内环的任意多边形裁剪窗口的圆裁剪,因此,算法更具有通用性.  相似文献   

10.
韩明峰 李传林   总被引:6,自引:0,他引:6       下载免费PDF全文
本文在分析已有裁剪算法优、缺点的基础上提出了一个新算法。该算法通过定义多边形的顶点类型、交点类型、裁剪算法对各种情况都快速、正确地得到结束。  相似文献   

11.
针对大规模等值线图裁剪算法面临的两个主要问题,如何减少线段求交次数和判别保留部分的起止点,提出一种针对大规模等值线图的任意多边形裁剪算法.该算法首先使用等网格分割方法,在等值线线段与裁剪多边形边之间建立网格索引,减少线段求交次数;同时,在网格数据结构基础上,采用局部射线法,很好地解决了判断交点在裁剪多边形内外时间复杂度过大的问题,使得算法可以快速判断出需要保留(剔除)的等值线部分.本文算法的优点是能够在求出交点的基础上快速获得需要保留(剔除)部分的起止点;同时,算法中裁剪多边形可以是包含任意多个洞的任意简单多边形,克服传统算法中对裁剪多边形的特定约束条件.本文算法易于实现且高效.  相似文献   

12.
任意多边形窗口的圆裁剪算法   总被引:1,自引:0,他引:1  
圆的裁剪广泛应用于诸如计算机图形学、二维计算机动画以及机器人运动学等领域.讨论了圆关于任意多边形窗口的一个裁剪算法,按逆时针方向依次求出多边形裁剪窗口的每条边与圆的交点并且保证交点正确排序,对于交点序列中的任意两相邻的交点,采用"中点检测法"来判定以它们为端点的圆弧与裁剪窗口的位置关系,最后给出完整的裁剪算法.实现结果表明,不论从效率还是稳定性方面都取得了比较理想的效果.  相似文献   

13.
一般多边形的切割   总被引:10,自引:1,他引:10  
一般多边形的切割在计算机辅助设计中应用很广泛,如在服装CAD中对衣片的裁剪等,本文给出对一般多边形切割的算法,同时给出了一个 般我边形裁剪的较为简便有效的算法。  相似文献   

14.
在多种裁剪算法的基础上进行分析和改进,提出了一种新的裁剪算法,算法通过计算任意多边形每条边所在直线与被裁剪线段所在直线求出真实的交点,并通过交点排序后的奇数校验法判断出交点所在位置,即是在任意多边形的内部还是外部,该裁剪算法通过实验证明了具有很高的算法效率.  相似文献   

15.
基于凸剖分的多边形窗口线裁剪算法   总被引:1,自引:0,他引:1  
以不增加新点的方式将多边形剖分为一些凸多边形,并基于这些多边形的边建立二叉树进行管理.裁剪计算时,根据二叉树快速地找到与被裁剪线有相交的凸多边形,然后运用高效的凸多边形裁剪算法进行线裁剪.该方法能自适应地降低裁剪计算的复杂度,使其在O(logn)和O(n)之间变化,并在大多数情况下小于O(n),其中n是多边形边数.虽然该方法需要进行预处理,但在许多应用(如多边形窗口对多边形的裁剪)中,其总执行时间(包括预处理时间和裁剪时间)比已有的不需要预处理的裁剪算法少很多.  相似文献   

16.
一种有效的任意多边形裁剪算法   总被引:6,自引:0,他引:6  
介绍了一种基于改进的Weiler算法的任意多边形裁剪算法,该算法通过引入图形部件和合理的数据结构来组织裁剪后的多边形,减少了遍历多边形顶点链表的次数,并有效减少求交点的时间,具有占用存储空间少和处理速度快的特点。经过实例测试,算法对同时处理单个和多个任意多边形裁剪具有良好的稳定性、可靠性和较高的效率。  相似文献   

17.
针对大规模矢量线与大量裁剪窗口同时出现的线裁剪算法存在的三个主要问题,减少线段求交次数、简化交点出入属性计算以及无交点矢量线的取舍,本文提出了一种基于双空间索引的大规模线图任意多边形裁剪算法。算法根据裁剪多边形的边分别建立R-树索引和均匀Cell索引,应用两种索引各自的优点大幅减少被裁剪线段与裁剪多边形上线段的求交次数。在此基础上,基于均匀网格索引,提出局部射线法,简化交点出入属性计算和无交点矢量线的取舍。本文在传统算法基础上提出三点改进:首先提出基于两种空间索引模型进行线段求交计算,保证算法在理论上具有较低的时间复杂度;其次,在射线法和网格索引基础上提出局部射线法,使得判断每个交点出入属性的时间复杂度为O(1)~ O(n~(1/2)),与参考文献中的算法相比,此方法的优点是避免判断多边形上顶点的方向;最后,算法中裁剪多边形可以是包含任意多个洞的任意简单多边形,克服传统算法中对裁剪多边形的特定约束条件。  相似文献   

18.
针对任意多边形窗口内圆的裁剪问题,本文提出一种更加全面、有效的裁剪算法.该方法提出借助x-扫描线算法来判断圆和多边形窗口的位置关系,排除圆完全在窗口内或者窗口外的情况;针对多边形窗口和圆相交的情况,按照逆时针方向依次求出多边形各边与圆的交点;最终,通过判断两点间的关系,决定两点之间画线还是画弧,完成圆的裁剪.实验结果表明,该方法能够有效全面的完成多边形窗口的圆裁剪.  相似文献   

19.
在2D 图形引擎中,可见性判定是一个非常重要的问题。通过屏幕裁剪, 可以进一步减少多边形数目,减轻引擎的负担。因此,在屏幕裁减阶段完成的屏幕顶点与多 边形的内外关系判断就显得很重要了。文章结合2D 图形引擎的特点和流行的内外点判别算 法给出了在DirectX 平台上使用VC++实现的平面多边形内外点判断算法,并将其应用于实 际的2D 图形引擎中。程序验证表明,该算法能有效判定屏幕顶点与多边形的内外关系,且 算法效率较高、简单易行。  相似文献   

20.
具有拓扑关系的任意多边形裁剪算法   总被引:5,自引:0,他引:5  
多边形-弧段-结点之间的联系是描述多边形空间拓扑关系的重要方法,为了维护裁剪前后这种拓扑关系的正确与继承性,本文在Wdiler-Atherton算法的基础上提出了一种新的算法。新算法中主要特点是将原算法中的交点表改为交点、弧段混合表,沿用原算法的追踪方式,但追踪目标由顶点序列改为弧段序列,使之适应具有空间拓扑关系的任意多边形的裁剪要求。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司    京ICP备09084417号-23

京公网安备 11010802026262号