The Homogenous Transform Matrix is of the following form.

[pic]

This matrix requires the bottom row to be [0 0 0 1].

The matrix can be of type: RIGID, RIGID_SCALE and AFFINE. These different types represent different conditions on the allowable values for the matrix elements.

RIGID:

This transform requires the matrix obey orthonormal transformation properties:

*
[pic]
*
for all combinations of j = 1,2,3 and k = 1,2,3 where delta = 1 for i = j and zero otherwise.

The expansion into non-matrix equations is:

M
_{
11
}
M
_{
11
}
+ M
_{
21
}
M
_{
21
}
+ M
_{
31
}
M
_{
31
}
= 1 where j = 1, k = 1

M
_{
11
}
M
_{
12
}
+ M
_{
21
}
M
_{
22
}
+ M
_{
31
}
M
_{
32
}
= 0 where j = 1, k = 2

M
_{
11
}
M
_{
13
}
+ M
_{
21
}
M
_{
23
}
+ M
_{
31
}
M
_{
33
}
= 0 where j = 1, k = 3

M
_{
12
}
M
_{
11
}
+ M
_{
22
}
M
_{
21
}
+ M
_{
32
}
M
_{
31
}
= 0 where j = 2, k = 1

M
_{
12
}
M
_{
12
}
+ M
_{
22
}
M
_{
22
}
+ M
_{
32
}
M
_{
32
}
= 1 where j = 2, k = 2

M
_{
12
}
M
_{
13
}
+ M
_{
22
}
M
_{
23
}
+ M
_{
32
}
M
_{
33
}
= 0 where j = 2, k = 3

M
_{
13
}
M
_{
11
}
+ M
_{
23
}
M
_{
21
}
+ M
_{
33
}
M
_{
31
}
= 0 where j = 3, k = 1

M
_{
13
}
M
_{
12
}
+ M
_{
23
}
M
_{
22
}
+ M
_{
33
}
M
_{
32
}
= 0 where j = 3, k = 2

M
_{
13
}
M
_{
13
}
+ M
_{
23
}
M
_{
23
}
+ M
_{
33
}
M
_{
33
}
= 1 where j = 3, k = 3

The Frame of Reference Transformation Matrix
^{
A
}
M
_{
B
}
describes how to transform a point (
^{
B
}
x,
^{
B
}
y,
^{
B
}
z) with respect to RCS
_{
B
}
into (
^{
A
}
x,
^{
A
}
y,
^{
A
}
z) with respect to RCS
_{
A
}
.

[pic]

The matrix above consists of two parts: a rotation and translation as shown below;

Rotation: [pic] Translation: [pic]

The first column [M
_{
11
}
,M
_{
21
}
,M
_{
31
}
] are the direction cosines (projection) of the X-axis of RCS
_{
B
}
with respect to RCS
_{
A
}
*
.
*
The second column [M
_{
12
}
,M
_{
22
}
,M
_{
32
}
] are the direction cosines (projection) of the Y-axis of RCS
_{
B
}
with respect to RCS
_{
A.
}
The third column [M
_{
13
}
,M
_{
23
}
,M
_{
33
}
] are the direction cosines (projection) of the Z-axis of RCS
_{
B
}
with respect to RCS
_{
A.
}
The fourth column [T
_{
1
}
,T
_{
2
}
,T
_{
3
}
] is the origin of RCS
_{
B
}
with respect to RCS
_{
A
}
.

There are three degrees of freedom representing rotation, and three degrees of freedom representing translation, giving a total of six degrees of freedom.

RIGID_SCALE

The following constraint applies:

*
[pic]
*
for all combinations of j = 1,2,3 and k = 1,2,3 where delta = 1 for i=j and zero otherwise.

The expansion into non-matrix equations is:

M
_{
11
}
M
_{
11
}
+ M
_{
21
}
M
_{
21
}
+ M
_{
31
}
M
_{
31
}
= S
_{
1
}
^{
2
}
where j = 1, k = 1

M
_{
11
}
M
_{
12
}
+ M
_{
21
}
M
_{
22
}
+ M
_{
31
}
M
_{
32
}
= 0 where j = 1, k = 2

M
_{
11
}
M
_{
13
}
+ M
_{
21
}
M
_{
23
}
+ M
_{
31
}
M
_{
33
}
= 0 where j = 1, k = 3

M
_{
12
}
M
_{
11
}
+ M
_{
22
}
M
_{
21
}
+ M
_{
32
}
M
_{
31
}
= 0 where j = 2, k = 1

M
_{
12
}
M
_{
12
}
+ M
_{
22
}
M
_{
22
}
+ M
_{
32
}
M
_{
32
}
= S
_{
2
}
^{
2
}
where j = 2, k = 2

M
_{
12
}
M
_{
13
}
+ M
_{
22
}
M
_{
23
}
+ M
_{
32
}
M
_{
33
}
= 0 where j = 2, k = 3

M
_{
13
}
M
_{
11
}
+ M
_{
23
}
M
_{
21
}
+ M
_{
33
}
M
_{
31
}
= 0 where j = 3, k = 1

M
_{
13
}
M
_{
12
}
+ M
_{
23
}
M
_{
22
}
+ M
_{
33
}
M
_{
32
}
= 0 where j = 3, k = 2

M
_{
13
}
M
_{
13
}
+ M
_{
23
}
M
_{
23
}
+ M
_{
33
}
M
_{
33
}
= S
_{
3
}
^{
2
}
where j = 3, k = 3

The above equations show a simple way of extracting the spatial scaling parameters Sj from a given matrix. The units of S
_{
j
}
^{
2
}
is the RCS unit dimension of one millimeter.

This type can be considered a simple extension of the type RIGID. The RIGID_SCALE is easily created by pre-multiplying a RIGID matrix by a diagonal scaling matrix as follows:

[pic]

where M
_{
RBWS
}
is a matrix of type RIGID_SCALE and M
_{
RB
}
is a matrix of type RIGID.

AFFINE:

No constraints apply to this matrix, so it contains twelve degrees of freedom. This type of Frame of Reference Transformation Matrix allows shearing in addition to rotation, translation and scaling.

For a RIGID type of Frame of Reference Transformation Matrix, the inverse is easily computed using the following formula (inverse of an orthonormal matrix):

*
annex.
*
[pic]

For RIGID_SCALE and AFFINE types of Registration Matrices, the inverse cannot be calculated using the above equation, and must be calculated using a conventional matrix inverse operation.