Hallo Tobias,
dir auch ein frohes Fest!
Im Grunde gehts mir darum, aus bereits multiplizierten
Matrizen wieder die ursprüngliche/n zu machen.
Ich weiß leider nicht, ob das überhaupt geht.
Nein, das geht nicht, die Matrizenmultiplikation ist nicht injektiv. Bei der Multiplikation von Zahlen klappt das schon nicht. Wenn z.B. x mal y gleich 20 ist, kannst du daraus nicht schließen, was x und y sind.
Ich muss aus einem Punkt,
der beispielsweise mit einer dieser Rotationsmatrizen
„verschoben“ wurde, wieder an den Ausgangspunkt versetzen.
Verstehe ich das richtig, du hast einen Bildpunkt und eine Matrix gegeben und suchst den Urbildpunkt, der durch die gegebene Matrix auf den gegebenen Bildpunkt abgebildet wird?
Das geht, weil sowohl Rotations- als auch Translationsmatrizen invertierbar sind, und das Produkt invertierbarer Matrizen ist ebenfalls invertierbar.
Sagen wir die gegebene Abbildungsmatrix ist
M=\left(\begin{array}{cccc}m_{11} & m_{12} & m_{13} & m_{14}\m_{21} & m_{22} & m_{23} & m_{24}\m_{31} & m_{32} & m_{33} & m_{34}\m_{41} & m_{42} & m_{43} & m_{44}\end{array}\right)
und der gegebene Bildpunkt ist
b=\left(\begin{array}{c}b_1\b_2\b_3\b_4\end{array}\right)
Bei 4x4-Matrizen lohnt es sich noch, die allgemeine Inverse per Hand auszurechnen und das dann im Computerprogramm als Funktion zu implementieren. Als Weihnachtsgeschenk für dich habe ich das mal ausrechnen lassen. Um die Inverse von M zu kriegen, rechnest du
zuerst die Determinante von M aus.
\ \begin{array}{rl}d= & m_{12}m_{24}m_{33}m_{41}-m_{12}m_{23}m_{34}m_{41}-m_{11}m_{24}m_{33}m_{42}+m_{11}m_{23}m_{34}m_{42}-\ & m_{12}m_{24}m_{31}m_{43}+m_{11}m_{24}m_{32}m_{43}+m_{12}m_{21}m_{34}m_{43}-m_{11}m_{22}m_{34}m_{43}+\ &
m_{12}m_{23}m_{31}m_{44}-m_{11}m_{23}m_{32}m_{44}-m_{12}m_{21}m_{33}m_{44}+m_{11}m_{22}m_{33}m_{44}+\end{array}
\ \begin{array}{l}
m_{14}(m_{23}(m_{32}m_{41}-m_{31}m_{42})
+m_{22}(m_{31}m_{43}-m_{33}m_{41})+\ m_{21}(m_{33}m_{42}-m_{32}m_{43}))+\ m_{13}(m_{24}(m_{31}m_{42}-m_{32}m_{41})
+m_{22}(m_{34}m_{41}-m_{31}m_{44})+\ m_{21}(m_{32}m_{44}-m_{34}m_{42}))\end{array}
(Sorry für die komische Darstellung, aber bei so langen Formeln kommt die LaTeX-Verarbeitung von w-w-w an ihre Grenzen.)
Als nächstes rechnest du
\ \begin{array}{rl}n_{11}= & m_{23}m_{34}m_{42}-m_{24}m_{33}m_{42}+m_{24}m_{32}m_{43}-\ & m_{22}m_{34}m_{43}-m_{23}m_{32}m_{44}+m_{22}m_{33}m_{44}\end{array}
\ \begin{array}{rl}n_{12}= & m_{14}m_{33}m_{42}-m_{13}m_{34}m_{42}-m_{14}m_{32}m_{43}+\ & m_{12}m_{34}m_{43}+m_{13}m_{32}m_{44}-m_{12}m_{33}m_{44}\end{array}
\ \begin{array}{rl}n_{13}= & m_{13}m_{24}m_{42}-m_{14}m_{23}m_{42}+m_{14}m_{22}m_{43}-\ & m_{12}m_{24}m_{43}-m_{13}m_{22}m_{44}+m_{12}m_{23}m_{44}\end{array}
\ \begin{array}{rl}n_{14}= & m_{14}m_{23}m_{32}-m_{13}m_{24}m_{32}-m_{14}m_{22}m_{33}+\ & m_{12}m_{24}m_{33}+m_{13}m_{22}m_{34}-m_{12}m_{23}m_{34}\end{array}
\ \begin{array}{rl}n_{21}= & m_{24}m_{33}m_{41}-m_{23}m_{34}m_{41}-m_{24}m_{31}m_{43}+\ & m_{21}m_{34}m_{43}+m_{23}m_{31}m_{44}-m_{21}m_{33}m_{44}\end{array}
\ \begin{array}{rl}n_{22}= & m_{13}m_{34}m_{41}-m_{14}m_{33}m_{41}+m_{14}m_{31}m_{43}-\ & m_{11}m_{34}m_{43}-m_{13}m_{31}m_{44}+m_{11}m_{33}m_{44}\end{array}
\ \begin{array}{rl}n_{23}= & m_{14}m_{23}m_{41}-m_{13}m_{24}m_{41}-m_{14}m_{21}m_{43}+\ & m_{11}m_{24}m_{43}+m_{13}m_{21}m_{44}-m_{11}m_{23}m_{44}\end{array}
\ \begin{array}{rl}n_{24}= & m_{13}m_{24}m_{31}-m_{14}m_{23}m_{31}+m_{14}m_{21}m_{33}-\ & m_{11}m_{24}m_{33}-m_{13}m_{21}m_{34}+m_{11}m_{23}m_{34}\end{array}
\ \begin{array}{rl}n_{31}= & m_{22}m_{34}m_{41}-m_{24}m_{32}m_{41}+m_{24}m_{31}m_{42}-\ & m_{21}m_{34}m_{42}-m_{22}m_{31}m_{44}+m_{21}m_{32}m_{44}\end{array}
\ \begin{array}{rl}n_{32}= & m_{14}m_{32}m_{41}-m_{12}m_{34}m_{41}-m_{14}m_{31}m_{42}+\ & m_{11}m_{34}m_{42}+m_{12}m_{31}m_{44}-m_{11}m_{32}m_{44}\end{array}
\ \begin{array}{rl}n_{33}= & m_{12}m_{24}m_{41}-m_{14}m_{22}m_{41}+m_{14}m_{21}m_{42}-\ & m_{11}m_{24}m_{42}-m_{12}m_{21}m_{44}+m_{11}m_{22}m_{44}\end{array}
\ \begin{array}{rl}n_{34}= & m_{14}m_{22}m_{31}-m_{12}m_{24}m_{31}-m_{14}m_{21}m_{32}+\ & m_{11}m_{24}m_{32}+m_{12}m_{21}m_{34}-m_{11}m_{22}m_{34}\end{array}
\ \begin{array}{rl}n_{41}= & m_{23}m_{32}m_{41}-m_{22}m_{33}m_{41}-m_{23}m_{31}m_{42}+\ & m_{21}m_{33}m_{42}+m_{22}m_{31}m_{43}-m_{21}m_{32}m_{43}\end{array}
\ \begin{array}{rl}n_{42}= & m_{12}m_{33}m_{41}-m_{13}m_{32}m_{41}+m_{13}m_{31}m_{42}-\ & m_{11}m_{33}m_{42}-m_{12}m_{31}m_{43}+m_{11}m_{32}m_{43}\end{array}
\ \begin{array}{rl}n_{43}= & m_{13}m_{22}m_{41}-m_{12}m_{23}m_{41}-m_{13}m_{21}m_{42}+\ & m_{11}m_{23}m_{42}+m_{12}m_{21}m_{43}-m_{11}m_{22}m_{43}\end{array}
\ \begin{array}{rl}n_{44}= & m_{12}m_{23}m_{31}-m_{13}m_{22}m_{31}+m_{13}m_{21}m_{32}-\ & m_{11}m_{23}m_{32}-m_{12}m_{21}m_{33}+m_{11}m_{22}m_{33}\end{array}
Damit bildest du die Matrix
N=\left(\begin{array}{cccc}n_{11} & n_{12} & n_{13} & n_{14}\n_{21} & n_{22} & n_{23} & n_{24}\n_{31} & n_{32} & n_{33} & n_{34}\n_{41} & n_{42} & n_{43} & n_{44}\end{array}\right)
Die Inverse von M ist dann
M^{-1}=\frac{1}{d}N
und den Urbildpunkt, den du suchst, kannst du ausrechnen durch
M^{-1}b
Viel Erfolg!
hendrik