У меня есть 2D замкнутые векторные пути, указанные в SVG-подобный синтаксис - т.е. эти пути включают прямые и различные кривые Безье. Есть ли что-то вроде небольшой, красивой и дискретной библиотеки (желательно на C, Java или Ruby, но любой язык будет работать, если эта библиотека чиста и проста в использовании), что позволяет выполнять логические операции, такие как объединение, пересечение и вычитание с помощью этих путей
То, что я нашел до сих пор, включает в себя:
- Огромные и дорогие коммерческие векторные графические продукты (такие как Autodesk AutoCAD или Adobe Illustrator), которые могут быть вызваны с использованием какого-то API или с помощью сценариев для выполнения операций с логическими двумерными путями - что явно является излишним для моих целей.
- Inkscape разработала собственную библиотеку lib2geom, в которой отсутствует документация, привязки, есть некоторые проблемы с компиляцией, которые, как представляется, используются не в проектах, кроме Inkscape и выглядит довольно сложно.
- CGAL - огромная и довольно сложная библиотека вычислительной геометрии, которая работает в довольно странном пространстве объектов (т.е. у вас сумасшедшее сочетание шаблонов, императивные функции стиля для выполнения операций над этими шаблонами структур данных и т.д. и т.д.) и, похоже, не имеют правильных привязок к другим языкам рядом с С++. Связывание Python с CGAL кажется заброшенным и не выглядит очень дружелюбным ко мне.
- JTS, похоже, ориентирован на ГИС и имеет дело только с прямыми линиями, в то время как мне нужно иметь дело с SVG-подобными кривыми Безье.
Итак, вопрос в том, есть ли какие-нибудь другие маленькие, красивые и легкие библиотеки, плавающие вокруг, чтобы иметь дело с булевыми операциями на SVG-подобных путях?