Komisch, Listing 2.31 ist bei mir was anderes. Welche Auflage hast Du?
Wenn ich richtig verstehe, drehst Du um einen Vektor (x,y,z) um einen Winkel Alpha ?
Ohne groß nachgedacht zu haben, würde ich mir die Matrix so ermitteln:
Um sagen wir x so drehen, dass die Achse paralell zur xz-Ebene ist, um y so drehen dass es auch paralell zu xy ist. Damit ist die Achse paralell zu x-Achse. verschieben, dass die Dreh-Achse die (neue) x Achse wird. Jetzt um Alpha drehen. Dann wieder alle Trafos rückwärts rückgängig machen, also zurückschieben, zurückdrehen um momentane y Achse, dann zurück um momentane x.
Du kannst es auch so sehen, dass Du in einem anderen Koordinatensystem drehst. Wenn D die Drehung um Alfa ist und T die Trafo jetztiges Koordinatensystem zu neuem so ist:
D = TM1 * DS * T
mit
TM1 = T hoch minus eins (inverses T, d.h. Trafo neues Koordinatensystem zu jetzigem)
DS = D Strich
= Drehung in neuem Koordinatensystem.
Ich hoffe, das hilft beim Einstieg