我试图找出两个2D矢量之间的角度(以度为单位).我知道我需要使用trig,但我对它不太好.这就是我想要解决的问题(Y轴向下增加): 替代文字http://i38.tinypic.com/2dcefch.png
我正在尝试使用此代码,但它根本不起作用(由于某种原因计算随机角度):
private float calcAngle(float x, float y, float x1, float y1)
{
float _angle = (float)Math.toDegrees(Math.atan2(Math.abs(x1-x), Math.abs(y1-y)));
Log.d("Angle","Angle: "+_angle+" x: "+x+" y: "+y+" x1: "+x1+" y1: "+y1);
return _angle;
}Run Code Online (Sandbox Code Playgroud)
这些是我的结果(提供恒定位置时常数,但是当我改变位置时,角度改变,我找不到两个角度之间的任何连接):
位置1:x:100 y:100 x1:50 y1:50角度:45
位置2:x:92 y:85 x1:24 y1:16角度:44.58
位置3:x:44 y:16 x1:106 y1:132角度:28.12
编辑:谢谢所有回答并帮助我弄清楚错误的人!对不起,标题和问题令人困惑.
我是Javascript的新手,我正在尝试使用反正切来找到一条线与高架y上的x轴之间的角度.我没有看到任何命令,所以我真的需要一些帮助.