比如两个凹多边形的位置关系是相交 ,内含,还是多边形外等。有没有什么算法?
我觉得可以判断一个多边形每个顶点是否在另一个多边形里面_(:3」∠❀)_
利用两个多边形的中点距离做判断
http://blog.csdn.net/orbit/article/details/7101869
可以试试算法竞赛中计算几何提到的一些算法
看一下这个,能不能诸逐个点判断之后得出结论,http://www.cnblogs.com/lxglbk/archive/2012/08/17/2644805.html,
1、目前如果多边形b的点既有在多边形a内也有在a外,则a,b必定相交。
其他就不好判断了
第一步: 多边形的每个边都是可以描述的。
将多边形 A 的所有边 与 多边形 B 的的所有边 两两组合求解。
只要有一组有解,则证明两边相交,边相交,则多边形也必定是相交的关系。
第二步: 如果遍历两个多边形的所有边的组合,都没有解,则说明,两个多边形没有任何边相交。那么它们的关系要么是内含,要么相互在外边。
取多边形 A 中的一个点(只要一点就可以了)。看这个点在多边形 B 内,还是外边。如果是在内。说明是 B 包含 A。如果是在外,转入第三步。
第三步: 像第二步那样,取 多边形 B 中的任意一个点 (只要一点就可以了)。看这个点在多边形 A 内,还是外边。如果是在内。说明是 A 包含 B。
如果在外边,说明 A 和 B 相互在彼此外边 。
CombineRgn 谁有这个函数的实现原理告知也行
Windows API一日一练(40)CreateRectRgn和CombineRgn函数 - 大坡3D软件开发 - 博客频道 - CSDN.NET
方法一:给你一个思路
核心思想就是把判断一个点与一个多边形的位置关系
1.一次判断一个多边形的所有顶点与另外一个多边形的位置。
2.如果存在至少存在一个点在多边形里面那么他们肯定就是相交或者内含的,如果全都在另外一个多边形里面那么肯定是内含的反之相交。
3.至于如何判断一个点与多边形的位置关系你百度一下就有了 ,我刚看了上面很多方法。
方法二:不知道你学过高等代数吗
也可以利用矩阵来判断,我还没仔细想具体方法应该也可以你先看第一个方法吧。
我之前参加数学建模,提到过类似的问题:解决方式是划线,画一条线根据交点的个数判定位置关系,这个绝对可行。
找本计算机图形学的书来看就知道了