如何在JavaScript中获得两点之间的角度

时间:2018-11-16 12:19:54

标签: javascript math angle

image

上图显示了两点之间的角度

如果将绿点视为起点(px,py),即(0,0) 红点是(ax,ay)

顺便说一句,在上面的图像角度应该是45度左右。

更多详情:

3:00是0度 12:00是90度 9:00是180度 6:00是270度

这是到目前为止我尝试过的代码:

private val routes: Route =
    path("channel") {
      get {
        reportAllChannelsStatus()
      }
    } ~
    pathPrefix("channel" / Remaining) { channelName =>
      get {
        singleChannelRequest(channelName, status)
      } ~
      post {
        entity(as[ChannelRequest]) { request =>
          singleChannelRequest(channelName, request.channelAction)
        }
      }
    } ~
    completeWith404()

2 个答案:

答案 0 :(得分:0)

这应该有效:

function CalcAngle(px, py, ax, ay)
{
    return Math.atan((ax-px)/(ay-py));
}

或者如果原点始终为0,则0应该起作用:

function CalcAngle(ax, ay)
{
    return Math.atan(ax/ay);
}

我不确定您的作品是否可行,但是如果您想尝试,那应该可以。

答案 1 :(得分:0)

尝试一下,对我来说很好。

function angle(cx, cy, ex, ey) {
  var dy = ey - cy;
  var dx = ex - cx;
  var theta = Math.atan2(dy, dx); // range (-PI, PI]
  theta *= 180 / Math.PI; // rads to degs, range (-180, 180]
  //if (theta < 0) theta = 360 + theta; // range [0, 360)
  return theta;
}