我有一张由边{E}
和顶点{V}
组成的图G
。这些顶点在二维坐标系中表示。该图是平面图,这意味着没有两条边相交。
图G
有一些环,如果一个点在其中一个环内,则称该点在图内。一个环的例子可以是A---B---C---A
,其中A
、B
和C
是顶点,---
是一条边。
现在给定一个点(x, y)
,如何确定它是在图内还是在图外?最好的方法或最简单的方法是什么?
我正在使用Python。
更新: 是的,所有的边都是直线。
我有一张由边{E}
和顶点{V}
组成的图G
。这些顶点在二维坐标系中表示。该图是平面图,这意味着没有两条边相交。
图G
有一些环,如果一个点在其中一个环内,则称该点在图内。一个环的例子可以是A---B---C---A
,其中A
、B
和C
是顶点,---
是一条边。
现在给定一个点(x, y)
,如何确定它是在图内还是在图外?最好的方法或最简单的方法是什么?
我正在使用Python。
更新: 是的,所有的边都是直线。
首先,我会在我的图中找到一组循环。为此,请参阅此SO问题查找无向图中的所有循环
然后计算最大循环的集合,即那些不包含在另一个循环中的循环(也许您可以同时完成这两个步骤)。
一旦您拥有了最大循环,就可以检测一个点是否在多边形内。存在各种方法,例如: - 画一条线和边交点的数量 - 从点到多边形顶点的角度之和(0°->外部,360°->内部)。