N N K K K: 6. Mirror Matrices
N N K K K: 6. Mirror Matrices
6. Mirror matrices
Matrix formalism is used to model reflection from plane mirrors.
For a plane mirror with its normal vector n with (x,y,z) components (nx,ny,nz)
nˆ = nx iˆ + n y ˆj + nz kˆ
k2 = M k1
M = I − 2 n ⋅ nT
M can be expanded as
nx
1 0 0
M 0 1 0 2. n y . n x n y n z
0 0 1 nz
or
2
1 2. n x 2. n x. n y 2. n x. n z
2
M 2. n x. n y 1 2. n y 2. n y . n z
2
2. n x. n z 2. n y . n z 1 2. n z
After calculating this mirror matrix, any vector k1 gets changed by reflection from the
mirror to a new vector k2, calculated by simple matrix multiplication
k2 M . k1
If the initial vector k1 is the direction the ray incident on the mirror, then k2 is the
direction of the reflected ray.
J. H. Burge University of Arizona 2
Optical Sciences 421/521
A series of reflections is modeled by successive mirror matrix multiplications. If light
bounces off mirror 1, then 2 then 3, the net effect of these three reflections is
k4 M 3. M 2. M 1. k1
M2
k4 final reflected ray
k1 incident ray
k4 = M3 M2 M1 k1
= Meff k1
M1 M3
So the effect of any set of mirrors can be reduced to a single 3x3 matrix.
i k
k’
i’
j’
For example, a mirror with its normal in the z direction would be described by M z
1 0 0
Mz = 0 1 0
0 0 1
1 0 0
x' = 0, y ' = 1, z ' = 0
0 0 − 1
Image orientation can be computed by transforming the "up" and "right" axes in
object space using the mirror matrix M to find the orientation and parity in image
space. Each direction of the coordinate system is transformed by the mirror matrix
The parity of this one mirror is of course odd (–1). The image of a right handed
coordinate system will appear to be left handed in the reflection. This means that
clockwise rotation about any basis vector will appear counter-clockwise in the image.
In general, the determinant of the mirror matrix gives the parity of the system.
• An even number of reflections will cause the image to be right-handed, or to
have parity = det(M) = 1.
• A system with an odd number of reflections will cause the image to be left-
handed, or to have parity = det(M) = -1.
Mirrors with any orientation can be defined using rotations. The matrix method uses
well defined coordinate transformations which use simple matrix multiplications. The
effect of rotating a mirror M, or system of mirrors that has equivalent matrix M is
M r = R ⋅ M ⋅ RT
where Mr is the new matrix and R is the rotation matrix given below
1 0 0
cos( β ) 0 sin( β )
y rotation Ry 0 1 0
sin( β ) 0 cos( β )
cos( γ ) sin( γ ) 0
T
(The rotation matrices have the special property 1 2 3 1 4 7
that RT = R-1. Transpose operation, swap rows with columns: 4 5 6 = 2 5 8
7 8 9 3 6 9
Use these coordinates to evaluate how object motion relates to image motion, both
for translation and rotation. Remember to reverse the direction of rotation if the
system has –1 parity.
To find the effect of small rotations of any prism, apply the rotation transformations
to the prism matrix Mp
Mr = Rx(α) Mp Rx(α)T
This new matrix defines the new line of sight as well as any image rotation
For small angles (jitter), you can use the small angle approximation and apply a
perturbation:
sin α ≈ α
cos α ≈ 1
If you take the incident light direction as z, the last row gives z’, the new direction
after the perturbation. For image rotation, compare the perturbed directions of x’
and y’ with the unperturbed values. For example, a 45° mirror, giving 90° reflection.
1 0 0
=M 0 0 −1
0 −1 0
Rotate about z axis, (the incident line of sight)
1 −γ 0 1 0 0 1 γ 0 1 γ γ
M '(γ ) ≈ γ 1 0 0 0 −1 −γ 1 0 ≈ γ 0 −1
0 0 1 0 −1 0 0 0 1 γ −1 0
Upon rotation, the new propagation direction z’ is deviated by an amount γ into the x
direction. The change in the x-y plane defines image rotation. These coordinates
are reflected to the x-(-z) plane. The mirror rotation rotates this coordinate frame by
an amount γ about the z’ (or –y) axis.
1 0 0
y mirror 0 − 1 0 insensitive to y rotation
2θ for x and z rotations
0 0 1
1 0 0 insensitive to z rotation
z mirror 0 1 0
2θ for x and y rotations
0 0 −1
i
1 0 0 insensitive to x rotation
90° x roof 0 − 1 0 2θ for y and z rotations
0 0 − 1
− 1 0 0 insensitive to y rotation
− 1 0 0
90° z roof 0 − 1 0 insensitive to z rotation
2θ for x and y rotations
0 0 1
1 0 0
45° x roof 0 0 − 1 90° deviation
insensitive to x rotation
0 1 0 θ for y and z rotations
− 1 0 0
cube corner 0 −1 0 retro-reflects
insensitive to all rotations
0 0 − 1