首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 187 毫秒
1.
赵军  刘荣珍 《计算机应用》2012,32(11):3164-3167
针对求两个简单多边形交、并、差集问题,提出一种基于最小回路的新算法。首先,将初始多边形P和Q初始化为逆时针方向,并将两个多边形交点处的关联边排序。然后,从各个交点出发利用最小转角法搜索最小回路,并根据这些最小回路中包含P和Q边的方向性对它们进行分类。最终,不同类别的最小回路将对应P和Q的交、并、差集。算法的时间复杂度为O((n+m+k)logd),其中n、m 分别是P和Q的顶点数,k是两多边形的交点数,d为将多边形分割的单调链数。算法几何意义明显,对于多边形布尔运算中的重合顶点、重合边等奇异情形,具有较好的适应性。  相似文献   

2.
针对计算机图形学中应用广泛的多边形布尔计算,提出了一种新的、适用于一般多边形的并集、交集和差集算法。算法主要分为计算交点、将交点插入多边形顶点序列、遍历三个步骤。通过采用循环单链表的数据结构、避开复杂的出入点计算、及预先的一些碰撞检测以避开复杂的求交运算与链表遍历等技巧,提高了算法的执行速度、减少了存储单元。算法能够很好地处理一些奇异情形(边界情形),比如重叠边、交点为边的顶点等情形,具有很好的鲁棒性。与经典的Weiler算法、Vatti算法和Greiner-Hormann算法相比,该算法具有较低的时间复杂度O(( m+n+k) log d))和空间复杂度。实验结果显示该算法在处理2222×2222个顶点、42个交点时比经典的Weiler算法速度提高了296倍。算法的主要思想对确定两个多面体的交、并、差问题亦有参考价值。  相似文献   

3.
确定两个任意简单多边形空间关系的算法   总被引:4,自引:0,他引:4  
阐述了把简单多边形的边分为奇偶边的新思想,根据一多边形的边与另一多边形的拓朴关系,划分边为5种拓朴类型:内边、外边、重叠边、相交边、复杂边,进而给出了确定两个多边形空间关系的算法,算法的时间复杂度为O((n+m)log(n+m)),其中n、m分别是两输入多边形的顶点数。该算法建立在数学理论基础之上,没有奇异情况需要处理,易于编程实现。算法的主要思想对确定两个简单多面体空间关系亦有参考价值。  相似文献   

4.
本文提出了一种实用的圆与多边形重叠区域的判定算法,它集判断与确定功能于一体。该算法将多边形的边视为有向线段,通过引入多边形顶点的入边,出边交点的概念,研究了圆与多边形重叠区域的确定问题,并给出了作出其重叠区域的定理。  相似文献   

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

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

7.
基于轨迹计算的临界多边形求解算法   总被引:1,自引:0,他引:1  
将多边形滑动碰撞问题转化为顶点和边之间的轨迹线提取问题,从而降低了时间复杂度,并可统一处理边界空腔和内部靠接临界多边形问题.该算法的基本原理是:1)求解多边形顶点相对于另一多边形的轨迹线;2)求解轨迹线集合所形成的外包多边形和内部顺时针环,得到的多边形即为临界多边形.该算法采用基于网格的线段索引方法来加快线段之间的求交计算,进一步提高了临界多边形求解的计算速度.  相似文献   

8.
简单多边形方向识别的健壮算法   总被引:1,自引:0,他引:1  
极值顶点前后相邻边矢量叉积法是识别任意简单多边形方向的最优算法 该算法存在的问题是 :当极值顶点前后相邻边夹角接近 0°或 180°时 ,叉积结果接近 0 ,因此存在二义性 ,会导致错误的方向识别 针对现有算法对奇异情形方向判别解决不彻底的问题 定义了多边形极值顶点奇异情形 ,对相邻边夹角接近 0°和 180°两种奇异情形给出了判定方法 ;提出了极点前后点坐标比较法和极点序号大小比较法 ,有效地解决了所有奇异情形下的方向识别问题 ,它们都可以发展成为独立的方向判断算法 实验结果表明 ,该算法简单高效 ,健壮性强 ,时间复杂度为O(n)  相似文献   

9.
基于顶点与邻边相关性的多边形填充算法   总被引:3,自引:0,他引:3       下载免费PDF全文
为了加快多边形填充算法的运算速度,在深入挖掘顶点与相邻边关系对填充算法影响的基础上,提出了一种基于顶点与邻边相关性的多边形填充算法。该算法首先归纳了多边形顶点与邻边相关性的5种典型类型,然后依据顶点与邻边的相关性,对原有多边形进行了分割与重新组合,使其完全由简单的三角形和梯形这样的单元区域组成,这样就将复杂的多边形填充问题转化为这些单元区域的填充问题,并由此将扫描线与多边形边求交的乘除计算转化为加减运算。通过实验分析,新算法大大减少了运算的时间和复杂度,从而为多边形填充创造了一种有效的新途径。  相似文献   

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

