Kontrolle meiner Ableitungen

Hallo
könnte grad mal jmd über die Ausmultiplizierung meiner Matrizen und die damit verbundenen Ableitungen (Verchiebung, Drehungen, Masstäbe) schauen, ob das so stimmt.
Ich bin mir nicht sicher, aber evtl. ist irgendwo ein Fehler.

[cosy*cosz cosx*sinz+sinx*siny*cosz sinx*sinz-cosx*siny*cosz]
[-cosy*sinz cosx*cosz-sinx*siny*sinz sinx*cosz+cosx*siny*sinz]=R
[siny -sinx*cosy cosx*cosy]

[Mx 0 0]
[0 My 0]=M (Masstab)
[0 0 Mz]
´
X0
Y0= T (Translation)
Z0

xo
yo= Q
zo

Die Formel lautet dann E=T+M*R*Q
Ab hier weiss ich dann nicht, ob das stimmt.

ergibt ausmultipliziert:
X= XO + (xo * mx * cosy*cosz) + (yo * my * (cosx*sinz+sinx*siny*cosz)) + (zo * mz * (sinx*sinz-cosx*siny*cosz))

dazu die Ableitungen:
Verschiebung:
XXO = 1
XYO = 0
XZO = 0

Massstab:
Xmx = xo * cosy*cosz
Xmy = yo * (cosx*sinz + sinx*siny*cosz)
Xmz = zo * (sinx*sinz - cosx*siny*cosz)

Drehungen:
Xx = (yo * my * (cosx*siny*cosz - sinx*sinz)) + (zo * mz * (cosx*sinz + sinx*siny*cosz))
Xy = (-xo * mx * (siny*Cosz)) + (yo * my * (sinx*cosy*cosz)) - (zo * mz *(cosx*cosy*cosz))
Xz = (yo * my * (cosx*cosz - sinx*sinz*siny)) + (zo * mz * (cosx*sinz*siny + sinx*cosz)) - (xo * mx * (sinz*cosy))


dasselbe für Y:
Y= YO + (xo * mx * -cosy*sinz) + (yo * my * (cosx*cosz-sinx*siny*sinz)) + (zo * mz * (sinx*cosz+cosx*siny*sinz))

Verschiebung:
XXO = 0
XYO = 1
XZO = 0

Massstab:
Xmx = xo * (-cosy*sinz)
Xmy = yo * (cosx*cosz - sinx*siny*sinz)
Xmz = zo * (sinx*cosz + cosx*siny*sinz)

Drehungen:
Xx = (yo * my * (-cosx*siny*sinz - sinx*cosz)) + (zo * mz * (cosx*cosz - sinx*siny*sinz))
Xy = (xo * mx * siny*sinz) - (yo * my * sinx*cosy*sinz) + (zo * mz * cosx*cosy*sinz)
Xz = (yo * my * (-sinx*cosz*siny - cosx*sinz)) + (zo * mz * (cosx*cosz*siny - sinx*sinz)) - (xo * mx *cosz*cosy)


dasselbe für Z:
Z= ZO + (xo * mx * siny) + (yo * my * (-sinx*cosy)) + (zo * mz * (cosx*cosy))

Verschiebung:
XXO = 0
XYO = 0
XZO = 1

Massstab:
Xmx = xo * siny
Xmy = yo * (-sinx*cosy)
Xmz = zo * (cosx*cosy)

Drehungen:
Xx = - yo * my * cosx*cosy - zo * mz * sinx*cosy
Xy = (xo * mx * cosy) + (yo * my * sinx*siny) - (zo * mz * cosx*siny)
Xz = 0

Heute stimmt auch das Format *seufz*
Wenigstens etwas, Mfg Werner

[cosy\*cosz cosx\*sinz+sinx\*siny\*cosz sinx\*sinz-cosx\*siny\*cosz]
[-cosy\*sinz cosx\*cosz-sinx\*siny\*sinz sinx\*cosz+cosx\*siny\*sinz]=R
[siny -sinx\*cosy cosx\*cosy]

Das ist falsch!

Das ist nicht R (x,y,z) = Rz (z)\ *Ry (y)\ *Rx (x) sondern die Matrix ist

R (-x,-y,z). D.h. oben müssen x-> -x und y -> -y ersetzt werden.

Wie kann man sich das übrigens merken?

Wenn ich um die z-Achse drehe, dann wird nach der „Rechte-Hand-Regel“

ex -> Rz (z)\ *ex = cos(z)\ *ex + sin(z)\ *ey

sin(z) tritt auf statt -sin(z), da {z,x,y} in Rz , ex , ey eine gerade Permutation von {x,y,z} ist.

Analog gilt

Rx (x)\ *ey = cos(x)\ *ey + sin(x)\ *ez

Ry (y)\ *ez = cos(y)\ *ez + sin(y)\ *ey

Um das Vorzeichen zu prüfen reicht cos(φ) = 1 und sin(φ) = φ

Rz (z) * Ry (y) * Rx (x) =

[1 -z 0] [1 0 y] [1 0 0] [1 -z y]
[z 1 0]\*[0 1 0]\*[0 1 -x] = [z 1 -x]
[0 0 1] [-y 0 1] [0 x 1] [-y x 1]

Probe

[1 -z y] [1] [1]
[z 1 -x] \* [0] = [z] etc.
[-y x 1] [0] [-y]

die y-Komponente erhält ein wenig +z durch Drehung um die z-Achse, da {z, x, y} zyklisch, und die z-Komponente erhält -y durch Drehung um die y-Achse, da {y,x,z} antizyklisch.