我有用它们的顶点定义的多边形,我需要计算它们的联合和交集的区域。最令人沮丧的是它在Mapping Toolbox中实现,但我无法购买它。有谁知道如何制作一个快速算法来计算它? 谢谢你的时间。交叉点和多边形的联合
回答
我发现我的多边形的交叉点,并补充说,是内部顶点/外多边形相交/联合任务(检查是否有1个位于多边形2和反之亦然内多边形的顶点使用“inpolygon “)。然后将所有点转换为极坐标,中心位于矩阵的平均坐标中,并按角度排序,以形成连续的闭合轮廓。知道这一点,很容易找到使用“多面积”的交叉点/联合区域。
我会做这样的:
- 让小号是一组来自两个多边形顶点。
- 对于每个边缘ê在多边形1
- 对于每个边缘ë 在多边形2
- 如果ë 与E交叉
- 交点添加到小号
- 如果ë 与E交叉
- 对于每个边缘ë 在多边形2
- 在移除所有顶点小号是内部多边形1或2。
所得顶点集应弥补多边形的联合。
对于交点可以简单地消除所有的顶点在小号是(在第三步)外两个多边形1和2的。
(你可以看一下交点和 “内部多边形” 别处-checks ;-)
的想法是要打破所有的边缘相交成四零件并与这些形成一个新的多边形。当你想要结合时,取两个外边缘。如果你想交集,取两个内边。
一个很好的答案就是一个例子。 –
你只需要找到相交区域;该联盟的面积从这个平凡的地方获得。来自FEX的PolygonIntersection包可能会有用。
你能展示一些伪代码,以便我们可以在其他语言中实现它吗? – Pacerier
- 1. Libgdx交叉点多边形
- 2. 3D三角形 - 三角形交叉点多边形
- 3. SQL:多边形的联合
- 4. 由线交叉的多边形
- 5. Java-多边形和线的交点
- 6. 检测多个多边形交叉点(java)
- 7. 圈多边形交点
- 8. 闭合多边形链和线的交点
- 9. 合并相交的多边形一个多边形
- 10. 交叉点和C中的n数组的联合
- 11. 没有洞的多边形联合
- 12. 矩形的交叉点java
- 13. 两个凸多边形的交点
- 14. R中的多边形交点
- 15. MemSQL多边形地理空间联合
- 16. Mongodb和查询搜索与多边形相交的多边形
- 17. XNA矩形交叉点
- 18. 矩形射线交叉点
- 19. 映射点和多边形
- 20. 复合多边形内的点
- 21. R中的点和多边形:获取多边形的名称
- 22. java函数可以找到最小边交叉点的图形
- 23. 多边形边上的点
- 24. 多边形交集
- 25. 与多边形交点在OpenCV中
- 26. 优化多边形交点查找
- 27. 多边形交点错误| Python Shapely
- 28. 如何在Google Maps v3 API中禁用交叉圆/多边形的Alpha合并?
- 29. 传单中的圆和多边形联合
- 30. 具有Boost :: geometry几何严重性能下降的多边形交叉点
该函数是'polybool'。我可以用'polyarea'来计算这个区域(这对我来说是可用的)。 – Kate
我认为你不应该要求用户侵犯版权。编辑。 –
@Kate:你的多边形是否保证凸出? – Jacob