我正在寻找一种算法来测试点是否位于多边形的内部或外部(在我们的案例中,我们很关心该点是否位于多边形的最小边界框之外)。我们有一个想法来测试该点的某个部分与mbb的交点数是否相等。但是我们不知道如何将这个想法转换成Java代码。
我们已经有了两个mbb点和测试点的数组列表。我们还有一个mbb的低左,右上角以及mbb的高度和宽度。
所以有人知道如何在Java中进行测试吗?
非常感谢!
最佳答案
用数据创建一个多边形对象。使用该多边形对象的contains方法。
这是Java api:http://docs.oracle.com/javase/7/docs/api/
至于算法,您应该尝试连接点并生成直线方程。将线存储在列表中,然后查看您要测试的点是否在这些线的边界上。