Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

22.03.2011, 11:15

Matritzen sind Koordinatentransformationen.



Richtig. Und in meinem Beispiel gibt es halt zwei Transformationen:

Matrix 1 beschreibt z.B. eine Transformation, mit der eine Geometrie um 90 Grad rotiert wird.

Matrix 2 beschreibt z.B. eine Transformation, mit der diese Geometrie um 120 Grad rotiert und um 10 mm verschoben wird (vom originalen Ausgangspunkt gesehen).

Das gesuchte Delta zwischen beiden Matritzen ist jetzt halt eine Transformation, welche diese Geometrie - ausgehend vom Ergebnis der ersten Transformation um 30 Grad weiterdrehen und um 10 mm verschieben würde! Dann würde die Geometrie an der Position angelangen, an den sie Matrix 2 auch hin verschoben hätte.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

12

22.03.2011, 11:23

Ok, d.h. du hast zwei absolute Transformationen für Geom1 und Geom2 und willst nun die Transformation die Geom2 relativ zu Geom1 hätte. Die bekommst du wie gesagt indem du Geom2 mit der inversen von Geom1 multiplizierst. Ich sag dir trotzdem nochmal dass ich mir ziemlich sicher bin dass du das Problem hier von der falschen Seite angehst, aber anyway, die Antwort auf deine Frage hast du jetzt ja...

13

22.03.2011, 11:30

Die bekommst du wie gesagt indem du Geom2 mit der inversen von Geom1 multiplizierst.


Danke :-)

Zitat

Ich sag dir trotzdem nochmal dass ich mir ziemlich sicher bin dass du das Problem hier von der falschen Seite angehst, aber anyway, die Antwort auf deine Frage hast du jetzt ja...



Ich bin mir sicher dass das nicht der Fall ist: Geometrie 2 kann nämlich ein Muster sein, welches z.B. immer parallel zur X-Achse ausgerichtet sein muss. D.h. für eine gefällige Darstellung drehe ich beide, muss dann aber wieder auf die (optionale) und exclusive Transformation von Geometrie 2 zurückkommen, um diese 1. mit der neu transformierten Geometrie 1 neu zu erzeugen um sie dann eventuell noch mal ein bissl zu transformieren. Knackpunkt ist hier wirklich die Darstellung, welche in dem Fall die Geometrie lieber kurzzeitig falsch (also nicht mehr parallel zur X-Achse) zeigt, als sie stehen zu lassen, so dass sie erst mit der Neuberechnung hinter Geometrie 1 herhüpft.

Eine alternative Variante wäre es, eine dritte Matrix einzuführen, welche sich nur diese temporäre Transformation merkt, aber da wäre der Rechenaufwand größer, als wenn ich einmal das Delta ausrechne.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

14

22.03.2011, 12:11

Sry ich werd aus deinen Erklärungsversuchen nicht wirklich schlau ^^
Aber wenns so jetzt funktioniert dann wirds schon passen...

Werbeanzeige