0 Daumen
212 Aufrufe

Aufgabe:

Kann man aus einer 2x2-Transformationsmatrix die Anteile für Skalierung, Rotation und Scherung extrahieren?

Avatar vor von

Ja.

Hast Du eine konkrete Aufgabe?

Hallo,

ja, ich möchte aus der angezeigten Transformationsmatrix eines Grafikobjekts die Skalierung, die Rotation und die Scherung ermitteln können. Bisher habe ich keine Methode gefunden, mit der das wirklich funktioniert.

Gruß

Wkoncz

Ich habe die in der Quelle angegebene Reihenfolge probiert, aber leider keine sinnvollen Ergebnisse erhalten.

Eine Ausgangsmatrix kann auf verschiedene Arten zerlegt werden, die Zerlegung ist somit nicht eindeutig. Das Produkt in der richtigen Reihenfolge ergibt die Ausgangsmatrix, aber mit verschiedenen Anteilen von Rotation, Scherung und Skalierung.

Also,

A = R * S * H oder

A = H´ * S´ * R´

ja, ich möchte aus der angezeigten Transformationsmatrix eines Grafikobjekts die Skalierung, die Rotation und die Scherung ermitteln können. Bisher habe ich keine Methode gefunden, mit der das wirklich funktioniert.

Stell doch einfach mal die Matrix zur Verfügung. Am besten auch mit eigenen Ansätzen und Rechnungen und auch Informationen zur angezeigten Matrix. Kennst du die Reihenfolge in der Rotation, Skalierung und Scherung enthalten sind. Bzw. das klang so als könntest du es vorgeben. Bei bekannter Reihenfolge kommt man natürlich genau auf eine Umkehrung.

1 Antwort

0 Daumen
Avatar vor von 10 k

Danke für deine Mühe!

Hintergrund meiner Anfrage: Ich habe ein Grafik-Programm, in dem ich Grafikobjekte beliebig transformieren kann. Nach jeder Skalierung, Rotation und/oder Scherung kann ich mir die Transformationsmatrix anzeigen lassen. Mein Ziel ist es, dass mir ein angeklicktes Objekt seine Skalierungsfaktoren, seinen Drehwinkel und die Scherungswinkel anzeigt. Diese Daten sollen aus der Transformationsmatrix zurückgewonnen werden.

Nun habe ich bei festen Vorgaben (Skalierung Sx=2 und Sy=0,5, Rotationswinkel 15°, Scherungswinkel shx=10° und shy=-10°) festgestellt, dass die Transformationsmatrix je nach Reihenfolge der Transformatinen verschieden (2 Möglichkeiten) ausfällt. Kann das Zurückrechnen dann überhaupt eindeutig die Vorgaben ergeben?

Ich habe den Punkt 6.3 aus der von dir gefundenen Quelle studiert und die angegebenen Formeln an meiner Transformationsmatrix ausprobiert. Die Ergebnisse weichen von meinen Vorgaben derart stark ab, dass man es nicht mit Rechenungenauigkeiten abtun kann.

Mach ich irgendwas falsch?

Gruß

Wkoncz

Matrizenmultiplikation ist bekanntlich nicht kommutativ. Es kommt also genau auf die richtige Reihenfolge an.

Wie schon gesagt wurde, kommt es auf die Reihenfolge an. Bei den Transformationen, und damit auch bei der Matrizenmultiplikation. Lade mal Dein konkretes Beispiel/konkrete Rechnung hoch. Mit allgemeinen verbalen Beschreibungen lässt sich das Problem nicht klären.

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community