Нахождение неизвестной третьей точки - PullRequest
0 голосов
/ 17 июня 2020

Как показано на изображении, я знаю координаты двух точек A(x1, y1) и C(x2, y2), а также расстояние D от C до третьей точки, т.е. B(x, y) и угол thetha, сделанный на три балла. Здесь thetha может находиться в диапазоне от 0 до 360.

Пожалуйста, мне нужна третья точка из следующих данных, любой код будет полезен.

Поскольку я пробовал возможный способ использования метод, представленный в следующей ссылке, я не смог найти правильный результат

Javascript функция для поиска третьей точки треугольника, когда известны все стороны, углы и первые две точки

PS.

Векторные ответы - это круто, но я использую javascript и не знаю, как добавить туда векторы.

Find unknown point

1 Ответ

0 голосов
/ 17 июня 2020
CA_unit[0] = (A[0] - C[0]);
CA_unit[1] = (A[1] - C[1]);

norm_CA = sqrt( CA_unit[0] * CA_unit[0] + CA_unit[1] * CA_unit[1] );

CA_unit[0] = CA_unit[0] / norm_CA;
CA_unit[1] = CA_unit[1] / norm_CA;

cs = cos(theta);
sn = sin(theta);

// point after clockwise rotation:
B[0] = D*(  cs * CA_unit[0] + sn*CA_unit[1]) + C[0];
B[1] = D*(- sn * CA_unit[0] + cs*CA_unit[1]) + C[1];

// alternative point, counter clockwise rotation:
B_[0] = D*( cs * CA_unit[0] - sn*CA_unit[1]) + C[0];
B_[1] = D*( sn * CA_unit[0] + cs*CA_unit[1]) + C[1];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...