Мне нужно переместить точку по векторам фиксированной нормы вокруг центрального круга. Итак, чтобы сделать это, мне нужно вычислить вектор касательной окружности, чтобы применить его к моей точке.
Итак, я знаю координаты p1, радиус и центр окружности, а также векторную норму d. Мне нужно найти p2 (= найти ориентацию вектора v).
Я нанес на график некоторые идеи, которые у меня возникли, чтобы найти его: p1' - это p1, спроецированный на окружность. И t является касательным вектором к C в p1'.
Это должно быть легко, но я слишком слаб в математике, чтобы понять, как это реализовать. Поэтому я хотел бы получить представление о реализации этого (независимо от языка все в порядке, javascript - это круто).
Очень круто, если вы также можете объяснить мне, как реализовать движение по часовой стрелке и против часовой стрелки с помощью этого.
Изменить: получил это
let vx = cx - p1x,
vy = cy - p1y,
norm = Math.sqrt((vx * vx) + (vy * vy)),
p2x = p1x - (vy * d / norm),
p2y = p1y + (vx * d / norm);
Но есть еще причуда: используя это вовремя, точка медленно удаляется от центра круга, совершая спираль.