[Math] Equivalent operations on Bezier curve points as control points

bezier-curvetransformation

In this question Explicit Bezier Curves: Lerping between curves same as lerping control points?, it shows that linearly interpolating between the result of evaluating two explicit bezier curves is the same as interpolating between their control points and evaluating the resulting curve.

Where an explicit bezier curve is defined as below, $A,B,C$ being scalar constants.
$f(t)=A(1−t)2+B(1−t)t+Ct2$

Are there any other interesting operations which could be applied to the result of evaluating those two curves which is equivalent to performing the same (or similar) operation on the control points themselves?

Lerping being one such operation, I'm looking for other operations, such as scaling, rotation, projection, or anything similarly useful.

Thanks!

Best Answer

Applying any affine transformation will work the same way.

Specifically, if $T$ is an affine transformation, then you can compute a point on a transformed Bézier curve in two ways:

(1) calculate a point $P(t)$ on the original curve, and then transform this point get a new point $T(P(t)$;

(2) transform the control points $P_i$ to get new ones $T(P_i)$, construct a Bézier curve from these, and calculate the point at parameter value $t$ on this curve

The result of these two calculations will be the same point.

So, in short, you can transform the curve just by transforming its control points.

Or, in symbols $$ T\left(\sum_{i=0}^m \phi^m_i(t)P_i\right) = \sum_{i=0}^m \phi^m_i(t)T(P_i) $$

Here $\phi^m_i(t)$ is the $i$-th Bernstein polynomial of degree $m$.

Affine transformations include translation, rotation, uniform and non-uniform scaling, shearing, parallel projection onto a plane, and so on. Central projection (as in perspective viewing) is not an affine transformation.

Related Question