Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
The Watcher Gast
|
Verfasst am: 20. Aug 2005 22:35 Titel: Quaternionen |
|
|
Hallo,
ich weiss nicht ob ich hier richtig bin, aber ich wüsste mal gern was es mit dem Begriff Quaternionen auf sich hat. Der Begriff taucht oft im Zusammenhang mit Spieleprogrammierung auf. |
|
Nach oben |
|
|
|
Tobias
Anmeldungsdatum: 15.02.2005 Beiträge: 149
|
|
Nach oben |
|
|
TMSearcher
Anmeldungsdatum: 19.05.2005 Beiträge: 270 Wohnort: Bremen
|
Verfasst am: 22. Aug 2005 01:11 Titel: The Answerer :-) |
|
|
Hi,
In Spielen können Quaternionen als Ersatz für Rotationsmatrizen verwendet werden.
Viele third person Spiele setzen diese Technik ein. Quaternionen erweitern das Rotationskonzept mit drei Dimensionen auf Rotation in vier Dimensionen. Klingt kompliziert, ist aber einfacher.
Beispiel: Du hast eine Kamera die auf einem Stativ montiert ist. Der Rotationswinkel ist dann nicht auf das Zentrum der Kamera bezogen, sondern auf den Drehpunkt des Stativs. Auf diese Art und Weise lassen sich auch komplexe Zusammenhänge, z.B. Bones (also Knochen) bei Spielfiguren leichter berechnen. Das ist für den Bewegungsablauf sehr wichtig.
Einfach gesagt: du hast einen Punkt im Raum dem, nochmals Winkel für die Drehbewegung zugeordnet sind. Von Oben und unten, von links nach rechts und um die eigene Achse.
Man ordnet einfach jedem Vektor (x,y,z) einen Rotationswinkel zu. Dieser vierte Wert ist die vierte Dimension, soll heißen dieser Punkt rotiert in diese Richtung und alle mit ihm verknüpften Vertizes (Eckpunkte einer geometrischen Figur) ebenfalls.
Ist nicht ganz einfach zu erklären.
Ok, so long.. wenn weitere Fragen sein sollten frag!!
Gruß
TMS _________________ Intelligent life is so very rare,
the rarest thing in creation
and the most precious
This is Earth Calling.. |
|
Nach oben |
|
|
The Watcher Gast
|
Verfasst am: 23. Aug 2005 18:06 Titel: keinen Schimmer |
|
|
Ehrlich gesagt, ich kann nichts davon zuordnen was du meinst |
|
Nach oben |
|
|
kurellajunior Administrator
Anmeldungsdatum: 14.02.2005 Beiträge: 214 Wohnort: Berlin-Pankow
|
Verfasst am: 24. Aug 2005 18:24 Titel: |
|
|
Um welche Achse rotiert dieser zusätzliche Fixpunkt?
Und bei aller liebe, mehr als drei Dimensionen gehen bei uns nicht, da musst Du etwas präziser werden, was Du meinst...
Jan _________________
|
|
Nach oben |
|
|
TMS Gast
|
Verfasst am: 26. Aug 2005 00:24 Titel: Adam + Eva |
|
|
Ok,
ich werde bei 1. Mose 2 Vers 15 anfangen. Leider wird das 2-3 Postings in anspruch nehmen. Ich arbeite dran Ist anscheinend nicht in ein paar Sätzen erklärt.
Gruß TMS
* mittlerweile wird Zeit kostbarer als alles Andere
** irgendwas stimmt hier nicht, es gehen teilweise Buchstaben oder ganze Teile eines Satzes verloren!?!?! (verlorene Pakete?) |
|
Nach oben |
|
|
FXD|Shadow Gast
|
Verfasst am: 30. Nov 2005 16:03 Titel: |
|
|
TMSearcher will einfach damit sagen dass nen Quarternion Vektor/Rotator verbindet
als Variable (sofern man sie in seiner Klasse/Prog definiert) beschreibt. Quorternion können z.B. verwendet werden um komplexere physikalische Begebenheite simultan zu beschreiben. Ich nenn maln Beispiel: Die Unreal-Engine hat Vektor und Rotator seperat definiert (struct vector{var() config float x,y,z;}; und struct rotator{var() config float pitch,yaw,roll;};}. Bei einem Quorternion kommt für mehr Möglichkeiten ein 4. Parameter hinzu, der einen Winkel zw. den 3 bisher bekannten Vektorenparametern beschreibt (struct quarternion(){var() float f;var() vector v;}.
Ich habe speziell die Unreal-Engine (1 !) genutzt weil ich an einer Mod arbeite und das daher mal schnell ausm Gedächtnis ableiten konnte. So habe ich dann mithilfe von Quarternionen ne Vorstufe von PerPoly Collision programmiert. In der UEngine wird jedem bewegl. 3D Objekt (außer Mover.uc) z.B. einem Spieler-Modell eine Kollision nur in Form einer simplen Zylinder-Kollision zugewiesen. D.h. extrem ungeneu da nur die Höhe eines Objekt annähernd gut beschrieben werden kann, nicht aber die direkt Form. So hab ich dann wenigstens gemacht, dass diese Zylinder-Kollision sich jedem Polygon durch eben Quartionen im Winkel anpasst und nicht starr im selben Winkel (90 ° senkrecht) verharrt. Für bessere Kollision müsste man dann in C++ gehen und dort PerPoly Collisioncode schreiben und mitner Native-Class in die UEngine einbinde. Das wäre dann mal direkt anem Beispiel erklärt... |
|
Nach oben |
|
|
|