Matrix Skalierung

Einstiegsfragen, Mathematik, Physik, künstliche Intelligenz, Engine Design
Antworten
Benutzeravatar
Zudomon
Establishment
Beiträge: 2162
Registriert: 25.03.2009, 08:20
Kontaktdaten:

Matrix Skalierung

Beitrag von Zudomon »

Hallo!
Kann mir jemand sagen, wie man aus einer Matrix die X, Y und Z-Skalierung auslesen kann?

Gruß
Zudo
Benutzeravatar
Schrompf
Moderator
Beiträge: 4172
Registriert: 26.02.2009, 00:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Matrix Skalierung

Beitrag von Schrompf »

Länge der Basisvektoren nehmen. Wie die liegen, hängt vom Speicherlayout Deiner Matrizen ab. Im Falle einer D3DXMatrix sieht die Matrix so aus:

Code: Alles auswählen

Ux Uy Uz 0
Vx Vy Vz 0
Wx Wy Wz 0
Tx Ty Tz 1
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.
Häuptling von Dreamworlds. Baut an was Neuem. Hilft nebenbei nur höchst selten an der Open Asset Import Library mit.
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 238
Registriert: 05.07.2003, 11:17

Re: Matrix Skalierung

Beitrag von Lord Delvin »

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.
Benutzeravatar
Zudomon
Establishment
Beiträge: 2162
Registriert: 25.03.2009, 08:20
Kontaktdaten:

Re: Matrix Skalierung

Beitrag von Zudomon »

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! :)
Antworten