Processing math: 100%

Transformation matrices

Alexander (Sasha) Pastukhov

2023-09-13

For most transformation, we assume that we can compute only the translation coefficients (ai). The only exception are Euclidean transformation around a single axis of rotation that allow to compute a single scaling and a single rotation coefficient. In all other cases, values of computed coefficients would depend on the assumed order of individual transformation, making them no more than a potentially misleading guesses.

Bidimensional regression

Translation

Number of parameters: 2

[10a101a2001]

Euclidean

Number of parameters: 4

[b1b2a1b2b1a2001]

The Euclidean transformation is a special case, where we can compute rotation (θ) and the single scaling (ϕ) coefficients, as follows: ϕ=b21+b22θ=tan1(b2b1)

Affine

Number of parameters: 6

[b1b2a1b3b4a2001]

Projective

Number of parameters: 8

[b1b2a1b3b4a2b5b61]

Tridimensional regression

Translation

Number of parameters: 3

[100a1010a2001a30001]

Euclidean

Number of parameters: 5

For all Euclidean rotations, we opted to use coefficient b3 to code scaling (ϕ), whereas b2=sin(θ) and b1=ϕ cos(θ). The coefficients are computed as follows: ϕ=b21+b22θ=tan1(b2b1)

Euclidean, rotation about x axis

Note that during fitting ϕ is computed from b1 and b2 on the fly. [ϕ00a10b1b2a20b2b1a30001]

Euclidean, rotation about y axis

[b10b2a10ϕ0a2b20b1a30001]

Euclidean, rotation about z axis

[b1b20a1b2b10a200ϕa30001]

Affine

Number of parameters: 12

[b1b2b3a1b4b5b6a2b7b8b9a30001]

Projective

Number of parameters: 15

[b1b2b3a1b4b5b6a2b7b8b9a3b10b11b121]