Вычисление N точек на арке

У нас есть окружность, заданная точкой её центра и радиусом. Еще у нас есть две точки, принадлежащие этой окружности — A и B, отсекая на окружности арку. Задача — построить между точками A и B еще n равноудаленных точек, принадлежащих окружности.

Если вам требуется сначала построить саму окружность (и вас есть три точки этой окружности), то воспользуйтесь вот этой статьей.

Задача не сложная — нам нужны углы точек A и B. Это углы, образованные точкой (A или B), центром окружности и осью X, проходящей через центр окружности. Их просто получить по следующим формулам:

Далее мы получим разницу между этими углами дельта, которую надо будет поделить на равные N частей, чтобы построить равноудаленные точки на арке.

Точки по сути делят окружность на 2 дуги: короткую, либо длинную (более 180°). Я хочу, чтобы точки строилось по кратчайшей дуге, для этого я проверяю:

Далее вычислим шаг, поделив дугу на n + 1 частей:

Углы искомых точек:

И их координаты:

Реализация на JS

Осталось запрограммировать алгоритм на чем то простом. Для меня — это JS.

Входных параметров много, но ничего лишнего: cx, cy и r — описывают окружность, ax, ay, bx, by — точки A и B, ну и n — требуемое количество точек на арке.

Функция возвращает массив объектов с координатами: [{x1, y1}, {x2, y2} … {xn, yn}]

Написать комментарий

Мало букафф? Читайте есчо !

Магия чисел

Февраль 14, 2011 г.

Старшая дочь у меня уже ходит в 3й класс общеобразовательной средней школы. Склад ума у неё не лежит к точным наукам, но пока это не мешает ей приносить ...

Читать

Координаты центра окружности по трем точкам

Октябрь 11, 2019 г.

Обычно эта задача решается через уравнения круга, но для программирования нужно аналитическое решение (в виде формулы). Если решать систему уравнений, ...

Читать

 

Комментарии к «Вычисление N точек на арке»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: