The Mathematical Study of Mollusk Shells
1 a11 R [0] = [a21] = first column of R, etc., 0 a31the 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 RT = I: that R times the transpose of R (transpose means rows and columns are interchanged) is the identity matrix I.
Suppose now Ra is a smooth curve of rotation matrices, with R0=I. Differentiating the equation RaRaT = I with respect to a gives R'aRaT + RaR'aT = 0. Setting a=0 then gives R'0 + R'0T = 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 0where f,g,h are any 3 real numbers. This is the form of our matrix r = lima->0(Ra-I)/a.
The next step is to rotate coordinates so that
0 -c 0 r = [c 0 0]. 0 0 0If 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 0a 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 0where 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 0where c = fcosB - qsinB.