社区
地理信息系统
帖子详情
如何判断多边形是否自相交的算法
heyyg
2014-12-26 05:16:26
给定一个多边形点序列,如何判断是否有边自相交? 如果两两线段求交则复杂度太高,请问有没有复杂度低的算法?
...全文
3766
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多个点的闭合线凹多变凸分解的实例:
判断
多边形
是否
自
相交
的
算法
function segmentsIntr(a, b, c, d) { /** 1 解线性方程组, 求线段交点. **/ // 如果分母为0 则平行或共线, 不
相交
let denominator = (b.y - a.y) * (d.x - c.x) - (a.x - b.x) * (c.y - d.y); if (denominator == 0) { return false; } // 线段所在直线的交点坐标 (x , y) let x = ((b.x ...
matlab
多边形
自
相交
,怎么
判断
多边形
是否
自
相交
的
算法
2017-01-02 回答
多边形
内角和的简易
算法
引言 本文所论述的观点是我在写作业过程中偶然发现的一个规律,老师在课堂中从未涉及,碰到类似的题目时一般来讲也是就题论题,并没有一个普遍应用的公式,希望通过这篇文章对大家能有一个小小的帮助,节省一些时间而已。 数学课上老师讲过:任意一个三角形其内角和为180°。这是经过前人论证的定理,不需要我们再次论证,但是数学是千变万化的,大千世界也不仅仅只有三角...
计算机图形学 c#实现
多边形
相关
算法
计算机图形学 c#实现
多边形
相关
算法
1.鼠标画
多边形
画图首先需要画板,即GDI+的Graphics类。 为了在全局中使用Graphics类。 首先定义全局变量 List pt1 = new List(); 记录鼠标点击的点坐标 int num1 = 0; 记录个数 Point mouseLocation; 记录鼠标移动的坐标 Graphics g; 定义画图类 往界面中拖入pictureBox1,添加事件pictureBo
判断
点
是否
在
多边形
中的方法
判断
一个点
是否
在
多边形
内部的方法 面积和判别法:
判断
目标点与
多边形
的每条边组成的三角形面积和
是否
等于该
多边形
,相等则在
多边形
内部。 夹角和判别法:
判断
目标点与所有边的夹角和
是否
为360度,为360度则在
多边形
内部。 引射线法:从目标点出发引一条射线,看这条射线和
多边形
所有边的交点数目。如果有奇数个交点,则说明在内部,如果有偶数个交点,则说明在外部 首先讲解下射线法的原理 情况一,显示了具有 14 条边的严重凹陷
多边形
的典型情况 上图 显示了具有 14 条边的严重凹陷
多边形
的典型情况 红点是需要
[OpenGL] 绘制并且
判断
凹凸
多边形
、自
相交
多边形
。
#include <iostream> #include <ctime> #include <GL/glut.h> #include <math.h> #include <vector> using namespace std; struct Pos { int x; int y; ...
地理信息系统
2,158
社区成员
8,288
社区内容
发帖
与我相关
我的任务
地理信息系统
它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。
复制链接
扫一扫
分享
社区描述
它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章