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

1

20.10.2005, 19:54

nach rotation, richtung bestimmen

hi,

da ich nach dem rotieren des 3d Modells noch bewegen will, fällt es mir schwer es in die Richtung zu bewegen in die es schaut.

Gibt es eine Möglichkeit dies gut und sauber zu gestalten?

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

20.10.2005, 20:55

Jupp indem du den richtungsvektor mit der Rotationsmatrix multipizierst
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

3

20.10.2005, 20:59

Also ich speicher für jedes bewegliche Objekt immer einen Bewegungsvektor. Der gibt die Richtung und Geschwindigkeit an. Wenn du diesen Vektor mit einem Winkel berechnen willst, kannst du zb ne Rotationsmatrix erstellen und mit TransformCoords den Vektor (den du vorher auf (0.0f,0.0f,1.0f) gesetzt hast) transformieren.
Eine andere Möglichkeit wäre sin und cos anzuwenden.
Mein Projekt: Rise of the Sylvan

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

4

20.10.2005, 21:21

Wer will ja die Bewegung in Blickrichtung Objekt ausführen. Dazu nutzt man einfach die Achsenrotationsmatrix und wendet diese auf den hinzuzufügenden Vektor an.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

5

20.10.2005, 21:55

ok, werde es ausprobieren

edit: tud mir leid ich kenn mich nich so gut mit vektoren aus wie soll ich einen vektor mit einer matrix multiplizieren?

Lemming

Alter Hase

Beiträge: 550

Beruf: Schüler

  • Private Nachricht senden

6

23.10.2005, 00:48

Quellcode

1
2
3
4
5
6
7
// vektor      // 4*4 matrix                      // transformierter vektor
(x y z w) * (M11 M12 M13 M14 M21 .... ) = (x' y' z' w');

w' = (x*M14 + y*M24 + z*M34 + M44);
x' = (x*M11 + y*M21 + z*M31 + M41) / w';
y' = (x*M12 + y*M22 + z*M32 + M42) / w';
z' = (x*M13 + y*M23 + z*M33 + M43) / w';


das "w" brauchst du in dem vektor nur, weil du keinen vektor3 mit ner 4*4 matrix multiplizieren kannst....
üblcherweise sagt man einfach w=1.
Es gibt Probleme, die kann man nicht lösen.
Für alles andere gibt es C++...

Werbeanzeige