**The Mathematical Study of Mollusk Shells**

## Derivatives of rotation matrices

Suppose `R = [a`_{ij}] is a `3x3`
rotation matrix. This means that `R` preserves lengths
and angles, and preserves orientation. Since `R` times
the first basis vector
1 a_{11}
R [0] = [a_{21}] = first column of R, etc.,
0 a_{31}

the statement
"`R` preserves lengths and angles" implies that the three columns of
`R` have unit length and are pairwise orthogonal. This is
equivalent to the statement that `R R`^{T} = I: that
`R` times the transpose of `R` (transpose means rows and
columns are interchanged) is the identity matrix `I`.
Suppose now `R`_{a} is a smooth curve of rotation
matrices, with
`R`_{0}=I. Differentiating the equation
`R`_{a}R_{a}^{T} = I with respect
to `a` gives
`R'`_{a}R_{a}^{T} + R_{a}R'_{a}^{T} = 0. Setting `a=0` then gives
`R'`_{0} + R'_{0}^{T} = 0, i.e the
matrix `R'`_{0} is equal to minus its transpose. So

0 -f -g 0 -1 0 0 0 -1 0 0 0
R'_{0} = [f 0 -h] = f[1 0 0] + g[0 0 0] + h[0 0 -1].
g h 0 0 0 0 1 0 0 0 1 0

where `f,g,h` are any 3 real numbers. This is the form of
our matrix `r = lim`_{a->0}(R_{a}-I)/a.
The next step is to rotate coordinates so that

0 -c 0
r = [c 0 0].
0 0 0

If the new coordinates are derived from the old by a rotation matrix
`S`, then in the new coordinates the same infinitesimal
rotation `r` will appear as `SrS`^{-1}.
Starting with
0 -f -g
[f 0 -h]
g h 0

a rotation of coordinates by an angle `A = arctan(-h/g)`
about the `z`-axis changes `r` to
cosA -sinA 0 0 -f -g cosA sinA 0 0 -f -q
[sinA cosA 0] [f 0 -h] [-sinA cosA 0] = [f 0 0].
0 0 1 g h 0 0 0 1 q 0 0

where `q = -gcosA+hsinA`. A further rotation by an angle
`B = arctan(-q/f)` about the `x`-axis changes that
matrix to
1 0 0 0 -f -q 1 0 0 0 -c 0
[0 cosB -sinB] [f 0 0] [0 cosB sinB] = [c 0 0]
0 sinB cosB q 0 0 0 -sinB cosB 0 0 0

where `c = fcosB - qsinB`.

@ Copyright 2001, American Mathematical
Society