First of all, the question arises: in which mathematical concept do I want to represent my 3d model at all?
After some searching, I came across the concept of NURBS - Non Uniform Rational B-Spline. This is especially useful because I already use Bezier curves (SVG) for curves anyway. This would provide a common concept for curves and surfaces.
However, I unfortunately had to realize how complex this quickly becomes. The quadratic and cubic bezier curves from svg are relatively easy to reprogram in python. But when it comes to curved surfaces in space, it gets very complicated. I didn't want to do that to myself.
In my search for a good NURBS toolkit, I came across SISL.
There is also the program rhino3d (Rhinoceros). This provides pretty much all the NURBS-based geometric operations you can think of. This way, you don't have to deal with the NURBS details at all.