Хорошая идея перечислить свойства, которые должен иметь центроид многоугольника. Вот мои критерии:
(а) Это свойство внутренней части многоугольника (вместо вершин или ребер). Таким образом, разделение ребра на две части путем вставки дополнительной вершины не должно изменять положение центроида. Обратите внимание, что определение центроида по Дженнессу не соответствует этому критерию, поскольку положение центроида будет зависеть от того, как многоугольник делится на треугольники.
(b) Небольшое изменение формы многоугольника должно немного сместить центр тяжести. Здесь необходимо наложить ограничение на общую протяженность многоугольника (например, до одного полушария). Без этого ограничения легко построить случаи, когда центроид внезапно качается к противоположной стороне земли с небольшим движением вершины. Это условие исключает методы, которые требуют, чтобы центроид лежал внутри многоугольника.
(c) Он должен привести к плоскому определению центроида для небольших полигонов.
Вот два подхода, удовлетворяющие этим критериям:
(1) Вычислить центроид для эллипсоидального многоугольника в трех измерениях и спроецировать обратно на поверхность эллипсоида (вдоль нормали к эллипсоиду). Большое преимущество: центроид можно вычислить, разбив многоугольник на более простые формы.
(2) Центроид - это точка с минимальным среднеквадратическим геодезическим расстоянием до всех точек внутри многоугольника. См. Buss и Fillmore, «Сферические средние и применения к сферическим сплайнам и интерполяции», ACM Transactions on Graphics 20 , 95–126 (2001). Большое преимущество: полученная точка не зависит от того, как поверхность встроена в R 3 .
К сожалению, ни одно из этих определений не является простым для применения на практике. Однако первый способ может быть осуществлен просто для сферы. Лучшей «элементарной» областью для использования является четырехугольник, ограниченный ребром многоугольника, двумя меридианами через конечные точки ребра и экватором. Результат для всего многоугольника влечет за собой суммирование вкладов по ребрам. (Дополнительные шаги необходимо предпринять, если многоугольник окружает полюс.)
Предположим, что конечными точками ребра являются (φ 1 , λ 1 ) и (φ 2 , λ 2 ). Пусть азимуты ребра и конечных точек по α 1
и α 2 . Предполагая, что радиус сферы равен 1, площадь четырехугольника равна
A = α 2 - α 1
= 2 tan -1
[tan ½ (λ 2 - λ 1 ) sin ½ (φ 2 + φ 1 ) / cos ½ (φ 2 + φ 1 )]
(Эта формула для площади, по Бесселю, существенно лучше ведет себя численно, чем общепринятая формула Л'Уилье для площади треугольника.)
Компоненты центроида для этого четырехугольника определяются
2 ⟨ х ⟩ = φ 2 Sin (λ 2 - λ 0 ) - φ 1 Sin (λ 1 - λ 0 )
2 ⟨ у ⟩ = сов α 0 (σ 2 - σ 1 ) - (φ 2 сов (λ 2 - λ 0 ) - φ 1 сов (λ 1 - λ 0 ))
2 ⟨ г ⟩ = (λ 2 - λ 1 ) - SIN α 0 (σ 2 - σ
1 )
где σ 2 - σ 1 - длина ребра, а λ 0 и α 0 - долгота и азимут ребра, где он пересекает экватор, а
оси x и y ориентированы так, чтобы пересечение экватора находилось в точке x = 1, y = 0. ( z - ось, проходящая через полюс, конечно.)