如何判断点是由点和角给出的线的右侧还是左侧

时间:2014-04-29 15:39:52

标签: math geometry

我的问题与此问题非常相似:How to tell whether a point is to the right or left side of a line

他们在两个点A,B和应该测试的第三个点Z之间定义了一条线。

我得到了一条由P点和角度a定义的线以及应该测试的第三点Z.显然我可以从角度和P计算第三点并使用他们的解决方案,但我希望有更好/更快的方式。

Example Picture

Z和Z'应注册为“以上”,Z''应注册为“在线下方”。

背景:我正在使用OpenCV编写C ++,目前我正在尝试理解检测到的旋转矩形之间的关系。

1 个答案:

答案 0 :(得分:1)

你有两个向量 - 方向向量D =(sin(a),cos(a))和PZ。如果它们的交叉积为正,则Z位于左半平面,否则 - 位于右半平面。什么半平面被认为是“高于” - 取决于cos(a)符号。

Result = cos(a) * (sin(a) * PZ.Y - cos(a) * PZ.X) > 0