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