|
DirectX-Forum - Beitragsübersicht - |
|
Thema | DX7: ViewMatrix rotieren |
Von |
Crack man |
Datum |
02. November 2009 um 15:35:52 |
Frage |
Hallo Leute, Wie kann ich die ViewMatrix so rotieren, dass es so aussieht, dass sich der Betrachter dreht? Schon mal danke im Voraus |
|
Antwort: |
Von |
Nico |
E-Mail |
nico.schertler@gmx.de |
Datum |
04. November 2009 um 23:03:14 |
Antwort |
Dann versuch ichs heute nochmal mit posten. Das letzte Mal hab ich einen tollen Fehler bekommen^^. Also die View-Matrix ist durch 3 Vektoren bestimmt: Dem Kamerastandort, dem Ziel der Kamera und einem Oben-Vektor. Aus diesen 3 Vektoren kannst du die View-Matrix erstellen (siehe Verweis von Detlev Schubert). Ich nehme an, du willst deinen Kamerapunkt um eine Achse drehen. Wenn die Achse die x-, y- oder z-Achse sein soll, kann man das ganz gut mit Schulkenntnissen von Sinus, Kosinus und Tangens nachvollziehen. Dazu einfach erstmal die Kamera so verschieben, dass sie auf (0|0|0) gerichtet ist. Und dann reduziert sich das ganze auf die Drehung eines Punktes auf einem Kreis um einen bestimmten Winkel. Falls du da Probleme haben solltest, kannst du ja nochmal nachfragen. Will nur nicht alles erzählen, wenn dus sowieso schon weißt. Problematischer wird es, wenn das eine beliebige Achse sein soll. Da kommst du um Rechnen mit Matrizen nicht herum. Ich weiß nicht, ob DX7 dafür Funktionen bereitstellt. Wenn nicht, müsstest du dir die Matrix selber zusammenstellen und mit dem Kameravektor multiplizieren. Wie das genau funktioniert kann ich dir auch nicht sagen, da müsstest du mal auf diversen Seiten für ana_lytische Geometrie / höhere Mathematik nachsehen. Zum Schluss hast du jedenfalls deine neuen 3 Vektoren und kannst daraus wieder die View-Matrix erstellen und fertig.
Nico |
|
[ Antwort schreiben | Zurück zum DirectX-Forum | Forum-Hilfe ] |
|
Letzte Aktualisierung: Sonntag, 13. Dezember 2015 |
|