Formeln: Unterschied zwischen den Versionen
Aus Das Sopra Wiki
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
{{Stub}} | {{Stub}} | ||
__FORCETOC__ | |||
Dieser Artikel enthält ähnlich einer Formelsammlung nützliche Berechnungen zur Spieleprogrammierung. | Dieser Artikel enthält ähnlich einer Formelsammlung nützliche Berechnungen zur Spieleprogrammierung. | ||
| Zeile 30: | Zeile 32: | ||
== Drehung zu einem beliebigen Punkt im 3D Raum == | == Drehung zu einem beliebigen Punkt im 3D Raum == | ||
Durch eine Drehung um seine | Durch eine Drehung von -180° bis +180° um seine Y-Achse und eine Drehung von -90° bis +90° um seine X-Achse kann ein Objekt zu jedem beliebigen Punkt im 3D Raum ausgerichtet werden. Eine Drehung um die Z-Achse bewirkt lediglich ein seitliches rollen. Um ein Objekt also auf einen beliebigen Punkt zu drehen muss man lediglich die Winkel um die X- und Y-Achse relativ zum Zielpunkt berechnen und das Objekt dann um diese drehen. Benötigt werden hierzu wieder der Positionsvektor des Objekts (<math>\vec o_p \!\,</math>), der Forwardvektor des Objekts (<math>\vec o_f \!\,</math>) welcher angibt in welche Richtung es gerade gedreht ist und der Positionsvektor des Zielpunkts (<math>\vec t_p \!\,</math>) zu welchem sich das Objekt drehen soll. | ||
Als erstes berechnet man den Richtungsvektor vom Objekt zum Zielpunkt (<math>\vec d_{ot}\!\,</math>) durch einfaches subtrahieren und anschließendes normalisieren: | Als erstes berechnet man den Richtungsvektor vom Objekt zum Zielpunkt (<math>\vec d_{ot}\!\,</math>) durch einfaches subtrahieren und anschließendes normalisieren: | ||
| Zeile 36: | Zeile 38: | ||
<math>\vec d_{ot} = \vec t_p - \vec o_p \!\,</math> <br/> | <math>\vec d_{ot} = \vec t_p - \vec o_p \!\,</math> <br/> | ||
<math>\vec d_{ot}.normalize() \!\,</math> | <math>\vec d_{ot}.normalize() \!\,</math> | ||
Die Berechnung des Winkels um die Y-Achse geht dann analog zum 2D Fall durch das projizieren des Forwardvektors des Objekts und des Richtungsvektors vom Objekt zum Zielpunkt auf die X-Z-Ebene und das anschließende Berechnen des Winkels zwischen diesen beiden Vektoren. Hinzu kommt nun also lediglich die Berechnung des Winkels um den um die X-Achse gedreht werden muss. | |||
[[Kategorie:Mathematik]] | [[Kategorie:Mathematik]] | ||
