Диаграмма Вороного с использованием специального расстояния (большого круга)
Вопрос
Я хочу создать диаграмму Voronoi на нескольких парах широты/долгот, но хочу использовать большую дистанцию круга между ними, а не (неточное) пифагорейское расстояние.
Могу ли я заставить qhull/qvoronoi или какую-нибудь другую программу Linux сделать это?
Я рассмотрел картирование точек с 3D, чтобы Qvoronoi создал 3D -диаграмму Voronoi [1] и пересекал результат с сферой устройства, но я не уверен, что это легко.
1] Я понимаю, что трехмерное расстояние между двумя широты/долготы (путь «через землю») не совпадает с большим расстоянием круга, но легко доказать, что это преобразование сохраняет относительные расстояния, что имеет значение Для диаграммы вороноя.
Решение
Я предполагаю, что ты нашел Эта статья.Судя по всему, у вас есть правильная идея, используя 3D-встраивание.Тогда ваш вопрос заключается в том, как пересечь результат со сферой.
Прежде всего вам нужно подумать, как вы собираетесь представлять диаграмму Вороного.Если вы хотите работать с координатами широты и долготы в 2D-плоскости, то ваша диаграмма Вороного будет содержать изогнутые края, поэтому, возможно, лучше просто использовать 3D-представление.
Если вы используете такую программу, как qvoronoi, теоретически вам потребуются только данные бесконечной гиперплоскости (сгенерированные Fo
).Это дает вам уравнение плоскости и двух точек, которым оно соответствует.Обычно вам нужно использовать диаграмму Вороного только для проверки включения внутри регионов, и для этого гиперплоскостей должно быть достаточно.
Другие советы
Смотрите также этот вопрос: Алгоритм, чтобы вычислить диаграмму Voronoi на сфере?