首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到17条相似文献,搜索用时 203 毫秒
1.
确定两个任意简单多边形交、并、差的算法   总被引:10,自引:0,他引:10  
提出了把多边形的边分为奇偶边的新思想,根据输入多边形A,B之间边的拓扑关系,划分A,B边为内边、外边、重叠边3种,揭示A,B与它们的交、并、差之间边的本质联系,进而描述了确定任意两个简单多边形交、并、差算法.算法的时间复杂度为O((n m k)log(n m k)),其中n,m分别是A,B的顶点数,k是两多边形的交点数.算法建立在数学理论基础之上,很好地处理了布尔运算的奇异情形,比如重叠边,边与边相交于边的顶点等情形.本算法易于编程实现。  相似文献   

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

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

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

5.
第一题《食物链(eat)》解题报告 摘要 算法# 算法1 算法2 时间复杂度 O(nlogn+m) O(mα(n+m,m)+n) 空间复杂度 O(n) O(n) 特殊数据结构 分离集合 分离集合 问题转述 给定某个含有n个元素的集合S,其中每个元素都具 有三种属性(A、B或C)中的一种,是根据已给出的各 个元素之间的相对关系集R来确定某两个元素之间的相对关系。 分析在读题之后我们可以简单地得出处理一条输入的流程 图如下:  相似文献   

6.
有向回路法和网格法:多边形内外点判别的新算法   总被引:4,自引:0,他引:4  
该文把简单多边形视作一个有向回路,利用多边形的环绕方向和区域划分提出了两种判别内外点的新算法:有向回路法和网格法。有向回路法利用了多边形的方向性,在某些情况下可以不必遍历多边形的所有边。该算法程序简单,时间复杂度为O(n),平均性能优于复杂度为Θ(n)的射线法和标号法,但只能处理凸多边形。网格法是有向回路法的改进算法,利用了多边形的方向性和区域划分。网格法将n边形的包围盒划分为(n-1)×(n-1)个网格:如果待处理的点在某个网格内,则仅根据经过该网格的所有边就可以判断该点的内外性。网格法可以处理任意简单多边形,包括带孔的多边形;最坏情况下的时间复杂度为O(lgn),空间复杂度为Θ(n2)。  相似文献   

7.
判断点与简单多边形位置关系的新算法   总被引:4,自引:0,他引:4       下载免费PDF全文
基于射线法提出了一种新的判断点与简单多边形位置关系的算法。该算法是通过查找简单多边形所有顶点在确定区域内中斜率最小点,以此点确定一条射线,使得这条射线不穿过简单多边形的顶点。此算法不但保持了原来射线法相对其它方法有容易理解、计算简单等优势,并在此基础上排除了射线法中特殊的射线与简单多边形的顶点相交或射线过简单多边形边的特殊情况,大大地降低了算法的时间复杂度,提高了检测速度。  相似文献   

8.
对两个多边形的各边依次求交,根据交点所在边起始点与另一多边形的包含关系确定交点的入出状态,并按交点所在边的序号及距边起始点的距离排序,再插入到双向链表中,利用链表中各交点的入出状态搜索其交集、并集.论文算法中对点重合、边重合等特殊情况,仅需对在求取交点时做简单的特殊处理,其后续操作均使用统一处理方式,相比其它传统的算法,论文提出的算法简单高效.  相似文献   

9.
本文基于异步通讯网络,对二分图最大匹配问题,建议了两个分布式算法。其中第一个简单算法的通讯复杂性为O(n(n~2+m))、时间复杂性为 O(n~3);第二个算法的通讯复杂性为O(n~(1/2)(n~2+m))、时间复杂性为O(n~(5/2)),这里n和m分别为二分图的结点个数及边的数目。关于这一问题的分布式算法目前尚未见诸报导,这里建议的算法很可能是此问题的第一个分布式算法。  相似文献   

10.
周吉  张松林 《计算机应用》2003,23(Z2):99-99
给出了一种确定任意多边形顶点凸、凹性的简便算法.该算法只需要n+4次乘除法,平均3n次加减法及4n+3次比较即可完成(n是多边形顶点的个数).  相似文献   

11.
计算简单多边形间的最小距离,在所有与几何图形计算有关的领域中,一直以来都是一个基本问题。为了更快地求解简单多边形的最小距离,提出了一个基于关联多边形三角化分割的简单多边形间最小距离的求解算法。该算法的主要思想是:首先构造一个关联多边形把两个多边形联系起来,其目的是把最小距离限制在这个关联多边形内;然后根据两个多边形的最小边界矩形包围框间的不同位置关系,详细阐述了关联多边形的构造过程,同时论述了关联多边形是一个简单多边形。为了计算最小距离,首先要对关联多边形进行三角化分割,并使最小距离位于三角化分割结果中某一个三角形区域内,或者至多位于两个相邻三角形区域内;之后通过对所有三角形进行遍历来找出最小距离及其所在的位置。该算法的时间复杂度是线性的。  相似文献   

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

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

14.
This paper describes an efficient algorithm for the determination of an envelope of a set of polygons. The polygons have to be aligned along their borders – the case which, for example, appears in geographic information systems. The edges, which belong to two neighbouring polygons, are called twin edges, and are eliminated first. To accelerate the geometric search, a two-level uniform plane subdivision structure is proposed. The remaining non-twin edges belong to the envelope, and they have to be joined to form the simple polygons at the end. For this task, a new algorithm has been developed. At the end, spatial relationships between resulting polygons are established. The whole algorithm for envelope determination works in expected time O(n log n) using O(n) memory space, where n is the total number of edges belonging to the input polygons. In the last part of the paper, practical results using data from a geographical database are considered.  相似文献   

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

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

17.
求解Packing问题、计算机辅助设计、机器人路径规划、虚拟装配等经常用到凸多边形的不干涉算法。该文根据不适合多边形的概念,通过给定的平移规则控制平移多边形中心的移动方向和位移量而计算出两凸多边形的不适合多边形,进而提出了一种新的凸多边形不干涉算法。最后用实例说明了它在布局求解中的应用。文中方法不存在斜率图算法的缺陷,其计算复杂度为O(n+m)。  相似文献   

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

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