Я работал с геометрией Boost, в основном для манипулирования полигонами; Я использовал встроенный метод центроида (http://www.boost.org/doc/libs/1_55_0/libs/geometry/doc/html/geometry/reference/algorithms/centroid/centroid_2.html) для расчета геометрический (барический) центр моих многоугольников, но недавно после вывода координат моих точек (составления определенного многоугольника) (и анализа их сбоку с помощью некоторых скриптов Python) я понял, что координаты центроида, которые давал мне предыдущий метод, не соответствуют среднему геометрическому точек многоугольника.
Я нахожусь в двух измерениях и складываю это в уравнения, у меня должно получиться:
x_centroid = \frac{1}{number of points composing the polygon} \sum{point i} x_i
и то же самое для координат y. Теперь я подозреваю, что это могло быть связано с тем фактом, что библиотека ускоренной геометрии не просто смотрит на точки на краю многоугольника (его внешнее кольцо), но рассматривает его как заполненный объект.
Есть ли у кого-нибудь из вас опыт работы с этими функциями?
Кстати, я использую:
point my_center(0,0);
bg::centroid(my_polygon,my_center);
для вычисления центроида.
Спасибо.