Matrix Skalierung

Einstiegsfragen, Mathematik, Physik, künstliche Intelligenz, Engine Design
Antworten
Benutzeravatar
Zudomon
Establishment
Beiträge: 2253
Registriert: 25.03.2009, 07: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: 4838
Registriert: 25.02.2009, 23: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.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 575
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.
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
Zudomon
Establishment
Beiträge: 2253
Registriert: 25.03.2009, 07: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