JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=65a152df2811a79b3971ef44b913ecebMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Vektor rotieren

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Florian
Super JLI'ler


Alter: 36
Anmeldedatum: 20.06.2003
Beiträge: 302

Medaillen: Keine

BeitragVerfasst am: 29.12.2005, 18:07    Titel: Vektor rotieren Antworten mit Zitat

Hallo
Wie kann ich einen Vektor rotieren. Also dazu mal ein Beispiel.

Also ich habe eine linie die 2 Endpunkte sind gegeben:
CPP:
D3DXVECTOR2  vPointA(40,10);
D3DXVECTOR2  vPointB(40,40);

Denn Mittelpunkt (RotationCenter) berechne ich so:
CPP:
D3DXVECTOR2 vRotationCenter = (vPointA + vPointB) /2;

Aber wie kann ich jez diese 2 Punkte (Linie) um den Winkel fRotation rotieren lassen.
CPP:
vPointA.x = ?;
vPointA.y = ?;
vPointB.x = ?;
vPointB.y = ?;


Kennt jemand ein Tutorial Rechenbeispiel oder sonstiges dazu. Hab bisher nichts gefunden. Sad
_________________
Theorie ist, wenn man alles weiss und nichts funktioniert.
Praxis ist, wenn alles funktioniert und keiner weiss warum.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
OLiver
Super JLI'ler


Alter: 32
Anmeldedatum: 29.06.2003
Beiträge: 306
Wohnort: Jena
Medaillen: Keine

BeitragVerfasst am: 29.12.2005, 18:20    Titel: Antworten mit Zitat

Drehung von x,y um den Winkel a um den Koordinatenursprung entgegen dem Uhrzeigersinn:

x' = cos(a) * x - sin(a) * y
y' = sin(a) * x+ cos(a) *y
_________________
http://www.sieder25.org/ (Siedler 2 - Remake)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 36
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 29.12.2005, 20:02    Titel: Antworten mit Zitat

Mit Matrizen. Wenn man einen Vecotr mit einer Rotatiosmatriz multiplizeirt, wird er um den Ursprung gedreht. Will man einen anderen Drehpunk, muss man erst den Vector so verschieben, das der gewünschte Drehpunkt jetzt der Ursprung ist, dann rotieren und dann wieder zurückverschieben. Müsste es auch D3DX Funktionen für gebne, oder man bastelt sich was eigenes.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
OLiver
Super JLI'ler


Alter: 32
Anmeldedatum: 29.06.2003
Beiträge: 306
Wohnort: Jena
Medaillen: Keine

BeitragVerfasst am: 29.12.2005, 20:06    Titel: Antworten mit Zitat

Rotationsmatrix sieht übrigens so aus

Code:

 cos(a) sin(a)  0
-sin(a) cos(a)  0
      0      0  1

_________________
http://www.sieder25.org/ (Siedler 2 - Remake)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Florian
Super JLI'ler


Alter: 36
Anmeldedatum: 20.06.2003
Beiträge: 302

Medaillen: Keine

BeitragVerfasst am: 30.12.2005, 15:52    Titel: Antworten mit Zitat

Thx für eure Antworten
Falls sich einer interessiert wie man zu dieser Formel kommt gibt es hier eine Herleitung:
http://olli.informatik.uni-oldenburg.de/Grafiti3/grafiti/flow5/page9.html
_________________
Theorie ist, wenn man alles weiss und nichts funktioniert.
Praxis ist, wenn alles funktioniert und keiner weiss warum.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum