У меня есть 2D замкнутые векторные пути, указанные в SVG paths-like syntax - то есть эти пути включают прямые и различные кривые Безье. Есть ли что-то вроде небольшой, красивой дискретной библиотеки & (желательно на C, Java или Ruby, но любой язык будет работать, если эта библиотека чиста и проста в использовании), что позволяет выполнять логические операции, такие как объединение, пересечение и вычитание с помощью этих путей ?SVG/векторные графические объекты булевых операций (объединение, пересечение, вычитание)
То, что я нашел до сих пор включает в себя:
- огромные и дорогие коммерческие векторных графических продуктов (таких как Autodesk AutoCAD или Adobe Illustrator), которые могут быть вызваны с помощью какой-то API или скриптовые сделать логическое 2D пути, которые явно являются излишним для моих целей.
- Inkscape developed in-house lib2geom библиотека, в которой отсутствует документация, привязки, есть некоторые проблемы с компиляцией, кажется, используется в проектах, кроме самого Inkscape, и выглядит довольно сложным.
- CGAL - огромная и довольно сложная библиотека вычислительной геометрии, которая работает в довольно странном пространстве объектов (т. Е. У вас есть сумасшедшее сочетание шаблонов, императивные функции стиля для выполнения операций над этими шаблонами структур данных и т. Д. И т. Д.), t, похоже, имеют правильные привязки к другим языкам рядом с C++. Связывание Python с CGAL кажется заброшенным и не выглядит очень дружелюбным ко мне.
- JTS, похоже, ориентирован на ГИС и имеет дело только с прямыми линиями, в то время как мне нужно иметь дело с SVG-подобными кривыми Безье.
Итак, вопрос, есть ли какие-либо другие мелкие, красивые & легкие библиотеки, плавающие вокруг, чтобы иметь дело с логическими операциями на SVG-подобных путей?
Вы ищете какую-то геометрическую структуру данных из или просто визуального представления результатов? – 2010-11-23 22:54:59
Я ищу: 1) структуру данных, 2) булевы операции с полигонами и кривыми; Мне не нужны библиотеки визуализации, то есть Каир или что-то подобное. – GreyCat 2010-11-23 23:01:15