对于在笛卡尔坐标系中运动的粒子(忽略z轴),如何计算给定速度的x和y分量时的行进角度?
在有人说这与编程无关之前,我正在进行编程,但是我不懂向量数学。
例如,假设速度的x和y值分别为5.0和-1.5,我该如何计算角度?
Math.atan2(1.5, 5.0)
。要将其转换为角度,请使用Math.atan2(1.5, 5.0)/(Math.PI/180)
。在维基百科上:http://en.wikipedia.org/wiki/Atan2。atan2
来计算给定速度的x和y分量之间的角度。 atan2
与速度之间有什么关系?如果您在答案中添加这些细节,我将删除我的负投票。此外,问题没有提及Javascript。 - nbroatan2
函数:
对于任意不为零的实数参数
x
和y
,atan2(y, x)
是平面直角坐标系中从正 x 轴到点(x, y)
所形成的与 x 轴正半轴之间的夹角(弧度制)。
从x轴开始的弧度角度为:
arctan(vy / vx); // vx > 0
您还需要处理 vx < 0
的情况。
如果您想要相对真北的方位角,则可能需要:
double bearing = 90 - arctan(vy / vx) * 360 / 2 / M_PI;
斜率的反正切将会给你想要的结果。
角度是y / x的反正切。许多语言在数学库中都有一个四象限反正切函数,它接受x和y参数。
在处理角度时需要小心。反正切函数 atan(y / x)
可以给出相对于正 x 轴的角度,但请确保这是你所需要的。