在数学问题上需要帮助: 我需要使用 x 和 y 坐标从 0 度获得真实 Angular 我现在正在使用这个:
Math.atan((x2-x1)/(y1-y2))/(Math.PI/180)
但是 /(Math.PI/180)
将结果限制在 -90 到 90 之间
我需要 0-360
注意:我用 Angular 来表示方向:
- 0=向上
- 90=右
- 135=45度右+下
- 180=向下
- 270=左
- 等等
最佳答案
atan函数只能给出-pi/2和+pi/2之间的一半单位圆(x轴上为0),还有一个库函数可以给出-pi和+pi之间的整个单位圆,atan2
我认为你最好使用 atan2 来获得正确的象限而不是自己分支,然后像以前一样扩展,比如
Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI + 180
在 pi 上乘以 180 只是问题中从弧度到度的比例(但除以除法简化),+180 确保它始终为正,即 0-360 度而不是 -180 到180度
关于javascript - 寻找 Angular 0-360,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1707151/