对于在笛卡尔坐标系中移动的粒子(忽略z轴),如果给定速度的x和y分量,如何计算行进角?
在有人说这不是编程相关之前,我现在正在编程,但是,我不知道矢量数学。
例如,假设速度的x和y值分别为5.0和-1.5,我将如何计算角度?
答案 0 :(得分:4)
您需要atan2
:
对于任何真实参数
x
和y
都不等于零,atan2(y, x)
是平面的正x轴与坐标给出的点之间的弧度角度(x, y)
就可以了。
答案 1 :(得分:4)
在Javascript中,我会使用Math.atan2(1.5, 5.0)
。要转换为度数,请使用Math.atan2(1.5, 5.0)/(Math.PI/180)
。在维基百科上:http://en.wikipedia.org/wiki/Atan2
答案 2 :(得分:3)
x轴的弧度角由下式给出:
arctan(vy / vx); // vx > 0
您还需要处理案例vx < 0
。
如果您想要轴承与真北,那么您可能需要:
double bearing = 90 - arctan(vy / vx) * 360 / 2 / M_PI;
答案 3 :(得分:1)
坡度的反正切将为您提供所需的信息。
答案 4 :(得分:1)
角度是y / x的反正切值。许多语言在数学库中都有一个带有x和y参数的四象限反正切函数。
答案 5 :(得分:1)
你必须要小心它们之间的角度。 Arctangent,atan(y / x)
,将为您提供相对于正x轴的角度,但请确保这是您需要的。