Matrixfunktion für Drehung um Koordinaten-Achsen xyz

Matrizen für Achsen-Drehungen über die x-,y-,z-Achse
in einer Funktion zusammengefasst[br][br]Do(a,X,Y,Z):=Take({{Y cos(a) + Z cos(a) + X, -Z sin(a), Y sin(a)}, {Z sin(a), X cos(a) + Z cos(a) + Y, -X sin(a)}, {-Y sin(a), X sin(a), X cos(a) + Y cos(a) + Z}} ,1,3)[icon]/images/ggb/toolbar/mode_keepinput.png[/icon][br][br][math]Do( \varphi,1,0,0)=\left(\begin{array}{rrr}1&0&0\\0&\operatorname{cos} \left( \varphi \right)&-\operatorname{sin} \left( \varphi \right)\\0&\operatorname{sin} \left( \varphi \right)&\operatorname{cos} \left( \varphi \right)\\\end{array}\right),[br]Do( \varphi,0,1,0)=\left(\begin{array}{rrr}\operatorname{cos} \left( \varphi \right)&0&\operatorname{sin} \left( \varphi \right)\\0&1&0\\-\operatorname{sin} \left( \varphi \right)&0&\operatorname{cos} \left( \varphi \right)\\\end{array}\right),[br]Do( \varphi,0,0,1)=\left(\begin{array}{rrr}\operatorname{cos} \left( \varphi \right)&-\operatorname{sin} \left( \varphi \right)&0\\\operatorname{sin} \left( \varphi \right)&\operatorname{cos} \left( \varphi \right)&0\\0&0&1\\\end{array}\right)[/math][br][br]X,Y,Z = 1 für Drehung [math]\theta[/math]=-45° um die mit 1 belegte Achse[br][br][math]R_z \, := Do(θ,0,0,1)) = \, [br]\left(\begin{array}{rrr}0.707&0.707&0\\-0.707&0.707&0\\0&0&1\\\end{array}\right)[/math][br][br]in homogenen Koordinaten[br][br]R[sub]z[/sub]:=Append(Transpose(Append((Do(θ,0,0,1)),{0,0,0})),{0,0,0,1})[br][br][math]R_z \, = \, \left(\begin{array}{rrrr}0.707&-0.707&0&0\\0.707&0.707&0&0\\0&0&1&0\\0&0&0&1\\\end{array}\right)[/math][br][br]---[br][br]Userdefined Functions zu Matrizen funktionieren nicht direkt - die Vorschaltung von TAKE erzeugt dann (meist) doch eine parameterabhängige Matrix![br]
Achsen XYZ Rotation.ggb

Information: Matrixfunktion für Drehung um Koordinaten-Achsen xyz