确定一组线是否位于点的一侧而另一组线位于另一侧

时间:2011-04-12 01:31:51

标签: computational-geometry

给出两组A和B总共n行和一个p点。你如何确定A线是否位于p的一侧而B线是否位于另一侧?

2 个答案:

答案 0 :(得分:0)

除非所有的线条相互平行,否则它们总是越过p的两边,因为它们会永远持续下去。否则,绘制一条平行于通过p的其他行之一的直线,此行将划分两组。

答案 1 :(得分:0)

假设如下:
这不是家庭作业 2.“交叉P”意味着,对于给定的x,y范围,它们不会交叉。如果我们谈论整个轴,那么A和B中的线必须与它们的集合平行,这个问题变得微不足道。

然后简单(虽然天真)的方法(O(n))是简单地将线的每个x值与点的x值进行比较(对于给定的p值y值)。如果对于给定的y,集合A(或B)的所有x坐标都在给定点的左边,而对于给定的x,所有y值都不高于此点,那么该集合在一侧。对另一组运行相同的测试,如果所有线都在另一侧。中提琴。 :)

希望这有帮助。