小编MrC*_*ear的帖子

创建导航系统 (ArcTan2)

我目前正在使用航路点开发导航系统,我们可以定义以下边界,假设 B 点是我们要去的地方,A 点是您当前的位置:

  • 我们知道点 A 和 B 的位置 (X,Y)。
  • A 点(您)和 B 点(我们的目的地)各自的 X 和 Y 值均为正值。
  • 我们知道 A 点(您)面对的角度。(360 - 0 度)

我的问题是我将如何获得最小的转弯角度以面对 B 点(我们的目的地)?

我目前的方法是使用 ArcTan2(X,Y)

B := ArcTan2(Y1 - Y2,X1 - X2)

B := B * 180 / pi ---- 将弧度转换为度数。

这确实会返回一个合适的角度,但只是有时......其他时候它会返回一个角度,使我面向 B 点(我们的目的地)的相反方向。

我遇到的另一个问题是确定我应该向左转还是向右转 - 假设我们返回的角度为 80 度,那么这是否意味着我向左或向右旋转?

我希望我的解释有点清楚,三角学从来都不是我的强项。

对于你们可以提供给我的任何意见或来源,我将不胜感激。

谢谢清除先生

navigation delphi math trigonometry

-2
推荐指数
1
解决办法
246
查看次数

标签 统计

delphi ×1

math ×1

navigation ×1

trigonometry ×1