从两个给定的真实轴承确定角度的数学方法是什么?



鉴于我有两个真正的轴承作为起始轴承 315 度和一个 45 度的端轴承,有没有更好的方法来确定两个真实轴承之间的角度? 当起始轴承大于端部轴承时,就会出现并发症。 我有以下有效的方法,但我认为有一种更好/数学的方法。

double tStartBearing = 315;
double tEndBearing = 45;
double tAngle;
if (tStartBearing > tEndBearing) {
tAngle = tStartBearing - tEndBearing - 180;
} else {
tAngle = tEndBearing - tStartBearing;
}

预计 tAngle 的结果值为 90。 考虑起始方位角为 0,端部方位角为 359.9,tAngle 的结果值应为 359.9,而不是 0.1。

(有符号的(角度总是end - start.假设起点和终点角都在[n, n + 360)的同一范围内,它们之间的差异将在(-360, 360)之间。

要将差值归一化为范围[0, 360)中的正角,请使用:

tAngle = (tEndBearing - tStartBearing + 360) % 360;

要将差值归一化为范围[-180, 180)中的有符号角度,请改为使用:

tAngle = (tEndBearing - tStartBearing + 360 + 180) % 360 - 180;

无论起始角度小于结束角度,还是相反,上述工作。

相关内容

  • 没有找到相关文章

最新更新