= Solution
A <solid body transform> is a <rigid transformation>: it preserves distances within the object. In three-dimensional coordinates it has the form $T(x)=Rx+b$, with translation $b\in\mathbb R^3$ and an <orthogonal matrix> $R$. For a proper physical rotation, the coefficient constraints are
$$
\boxed{R^TR=I,\qquad\det R=1.}
$$
Equivalently the columns of $R$ are an <orthonormal basis> with positive orientation. A reflection also preserves distance but has $\det R=-1$ and is excluded when “solid-body motion” means a rotation and translation. There are three rotational and three translational degrees of freedom, not twelve independent matrix coefficients.
Computationally use the <homogeneous coordinates> representation
$$
\begin{pmatrix}T(x)\\1\end{pmatrix}
=\begin{pmatrix}R&b\\0&1\end{pmatrix}\begin{pmatrix}x\\1\end{pmatrix}.
$$
The last row is $(0,0,0,1)$; matrix multiplication composes transforms. Alternatively store a unit <quaternion> together with $b$, maintaining its unit norm. A transpose gives the rotational inverse: $T^{-1}(y)=R^T(y-b)$.
Write the cubic <Bézier curve> as $P(t)=\sum_{i=0}^3B_i^3(t)p_i$, where $B_i^3(t)=\binom3i(1-t)^{3-i}t^i$. The <binomial theorem> gives $\sum_iB_i^3(t)=1$. Transforming the controls produces
$$
\begin{aligned}
\widetilde P(t)&=\sum_{i=0}^3B_i^3(t)(Rp_i+b)\\
&=R\sum_{i=0}^3B_i^3(t)p_i+b\sum_{i=0}^3B_i^3(t)\\
&=\boxed{RP(t)+b=T(P(t)).}
\end{aligned}
$$
This proves pointwise equivariance, including the original parameter values; it is stronger than a statement that the two curves merely have the same shape.
Orthogonality was not used in the calculation. The identical proof applies to \b[every <affine map> $T(x)=Ax+b$], including scales, shears and even singular affine maps. It applies to every representation $P(u)=\sum_i\phi_i(u)p_i$ with scalar, control-independent <partition of unity> basis functions: <Bézier curves> of every degree, <B-splines>, surfaces built on a <tensor-product surface basis>, <triangular Bézier patches>, and more general linear control-point representations. Positivity is not needed for <affine equivariance of a geometric basis>. For linear stationary <subdivision matrices> with row sums one, each refinement step commutes with the affine transformation; taking a convergent limit proves the corresponding assertion for <subdivision curves> and <subdivision surfaces>. Rules with geometry-dependent nonlinear weights require separate equivariance tests and are not covered automatically.
The affine class is the largest class that preserves every such Euclidean-control construction with unchanged basis weights, under the usual continuity assumption. In fact the degree-one case would force
$$
T((1-t)x+ty)=(1-t)T(x)+tT(y)
$$
for all $x,y$ and $0\le t\le1$. This segment identity, followed by continuity, forces $T$ to be affine. Nonlinear transforms such as perspective division generally fail it.
There is a further extension when the representation itself is enlarged: apply a <projective transformation> linearly to homogeneous controls $(w_ip_i,w_i)$, then dehomogenize the weighted sum. The transformed objects are rational <Bézier curves> or <non-uniform rational B-splines>, with transformed weights as well as transformed Euclidean controls. This works wherever the new denominator is nonzero. It does not assert projective invariance of ordinary polynomial <Bézier curves> with their old weights.
Back to article page