как получить угол в JavaScript между двумя точками - PullRequest
0 голосов
/ 16 ноября 2018

image

на изображении выше выровняйте угол между двумя точками

, если зеленая точка считается исходной (px, py), т.е. (0,0), и красная точкаis (ax, ay)

, кстати, на изображении выше угол должен быть около 45 градусов .... острый угол

больше, например:

3: 000 градусов 12:00 - 90 градусов 9:00 - 180 градусов 6:00 - 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;
}

1 Ответ

0 голосов
/ 18 декабря 2018

Это должно работать:

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

Или, если источник всегда 0, 0, тогда это должно работать:

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

Я не уверен, работает ли ваш, но этот должен, если вы хотите попробовать.

...