Минимальный ориентированный ограничивающий прямоугольник точек в геометрии повышения

В геометрии повышения существует функция конверта, которая вычисляет выровненный по оси ограничивающий прямоугольник заданной геометрии. Есть ли какая-нибудь функция для вычисления minimum *oriented* bounding rectangle (также известной как ориентированная ограничивающая рамка (OBB)) для заданного list of points в форсировании? В этой теме есть решение. Но меня беспокоит быстрое вычисление множества прямоугольников. Также приветствуется быстрая реализация на С++.


person Bruce    schedule 28.02.2018    source источник


Ответы (1)


В настоящее время (Boost 1.67) OBB не поддерживаются.

Существует функция convex_hull(), которая используется решениями, перечисленными в упомянутой вами ветке. Однако вам придется написать остальную часть алгоритма самостоятельно, и вы не сможете ничего сделать с OOB, используя Boost.Geometry, если только он не будет представлен в виде полигона, что было бы неоптимально.

person Adam Wulkiewicz    schedule 07.04.2018