Как в моей 2D-физической системе (box2D), так и в OpenGL, сложные многоугольники необходимо разложить на выпуклые многоугольники.Гарантировать, что модели соответствуют этому, легко.Однако я также хотел бы редактировать полигоны в процессе симуляции, поэтому мне нужен динамический способ разбиения существующих полигонов на несколько многоугольников, которые все еще выпуклые.
Надеюсь, этот чертеж поможет описать то, что мне нужно:

Мой вопрос: существует ли существующая библиотека, которая может выполнить это?И если нет, то каков будет наименьший риск сделать это сам?
(Я просматривал Boost, в котором есть и модуль Geometry, и модуль Polygon, но документация оказывается слишком эзотерической, чтобы я мог знать, может ли любой из них делать то, что я хочу.)