【问题标题】:Point between two polygons how to find to which it belongs?两个多边形之间的点如何找到它属于哪个?
【发布时间】:2017-08-30 03:30:51
【问题描述】:

使用什么算法来判断红点是属于Area1还是Area2。 我最初的想法是使用连续点将多边形划分为三角形,然后使用已知算法来确定一个点是否属于这些三角形之一,但是图中显示了一个问题。p4 p5 p6 是区域 1 中的点,但它们在区域 2 中画一个三角形。

【问题讨论】:

    标签: algorithm polygon shapes area


    【解决方案1】:

    继续从红点向任意方向发出无限光线。计算这种射线与任何多边形的交点。甚至交叉点的计数表明该点位于多边形之外

    【讨论】:

      【解决方案2】:

      您可以使用多边形填充算法的思想。如果您知道多边形的顶点,则可以通过红点放置一条水平射线并计算它相交的顶点。如果计数为偶数,则为外,否则为内。

      如果你想象从最左边沿着那条射线进来,第一个交叉点进入多边形,第二个离开它,第三个再次进入......等等。因此,如果数字是奇数(1,3,5,...),当您击中该点时,您在多边形内部,否则您在外部。

      【讨论】:

        【解决方案3】:

        这就是想法 -

        1. 在红点右侧画一条水平线,并延伸到无穷远

        2. 计算线与多边形边缘相交的次数。

        3. 如果交点计数为奇数或 点位于边上

        Check if a point lies inside or outside a polygon

        【讨论】:

          猜你喜欢
          • 2017-09-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-05-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多