【问题标题】:How to tell whether a point is to the right or left side of a line given by point and angle如何判断一个点是在由点和角度给出的线的右侧还是左侧
【发布时间】:2014-06-15 15:50:35
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: math geometry


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2010-12-06
      • 2021-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多