使用什么算法,以便我们可以确定红点是属于Area1还是Area2。 我最初的想法是使用连续点将多边形划分为三角形,然后使用已知算法确定一个点是否属于这些三角形中的一个,但是图中显示了一个问题.p4 p5 p6是区域1中的点但是它们是在区域2中制作一个三角形。
答案 0 :(得分:4)
继续从红点到任何方向的光线。计算这种射线与任何多边形的相互作用。甚至交点计数表明该点位于多边形
之外答案 1 :(得分:2)
您可以使用多边形填充算法的想法。如果您知道多边形的顶点,则可以在红点处放置水平光线并计算它相交的顶点。如果计数是偶数,则它在外面,否则它在里面。
如果您想象沿着该光线从最左边进入,第一个交叉点进入多边形,第二个交叉点离开它,第三个交叉点再次进入......依此类推。因此,如果数字是奇数(1,3,5,...),当你点到点时你就在多边形内部,否则你就在外面。
答案 2 :(得分:0)
这是一个想法 -
在红点右侧绘制一条水平线并将其延伸至无穷大
计算线与多边形边相交的次数。
如果交点计数为奇数或者,则点在多边形内 点位于边缘