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

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

1

04.03.2012, 19:52

Lokale Rotation zu globaler Rotation

Hallo. Ich habe ein Objekt von dem ich die Lokale Rotation abfragen kann. Jetzt ist meine frage wie ich diese Rotation in die Globale Matrix umrechnen kann. Keine Translation oder Skalierung. Vllt habe ich das auch falsch beschrieben jedenfalls meine ich, dass wenn ich mein Objekt um 90° drehe, das die Achsen auch um 90° gedreht sind. Und das muss ich in die globale Matrix umrechnen. Im Anhang ist noch ein Bild wie ich das meine. habe die Z Achse mal weggelassen ist aber im 3D Raum.
Danke im Voraus.
»FSA« hat folgendes Bild angehängt:
  • Picture0006.jpg

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

04.03.2012, 22:07

Ich hab keine Ahnung was du meinst.

Was genau willst du denn damit erreichen?

FalkT

Treue Seele

Beiträge: 125

Wohnort: AC

  • Private Nachricht senden

3

06.03.2012, 20:57

Ich glaube er will einfach nur vom objekt-lokalen ins globale Koordinaten-System umrechnen.

4

06.03.2012, 22:58

Die Matrix mit einer Rotationsmatrix multiplizieren. Wenn es das nicht ist, hab ich dein Problem nicht verstanden.
Lieber dumm fragen, als dumm bleiben!

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

5

07.03.2012, 16:37

Kurze Zwischenfrage: Ich habe einen Quaternionen Vektor. Kann ich jetzt mit irgendeiner Funktion diesen Quaternionen Vektor um die globale Y Achse drehen? Also einfach diesen Quaternionen Vektor ein wenig beeinflussen. Wenn das geht dann brauche ich kein Matrix.

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

6

07.03.2012, 17:25

Du kannst ein Quaternion erzeugen, welches eine solche Rotation beschreibt und dann diesen auf deinen ersten anwenden.

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

7

07.03.2012, 17:39

OK. Danke :) Aber da ich noch neu auf Quaternionen bin und nur dafür erstmal verwende wäre es nett wenn ich gesagt bekomme wie :D Aus Formels alleine werde ich nicht schlau. Aber mein Ziel ist die Y Rotation zu beeinflussen. Also diesen Quaternionen Vektor um X° / Bogenmaß drehen :)
Danke wäre echt erfreut wenn das jemand erklären könnte.

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

8

07.03.2012, 17:49

Also wenn du Quaternions benutzt, solltet du eigentlich praktisch nichts mehr mit den Formeln zu tun haben. ;)

Mit D3DX kannst du z.B diese Funktion nutzen:
http://msdn.microsoft.com/en-us/library/…5(v=vs.85).aspx

ansonsten sollte jede vernünftige Quaternion Bibliothek solch Standardfunktionen anbieten.

9

07.03.2012, 21:49

Wo ist das Problem mit den globalen Achsen? Quaternions und Matrizen verhalten sich eigentlich relativ ähnlich, man muss eben auf die richtige Reihenfolge achten. Vielleicht solltest du dir nochmal in Ruhe angucken, wie das mit Matrizen und dem Transformieren von den einen in den anderen Raum funktioniert. Und wann man jeweils welche Reihenfolge wählen muss.
Viel Formelwissen steckt da eigentlich nicht hinter, das ist alles eigentlich recht anschaulich. Und dann geht es eigentlich nur noch darum, zu jeder Zeit zu wissen, was in welchem Raum ist und nicht einfach vor sich hin zu probieren, und schon hat man mit dem ganzen Thema relativ wenig Probleme.
Lieber dumm fragen, als dumm bleiben!

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

10

09.03.2012, 17:54

Ach was fasele ich den da :crazy: Ich habe mein Problem jetzt richtig erkannt und das ist folgendes: Ich habe ein Matrix wo XYZ Rotationen drinstehen. Und ich habe eine Matrix wo eine Y Rotation drin steht. Diese Matrizen muss ich jetzt so zusammenrechnen, dass ich eine Matrix raus bekomme und diese dann die alte Rotation + Neue Rotation enthält. Einfach mit Plus geht das nicht denn es wird ja mit Sinus und Kosinus gearbeitet und die Werte dürfen nicht über 1 und unter -1 liegen. So denke ich ist das jetzt richtig beschrieben.
Also als Beispiel mit Winkeln: 1. 50° 2. -33° zusammen ist das 17°. So soll das auch mit den Matrizen gehen.
Danke für die Geduld mit mir ;)

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Werbeanzeige