2012-03-05 40 views
1

我试图定义一个点是否在一个多边形内。只给出拐角的坐标。经过一番研究后,我发现Ray casting algorithm,但它看起来像我需要一个向量充满了多边形边的坐标。我也尝试计算这些坐标,但看起来这不是解决方案。无边坐标的光线投射算法

也许我正在解释算法错误,所以如果有人能把我推向正确的方向将会很好。

回答

1

我假设您正在尝试对任何种类的多边形进行此操作。

检查了解得到处理复杂多边形的技巧。这实际上是你可能想要的,它是你之前提到的光线投射算法。 http://alienryderflex.com/polygon/

对此的简短解释是你有一个多边形,你知道它的要点。构建点(向量)之间的连接。通过您尝试测试的点在整个多边形上投射光线。

在射线与其中一个多边形向量的每个交点处,从0开始将计数器加1。如果相交点并且该计数器是偶数,则它不在多边形中。如果计数器是奇数,那么该点在多边形内。