检查点是否在ArrayList的多边形内部或外部

时间:2014-09-13 23:56:36

标签: java arraylist

我希望能够检查用户输入的点是在有界点内部还是外部。我知道java中的Polygon类的.contains函数,但我想知道我该怎么做类似于ArrayList的<点> 。

这是我正在尝试的一个例子:

多边形的点是: (-10,0) (-1,-10) (0,10) (1,-10) (10,0)

测试点: 5 0

  

测试点:8 8

  

任何正确方向的提示都将受到赞赏!

1 个答案:

答案 0 :(得分:1)

这看起来有点像家常作业,所以我不打算详细介绍,但假设列出的多边形点总是按顺序排列,你可以连接多边形中所有点之间的线来关闭它的边框,然后再投射来自样本的光线向外指向。如果光线在进入多边形所在区域之前经过奇数行,则表示采样点位于多边形内部。如果它通过偶数行,则它在多边形之外。 (如果它从不穿过一条线,它也在多边形之外,假设光线足够长,可以从样本点所在的位置到达多边形的边缘。)祝你好运。

More Information

相关问题