我有一个点(纬度/经度)和一个以度为单位的航向(正北),这个点沿着这个点行进。我有许多固定的多边形(在经度/纬度中定义的点),它们可能是凸的,也可能不是凸的。
我的问题是,如何计算多边形的最近交点(如果有的话)。我看过一些关于光线跟踪的令人困惑的帖子,但当光线和多边形不在同一平面上,并且多边形必须是凸的时,它们似乎都与3D有关。
发布于 2009-03-13 16:02:06
这页上的答案似乎是最准确的。
发布于 2009-03-09 14:55:37
听起来你应该能够做一个简单的二维线相交...
然而,我以前使用过Lat/很久以前,我知道它们并不完全适用于任何2d坐标系。
我会从一个通用的"IsPointInPolygon“函数开始,你可以通过谷歌找到一百万个这样的函数,然后在你的poly上测试它,看看它有多好。如果它们足够准确,就使用它。但是,由于经纬度坐标的非方形性质,您可能需要使用球面几何体进行一些修改。
发布于 2009-03-09 14:57:18
在2D中,计算相当简单...
您可以始终通过检查以确保光线的端点不在多边形内(因为在这种情况下这是交点)。
如果端点在线外,则可以与多边形的每个边界要素进行射线/线段相交,并使用最近找到的位置。处理凸/凹特征等。
https://stackoverflow.com/questions/628335
复制相似问题