上图显示了两点之间的角度
如果将绿点视为起点(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()
答案 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;
}