Как построить синусоиду между двумя известными координатами (Java)? Здравствуйте, друзья.
Уж простите, что я свосем забыл математику, но вопрос надо быстро решить, а я начинаю закапываться (очень много дел). Рассчитываю на Вашу помощь.
Имеются две координаты (географические):
a = (61.044039; 28.156276)
b = (42.689624; 23.402102)
Между ними путь в виде синусоиды в периоде 2*Пи. Движемся мы вдоль широты. Нужно нарисовать на карте 30 точек на этой синусоиде, равноудалённых друг от друга. Как это сделать средствами Java? Точнее, как вычислить эти точки (я их при вычислении добавить должен в коллекции), как их расположить я знаю))))

21 Авг 2019 в 06:10
155 +1
0
Ответы
1

Для того чтобы вычислить 30 точек на синусоиде между двумя известными точками, можно воспользоваться следующим кодом на Java:

import java.util.ArrayList;
import java.util.List;
public class SinusoidalPath {
public static void main(String[] args) {
double lat1 = 61.044039;
double lon1 = 28.156276;
double lat2 = 42.689624;
double lon2 = 23.402102;
List<Point> points = calculateSinusoidalPath(lat1, lon1, lat2, lon2);
for (Point point : points) {
System.out.println("Latitude: " + point.lat + ", Longitude: " + point.lon);
}
}
public static List<Point> calculateSinusoidalPath(double lat1, double lon1, double lat2, double lon2) {
List<Point> points = new ArrayList<>();
for (int i = 0; i < 30; i++) {
double t = i * Math.PI / 15;
double lat = (lat1 + lat2) / 2 + (lat1 - lat2) / 2 * Math.sin(t);
double lon = (lon1 + lon2) / 2 + (lon1 - lon2) / 2 * Math.sin(t);
points.add(new Point(lat, lon));
}
return points;
}
public static class Point {
double lat;
double lon;
public Point(double lat, double lon) {
this.lat = lat;
this.lon = lon;
}
}
}

Этот код создает 30 точек на синусоиде между двумя известными координатами, используя формулу для построения синусоиды между двумя точками. Вам нужно будет просто добавить эти точки в вашу коллекцию и с ними работать дальше для отображения на карте.

20 Апр в 13:22
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 622 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир