javascript - 寻找 Angular 0-360

标签 javascript

在数学问题上需要帮助: 我需要使用 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/

相关文章:

javascript - 使用 JavaScript 获取元素的所有 CSS 样式

javascript - JavaScript 中名为 "status"的变量的奇怪行为

javascript - CSS:使用关键帧填充图像

javascript - 向电子邮件提交表格后,我收到 2 封电子邮件,而不是 1 封

javascript - JavaScript 中的函数类型

javascript - 如何在 React Native map 上显示连续移动的汽车图标?

javascript - 如何通过对特定 Controller 和操作使用 Ajax 调用来重定向用户

javascript - 我可以做些什么来减少 HTML 页面的加载时间?

javascript - react 字体大小的 Material 表太小了

javascript - 如何从数据表滚动扩展中获取显示行?