Da stellt sich erst einmal die Frage: in welchem mathematischen Konzept will ich mein 3d-Modell überhaupt darstellen?
Nach einigem Suchen bin ich auf das Konzept NURBS - Non Uniform Rational B-Spline gestoßen. Das bietet sich besonders deswegen an, weil ich für Kurven sowieso schon Bezier-Kurven (SVG) verwende. Damit hätte man ein gemeinsames Konzept für Kurven und Flächen.
Allerdings musste ich leider feststellen, wie komplex das schnell wird. Die quadratischen und kubischen Bezier-Kurven aus svg lassen sich relativ einfach in python nachprogrammieren. Wenn es aber um gebogene Flächen im Raum geht, wird es sehr kompliziert. Das wollte ich mir nicht antun.
Auf der Suche nach einem guten NURBS-Toolkit bin ich auf SISL gestoßen.
Außerdem gibt es ja noch das Programm rhino3d (Rhinoceros). Das bietet so ziemlich alle geometrischen Operationen auf NURBS-Basis, die man sich vorstellen kann. Auf diese Art muss man sich mit den NURBS-Einzelheiten gar nicht mehr befassen.