ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
1071
1071
EMPFEHLEN
-
13.10.09 17:37 #1Maab Tutorials.de Gastzugang
Hallo,
ich habe derzeit ein kleines mathematisches Problem was die Vektorverschiebung angeht, im R2.
Ich habe zwei Vektoren (Standort und Ziel).
Man schaut von Standort immer in Richtung Ziel.
Bei Bewegung der Maus, bewegt sich die Kamera [= Standort] in Richtung Ziel, hierbei ist zu erwähnen, dass das mittels Richtungsvektor passiert:
(Verschiebungsfaktor entspricht jetztige Position der Maus - vorherige Position der Maus)
Standort.x -= Richtung.x * VerschiebungsfaktorY;
Standort.y -= Richtung.y * VerschiebungsfaktorY;
Das ganze aufch für das Ziel, damit man immer in diese Richtung "gehen" kann.
Ziel.x -= Richtung.x * VerschiebungsfaktorY;
Ziel.y -= Richtung.y * VerschiebungsfaktorY;
Mein Problem hierbei ist nun, wie ich die Verschiebung auf der X-Achse handeln kann, damit man so gesehen zur Seite läuft.
Ich hatte es vorher so probiert:
Ziel.x += Richtung.x * VerschiebungsfaktorX;
Ziel.y -= Richtung.y * VerschiebungsfaktorX;
Und das gleiche für den Standort.
Hier ist das Problem, wenn ich das Ziel dann in [-2; 2] als Koordinate schiebe, dann wird die Laufrichtung vertauscht (d.h. links = rechts, rechts=links), desweiteren funktioniert die Verschiebung nicht mehr so, wie ich es mir vorstelle, einer der beiden Koordinaten in den 0-Bereich kommt.
Meine Frage ist, wenn ich diese Zwei Punkte gegeben habe, ist es doch theoretisch möglich den 90° Winkel zu nehmen und die Punkte auf der Achse um diesen Winkel und den genannten Faktor zu verschieben, oder ?
Hier ein Bild wie ich mir das Vorstelle
Grün = Achse
Schwarz = Richtungsvektor
Blau = Verschiebung auf dieser Achse (grün)
Danke für eure Hilfe!
-
13.10.09 20:52 #2
- Registriert seit
- Apr 2007
- Ort
- Wesel (NRW)
- Beiträge
- 217
Hi,
drehe den Richtungsvektor einfach um 90 grad. Dann kannst du in dazu addieren wie vorher.
Gruß
Anfänger
-
14.10.09 08:55 #3Maab Tutorials.de Gastzugang
Huhu du,
jap habe ich auch so gemacht
Habe Grad in Rad umgerechnet (war vom Programm her so gegeben), anschließend die Drehmatrix auf den Richtungsvektor angewendet um den neuen Richtungsvektor zu bekomen und zu guter Letzt den neuen Richtungsvektor mit den Bewegungsfaktor multipliziert und an die entsprechende Position verschoben.
Tada ... Funktioniert!
Danke für deine Hilfe
Maab.





Zitieren
Login






