如何确定一条点位于极线的哪一侧?

时间:2012-05-03 16:58:02

标签: geometry line point polar-coordinates

如果我在极坐标中给出了一条2D线(即距离原点的rho距离和距离x轴的θ角),我如何确定该点位于哪条线的哪一侧?具体来说,我如何取两个点并确定它们是在同一侧还是在这条线的两侧?

谢谢!

3 个答案:

答案 0 :(得分:0)

您可以同时获取两个提供的点并计算它们相对于θ的角度吗?

为了论证而说你的2D线以(3,3)结束;

2D线: Coord:(3,3)
半径:3 *√2
Theta:0.79弧度

第1点:
科德:(3,4)
半径:5
Theta:Arcsin(4/5)= 0.92弧度

第2点:
Coord:(3,1)
半径:√10
Theta:Arcsin(2 /√10)= 0.68弧度

点1的Theta大于2D线的θ;它在一个不同的方面。点2的值小于2D线的点;它在另一边。

希望这有帮助! :)

答案 1 :(得分:0)

我知道你的线条是由rho给出的是你的线与x轴和theta的交点是你的线和x轴之间的角度。

然后您的行的等式将读取

f(x) = (x-rho)*tan(theta)

确定点(x0,y0)是否高于该行,检查是否

f(x0) = (x0-rho)*tan(theta) > y0

检查是否在线下检查

f(x0) = (x0-rho)*tan(theta) < y0

但请注意,如果theta = 90°,270°,此方法会中断。但在这种情况下,你只需要检查x0是大于还是小于rho。

答案 2 :(得分:0)

这条线有等式:

-x * cos(theta)+ y * sin(theta)-rho = 0 [1]

从点(x0,y0)到此线的距离为

Dist = -x0 * cos(theta)+ y0 * sin(theta)-rho [2]

重要的是:Dist的符号取决于点所在的线的哪一侧(当此点和坐标原点位于线的不同侧时为正,否则为负)。

因此,足以计算和比较两个需要点的[2]表达式的符号