Ein bischen Vektorrechnung
-
Hey
Da meine Mathe-Kenntnisse mitlerweile sehr eingerostet sind, bitte ich euch um Hilfe.
Also, ich habe Anfangs 2 Punkte gegeben, nennen wir sie P und Z.
Jetzt möchte ich den Vektor berechnen, der im 120° Winkel zum Vektor PZ steht (ausgehend von P) und genau 100 Maßeinheiten lang ist, das Ganze im dreidimensionalen Raum.Hier mal ein Bild zur Verdeutlichung:
http://i42.tinypic.com/vyvz8l.jpg
Wie stelle ich das an?
Danke im Voraus .. Grüße,
Flo
-
Kann es sein, daß da unendlich viele Lösungen möglich sind?
Den Ergebnisvektor nenne ich mal e. pz ist der von P nach Z.
Die übliche Winkelformel.
cos(120)=(e.x*pz.x+e.y*pz.y+e.z*pz.z)/(sqrt(e.x2+e.y2+e.z2)*sqrt(pz.x2+pz.y2+pz.z2))
//sollte eine Variable eleminierensqrt(e.x2+e.y2+e.z^2)=100
//und noch eine.//aber eine bleibt frei.
Ob die Gleichungen was taugen, um was auszurechnen, oder ob sie wegen der Wurzeln und so zu unhandlich werden, weiß ich nicht. Denk dran, daß cos(120)=-0.5. Oh, dann kann man vielleicht auch einfach ZP um 71 Einheiten verlängern, im rechten Winkel abbiegen und nochmal 50 Einheiten weit gehen. Längen geraten, aber die kann man mit sin/cos/tan ausrechnen.
Zu einem Vektor einen rechtwinkligen konstruieren ist sehr leicht, man setzt eine Komponente auf 0, vertauscht die übrigen beiden und verdreht ein Vorzeichen und hofft, daß nicht (0|0|0) rauskommt.
-
Klar sind das unendliche viele Loesungen, rotiere mal den Vektor um PZ, dann kriegste einen Kegel, und der Winkel stimmt immernoch. Im 2-Dimensionalen gaebe es immerhin nur zwei Loesungen.
-
in 2D gibt es -sofern du die Drehrichtung definierst- aber nur eine Lösung...falls 2D gefordert war.
In dem Fall: Rotationsmatrix aufstellen mit Winkel=120°, PZ mit Matrix multiplizieren und auf känge 100 normieren und fertig.
-
Der Winkel zwischen zwei Vektoren ist in der Regel definiert als kleinergleich 180 Grad.
Wenn der eine Winkel also 120 Grad und der andere 240 Grad ist, egal welcher links und welcher rechts ist, ist der Winkel zwischen den Vektoren 120 Grad.
-
So...danke für die hilfreichen Antworten.
Mit dem 2D-Vektor klappt es auch super, passt.Gleich darauf habe ich http://msdn.microsoft.com/en-us/library/bb281757(VS.85).aspx gefunden, shit happens.
-
Mr.Fister schrieb:
Der Winkel zwischen zwei Vektoren ist in der Regel definiert als kleinergleich 180 Grad.
Wenn der eine Winkel also 120 Grad und der andere 240 Grad ist, egal welcher links und welcher rechts ist, ist der Winkel zwischen den Vektoren 120 Grad.Aus Sicht der Vektoren hast du recht. Aus Sicht des Koordinatensystems in dem die Vektoren liegen aber nicht! Da kannst du nämlich zwischen +120° und -120° unterscheiden.