Making Synfig easier to use brainstorming

Bezier splines (which Synfig uses) are affine invariant. This means that applying a transformation to the spline can be achieved by transforming just the control points, which makes it a dirt cheap operation. Guess why transforms are so pervasive and fast on SVG (ie. inkscape)? One problem: perspective transform is not an affine transform (it is projective).

To synfig it doesn’t matter, because it always transforms the pixels rather than the shapes. The downside of that method is the huge performance hit (as can be seen on Synfig).

Rational B-splines are projective invariant, which would make it cheap to apply even perspective transformations.

But why stop there? :wink: It is also possible to apply curved transformations to spline objects, and do so somewhat cheaply. So one could not only map vector graphics to a 3D cube but also to a 3D sphere or any freeform 3D spline surface for that matter.

That was the idea behind my Free-form deformation effect. There are still some problems with that technique though (ie. higher order bezier splines). I’m still investigating how to deal with that.