上图中我需要两点之间的角度。
如果将绿点视为原点(px,py),即(0,0),红点为(ax,ay),
顺便说一下,上图中的角度应该约为45度……锐角。
更多实例:
3点钟是0度
12点钟是90度
9点钟是180度
6点钟是270度
以下是我目前尝试的代码:
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;
}