【发布时间】:2017-08-30 03:30:51
【问题描述】:
使用什么算法来判断红点是属于Area1还是Area2。 我最初的想法是使用连续点将多边形划分为三角形,然后使用已知算法来确定一个点是否属于这些三角形之一,但是图中显示了一个问题。p4 p5 p6 是区域 1 中的点,但它们在区域 2 中画一个三角形。
【问题讨论】:
标签: algorithm polygon shapes area
使用什么算法来判断红点是属于Area1还是Area2。 我最初的想法是使用连续点将多边形划分为三角形,然后使用已知算法来确定一个点是否属于这些三角形之一,但是图中显示了一个问题。p4 p5 p6 是区域 1 中的点,但它们在区域 2 中画一个三角形。
【问题讨论】:
标签: algorithm polygon shapes area
继续从红点向任意方向发出无限光线。计算这种射线与任何多边形的交点。甚至交叉点的计数表明该点位于多边形之外
【讨论】:
您可以使用多边形填充算法的思想。如果您知道多边形的顶点,则可以通过红点放置一条水平射线并计算它相交的顶点。如果计数为偶数,则为外,否则为内。
如果你想象从最左边沿着那条射线进来,第一个交叉点进入多边形,第二个离开它,第三个再次进入......等等。因此,如果数字是奇数(1,3,5,...),当您击中该点时,您在多边形内部,否则您在外部。
【讨论】:
这就是想法 -
在红点右侧画一条水平线,并延伸到无穷远
计算线与多边形边缘相交的次数。
如果交点计数为奇数或 点位于边上
【讨论】: