Hallo!
Kann mir jemand sagen, wie man aus einer Matrix die X, Y und Z-Skalierung auslesen kann?
Gruß
Zudo
Matrix Skalierung
- Schrompf
- Moderator
- Beiträge: 4856
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas Ziegenhagen
- Wohnort: Dresden
- Kontaktdaten:
Re: Matrix Skalierung
Länge der Basisvektoren nehmen. Wie die liegen, hängt vom Speicherlayout Deiner Matrizen ab. Im Falle einer D3DXMatrix sieht die Matrix so aus:
U, V und W sind die drei Basisvektoren des Raumes, T der Translationsanteil. Extrahiere auf die Art die drei Basisvektoren und berechne deren Länge. Das sind die Skalierungen in den drei Achsen, die Du suchst.
Code: Alles auswählen
Ux Uy Uz 0
Vx Vy Vz 0
Wx Wy Wz 0
Tx Ty Tz 1
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- Lord Delvin
- Establishment
- Beiträge: 577
- Registriert: 05.07.2003, 11:17
Re: Matrix Skalierung
Bist du sicher, dass du nicht eigentlich die Eigenwerte/vektoren haben willst? Also quasi die Skalierung, die tatsächlich stattfindet?
Edit: Scherungen sind afaik flächenerhaltend, hätten aber mit der Betragsmethode einen Streckungsanteil.
Edit: Scherungen sind afaik flächenerhaltend, hätten aber mit der Betragsmethode einen Streckungsanteil.
Re: Matrix Skalierung
Was ich brauche ist die endgültige Länge der Skalierung, da ich immer von einer Einheitsmatrix ausgehe sollte das sogar in meinem Fall beides das gleiche sein. Ich denke, Schrompfs Methode wird klappen, kam nur noch nicht dazu, das zu probieren, werd ich aber noch! :)