11.
论文提出了一种高效稳定的多边形裁剪算法,算法支持带内环的平面简单 多边形,同时也支持多边形的“并”和“差”等布尔运算。首先,设计了算法所需的数据结构; 其次,基于直线扫描转换Bresenham 算法原理提出了边网格划分的有效算法,并应用一个简 单的方法避免不同网格内边的重复求交;最后,将交点分类为普通交点和顶交点,并针对这 两类交点构造了不同的跟踪策略,在跟踪过程中交替、递归地应用这两个策略来确保算法处 理特殊情况时的稳定性。与其它同类算法的比较表明,新算法具有更高的效率。  相似文献   

12.
AFASTHIDDEN-LINEREMOVALALGORITHMFOR3-DIMENSIONALBUILDINGSQinKaihuai;TongGeliang;ZhangNan;ChenDailin;LiYungui;ShenWenduAFASTHI...  相似文献   

13.
提出一个如何连接平面上n条线段与一个简单多边形或者简单多边形链的实际问题,并证明了连接平面上线段集S成一简单多边形链的一个充分条件——S中有一条线段连接凸壳CH(S)中不相领顶点。提出了连接平面上线段集S成一简单多边形或者简单多边形链的算法,其基本思想是首先农层计算线段集S的凸壳,并将这些凸壳改变为简单多边形;然后计算各多边形之间的交点,进而删去这些交点;最后俣并若干个简单多边形为一个简单多边形。当S中线段数目n较大时,用分治思想设计分治算法,较好地求解了这个问题。利用计算机求解这个问题具有实际应用价值。  相似文献   

14.
基于矩形包围盒的多边形碰撞检测算法   总被引:9,自引:0,他引:9       下载免费PDF全文
碰撞检测是计算机图形学领域中的一个普遍存在的问题。为了提高多边形碰撞检测的效率 ,针对简单形式刚性运动的多边形对象 ,提出了一种基于二维轴向矩形包围盒结构的平面简单多边形碰撞检测算法。该算法基于坐标轴的单调性对多边形进行分割 ,并通过矩形包围盒之间的预检来减少无关边对的相交测试 ,以加速算法的终止。由于采用轴向扫描线方法可以大大减少包围盒测试的数量和线段求交的数量 ,所以 ,经过少量的“边 -边”相交判断就能求解到所有交点 ,同时能快速地获得两多边形干涉发生的第 1位置。试验表明 :(1)对于一般多边形 ,该算法的复杂度也远远低于 O(NP× NQ) ;(2 )对于凸多边形对象 ,该算法的复杂度为 O(NP NQ) ,其中 NP,NQ 为多边形 P,Q的顶点数。由此可见 ,算法能够获得较好的运算效率  相似文献   

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

16.
海量数据多边形布尔运算的区域分割算法   总被引:4,自引:0,他引:4  
研究了一种大数据量的2维多边形,称为海量数据多边形,其边界由直线段和圆弧段组成,顶点很多,形状复杂。本文设计并实现了海量数据多边形之间的布尔运算算法。首先用区域划分的方法快速求解出两多边形的交点,然后判断各交点的出点、入点性质,最后沿着多边形的边界跟踪,并根据并、交、差的不同要求切换跟踪路线,直到形成封闭的回路。运算结果仍为2维多边形。该算法从实用的角度出发,避开繁琐的数学推理,易于程序实现,在实际应用中显著提高了布尔运算的效率。  相似文献   

17.
提出了一种基于最小回路确定含孔洞多边形PQ 的交、并、差集的新方法。 首先,初始化PQ 外环为逆时针方向,内环为顺时针方向,并通过连接内环极右顶点与其 在外环上一可见点v,构造一条双向“桥边”,将内外多环转换为单环。其次,求出P Q 被 转换为单环的边序列的交点,并对交点处的关联边进行排序。然后,沿着各个交点处正向边, 依照最小转角原则搜索最小回路,并根据其中所含P Q 边所呈现的顺、逆时针方向进行分 类。最后,P Q 的交、并、差集即对应不同类别的最小回路。算法简洁且几何意义明显,具 有较好的适应性。  相似文献   

18.
平面上简单多边形平移时确定碰撞部位的最优算法   总被引:23,自引:5,他引:18  
汪嘉业 《计算机学报》1992,15(8):582-588
本文提出一种时间复杂性为O(m+n)的算法,在一个多边形的凸包不和另一个多边形相交的条件下,该算法可确定二个多边形是否相撞,在相撞时可确定全部碰撞部位.本文还证明了确定碰撞部位问题算法的时间复杂性的下界为O(m+n),因而本文提出的算法是最佳的.  相似文献   

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

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