如何判断多边形是否自相交的算法

heyyg 2014-12-26 05:16:26
给定一个多边形点序列,如何判断是否有边自相交? 如果两两线段求交则复杂度太高,请问有没有复杂度低的算法?
...全文
3384 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
heyyg 2015-01-26
  • 打赏
  • 举报
回复
最终使用了复杂度o(nlogn)的扫描线判断平面内线段相交的算法处理了!
blue_sky_bird 2014-12-29
  • 打赏
  • 举报
回复
你所说的: 简单多边形的凸分解的前提条件,就是理想的假设环境,就是你的点序列必须是单联通域的无相交点序列! 凹多边形凸分解的前提之一就是非自相交性的点序列! 现实当中给定的点序列,是任意的,可能出现,非单一联通域,重复点,共线点。 首先我的举例,并不是个简单的多边形,这是个实际应用当中的等高线点序列,也不是理想环境无相交的点序列,它有时就存在自相交。 必须要对点序列进行异常排除和消解后才能得到理想的假定条件!当然要做点相交性检查! 你的假设,有理论依据吗? 用混合方法,减少算法的复杂度。你能用复杂度O(N)检测排除的,恐怕只能是理想环境的凸多边形,而现实当中这种情况也不能算是多数。
heyyg 2014-12-29
  • 打赏
  • 举报
回复
简单多边形分解成凸多边形是有算法描述的。自相交检测我找到了一个O(nlogn)复杂度的算法,但大多数多边形不是自相交的,现在最好有个充分条件,复杂度为o(n),能够判断出大部分多边形不是自相交,对于判断不出的,再用复杂度为O(nlogn)的算法去检测,给出最终结论。
blue_sky_bird 2014-12-26
  • 打赏
  • 举报
回复
就传一个我的一篇博客吧: 地形DEM中立体等高线的3D表达和处理
blue_sky_bird 2014-12-26
  • 打赏
  • 举报
回复
就传一个我的一篇博客吧:
地形DEM中立体等高线的3D表达和处理
blue_sky_bird 2014-12-26
  • 打赏
  • 举报
回复
当然要两两比较,不然怎么知道是否有相交?
其次,两两比较,并不一定要求交点才能判断是否相交!这就要看你的数学功底了,向量与矩阵的运用就能实现!还是把空间几何学好了,再研究解决和思考问题的所在!
发一个自相交检测应用,2200多个点的闭合线凹多变凸分解的实例:

2,142

社区成员

发帖
与我相关
我的任务
社区描述
它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。
社区管理员
  • 地理信息系统
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