SVG / operaciones gráficas de objetos gráficos vectoriales (unión, intersección, sustracción)

Tengo rutas de vectores cerradas en 2D, especificadas enSintaxis similar a las rutas SVG - es decir, estos caminos incluyen líneas rectas y varias curvas de Bezier. ¿Hay algo como una biblioteca pequeña, agradable y discreta (preferiblemente en C, Java o Ruby, pero cualquier lenguaje funcionará si esta biblioteca es limpia y fácil de usar) que permite realizar operaciones booleanas como unión, intersección y sustracción con estas rutas ?

Lo que he encontrado hasta ahora incluye:

Enormes y caros productos de gráficos vectoriales comerciales (como Autodesk AutoCAD o Adobe Illustrator) que se pueden llamar usando algún tipo de API o con secuencias de comandos para realizar operaciones booleanas de rutas 2D, lo que es claramente una exageración para mis propósitos.Inkscape desarrollado internamentelib2geom La biblioteca que carece de documentación, enlaces, tiene algunos problemas de compilación, parece no utilizarse en ningún proyecto además de Inkscape y parece bastante compleja.CGAL es una biblioteca de geometría computacional enorme y bastante compleja, que funciona en un espacio de objetos bastante extraño (es decir, tiene una mezcla loca de plantillas, funciones de estilo imperativas para realizar operaciones en estas estructuras de datos con plantillas, etc., etc.), y no parece tener enlaces sanos a otros lenguajes además de C ++. Los enlaces de Python a CGAL parecen abandonados y no me parecen muy amigables.JTS parece estar centrado en SIG y solo trata con líneas rectas, mientras que necesito tratar con curvas Bezier similares a SVG.

Entonces, la pregunta es, ¿hay otras bibliotecas pequeñas, agradables y fáciles que floten para lidiar con operaciones booleanas en rutas similares a SVG?

Respuestas a la pregunta(2)

Su respuesta a la pregunta