Krain Geschrieben 8. Oktober 2003 Teilen Geschrieben 8. Oktober 2003 Hallo Ich habe ein mathematisches Problem: Ich definiere eine Drehung um die X-Achse und dann eine Drehung um die Y-Achse. Danach multipliziere ich die beiden Drehungen. Transform3D rotate = new Transform3D(); Transform3D tmpRotate = new Transform3D(); rotate.rotX(Math.PI/4.0d); tmpRotate.rotY(Math.PI/4.0d); [COLOR=red]rotate.mul(tmpRotate);[/COLOR] ICh hatte erwartet, wenn ich die Multiplikation genau anders rum mache, also: [COLOR=red]tmpRotate.mul(rotate);[/COLOR] würde ich das selbe Ergebnis bekommen! Das ist aber nicht so - kann mir jemand erklären, was da vorgeht? Ich will wissen, was er mathematisch macht!?[ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
jmax64 Geschrieben 14. September 2008 Teilen Geschrieben 14. September 2008 Drehungen und Transformationen werden mathematisch durch Matrizenmultiplikationen erzeugt. Die Reihenfolge einer Matrizenmultiplikation ist NICHT vertauschbar (ausser bei symmetrischen Matrizen, d.h. welche, die sich an der Diagonale spiegeln lassen), kann man an kleinen 2x2 Matrizen selber ausprobieren... ...des weiteren gilt z.B. bei einer 2d Rotation in der x,y-Ebene: ( Drehung um die z-Achse erfolgt mit der Matrix ) +cos (alpha) +sin(alpha) 0 -sin(alpha) +cos(alpha) 0 0 0 1 ...wie man sieht, ist die Matrix nicht symmetrisch...! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.