les-anatoliy
@les-anatoliy

Как получить координаты по окружности?

Как получить N координат по окружности в радиусе 1км?

Например:
Есть точка с координатами: 55.754755, 37.620584
А мне нужно получить N-ое кол-во точек по радиусу в 1км.

В моем случае это координаты поверхности земли:
09TVFnF.png

Мне нужно получить несколько точек на окружности (отмечены стролочками).
  • Вопрос задан
  • 344 просмотра
Пригласить эксперта
Ответы на вопрос 2
@habrspec
Необходимо использовать формулы Винценти для решения прямой и обратной задач.

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

https://en.wikipedia.org/wiki/Vincenty%27s_formulae
https://movable-type.co.uk/scripts/latlong-vincent...
Ответ написан
ProgrammerForever
@ProgrammerForever
Учитель, автоэлектрик, программист, музыкант
Вам нужны полярные координаты

Формулы для перевода:
x = x0 + R*cos(phi)
y = y0 + R*cos(pi/2 - phi) = y0 + R*sin(phi)


Основаны на том, что проекция вектора на ось(или в общем случае - направление) - это длина вектора умноженная на угол между осью(или направлением) и вектором. Угол считается от направления до вектора против часовой. Если угол "неудобный" (больше 180 градусов, например) - то его всё равно нужно брать. Ну или брать меньший "удобный" угол и учитывать в формуле направление проекции - если направление проекции совпадает с положительным направлением оси - то ставим "+", если в противоположную сторону - то "-".

А так - задавайте любой угол и получайте любое количество точек

Для поверхности Земли вообще нужны координаты сферические, а если ещё точнее - пересечение с параболоидом. Но для 1км вполне можно попробовать ограничиться и этим
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы