Matrix * Matrize brauche Hilfe

Hallo
ich bin immer noch auf der Suche nach der Lösung für die Koordinaten X, Y, Z meiner Formel für die 9 Parameter Trafo.

Hier mal die Originalformel:

X Xo |mX 0 0 | W11 W12 W13 x
Y = Yo + |0 my 0 | * ( W21 W22 W23 ) * y
Z Zo |0 0 mz| W31 W32 W33 z

mx,my,mz = Matrix
W11,… = Matrize (laut Buch und vereinfacht, stellt normal den Rotationsvektor dar mit Cos,Sin-Werten))
Xo,… = Vektor (glaub ich)
xo,… = Vektor (glaub ich)

Leider bekomme ich bei der Multiplikation irgendwie das falsche raus.
Online fand ich nirgendwo die ausmultiplizierte Variante.
Könnte sich jmd erbarmen und mir das ausmultiplizieren für X, Y, Z

Das wäre echt supi, ich weiss is ne doofe Frage.

Mfg Werner

die Werte stehen leider etwas versetzt Online!!!
oT

X__Xo____|mX 0 0 |_____W11 W12 W13_____x
Y = Yo__+_|0 my 0 |_*_( W21 W22 W23 )_*_y
Z__Zo____|0 0 mz|_____W31 W32 W33_____z

3D-Rotation
Hi,
naja intelligent habe ich mich nicht angestellt beim Einstellen der Formel. Ich vermute fast, das die Matrizen andersrum gehören, daher ergibt sich auch mein Rechenfehler.
In meiner X-Formel kommt nämlich bisher nur mx (Multipliziert mit den W-Werten) vor. Vermutlich heisst es aber mx * W11, My * W22, Mz *W33 in X.

Kennt niemand die 3D Rotation???

Mfg Werner

Hallo Nirwana,

ich war mal so frei ein wenig zu formatieren. Dazu gibt es den sog. PRE-Tag
Gandalf

Hier mal die Originalformel:

X Xo |mX 0 0 | W11 W12 W13 x
Y = Yo + |0 my 0 | \* ( W21 W22 W23 ) \* y
Z Zo |0 0 mz| W31 W32 W33 z

mx,my,mz = Matrix
W11,… = Matrize (laut Buch und vereinfacht, stellt normal
den Rotationsvektor dar mit Cos,Sin-Werten))
Xo,… = Vektor (glaub ich)
xo,… = Vektor (glaub ich)

Hi Werner.
also wenn ich deine Schreibweise richtig verstanden hab (Vektor = Vektor + Matrix*Matrix*Vektor), dann krieg ich raus:
x = x_0 + mx*(W11*x + W12*y + W13*z)
y = y_0 + my*(W21*x + W22*y + W23*z)
z = z_0 + mz*(W31*x + W32*y + W33*z)

Oder steht vor der W-Matrix die Determinante der Matrix mit mx, my, und mz?
Dann krieg ich:

x = x_0 + determinante*(W11*x + W12*y + W13*z)
y = y_0 + determinante*(W21*x + W22*y + W23*z)
z = z_0 + determinante*(W31*x + W32*y + W33*z)

Hallo Nirwana,

ich war mal so frei ein wenig zu formatieren. Dazu gibt es den
sog. PRE-Tag
Gandalf

Hier mal die Originalformel:

X Xo |mX 0 0 | W11 W12 W13 x
Y = Yo + |0 my 0 | * ( W21 W22 W23 ) * y
Z Zo |0 0 mz| W31 W32 W33 z

Nach Rotation sieht das nicht aus.

X_o

ist eine (konstante ?) Translation

M eine Dilatation nach der Rotation

und wie die Rotationsmatrix W ausschaut, hängt davon ab, welche Winkel man verwendet. Eulersche Winkel (α, β, γ) oder θ und φ …

Ich würde hier nicht von ausgehen, dass jemand namens alle hier die Die Rotationsmatrix kennt.

Übrigens würde ich das alles erst einmal 2-dimensional machen, das rechnet und zeichnet sich auf dem Papier einfacher und man hat nicht so viele Zeilenumbrüche.

Die 3-D Erweiterung ist dann einfach Änderung der Summation von über 1,2 auf über 1,2,3.

mx,my,mz = Matrix
W11,… = Matrize (laut Buch und vereinfacht, stellt normal
den Rotationsvektor dar mit Cos,Sin-Werten))
Xo,… = Vektor (glaub ich)
xo,… = Vektor (glaub ich)

Irgendwie habe ich auch die Vermutung, dass es sich um die Determinante handelt. Und die Buchstaben sind wahrscheinlich Konstanten. (x,y,z) ist der Punkt der transformiert werden soll zu (X,Y,Z). Die Matrix mit den W’s sorgt für die Drehung und Streckung (ebenfalls die Determinante, die man in diese Matrix mit einfließen lassen kann) und (x0,y0,z0) sind die Verschiebung des jeweiligen Punktes. Liegen wir hier richtig? Wenn ja, was ist deine Frage, wenn nein was ist falsch?

Gruss x303

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Was auch recht logisch wäre, ist, dass die zweite Matrix ne normale Rotation darstellt (die also eine Strecke nicht in ihrer Länge verändert) und das davor ne einfache Diagonalmatrix is, die dann die Streckung bzw. Stauchung in x-, y-, und z-Richtung bewirkt. Dadurch würde die Aufspaltung in 2 Teile mehr Sinn machen. Sonst könnte man ja gleich alles in eine Matrix zusammenfassen.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]