Senkrecht zu zwei 2D-Positionen stehenden Vektor errechnen?
-
Hallo,
ich habe zwei 2D-Positionsvektoren und möchte eine dritte Position errechnen, welche senkrecht zu diesen beiden steht. Ich bin Anfänger und komm einfach nicht drauf, also bitte verzeiht die Frage.
Danke!
-
Damit er senkrecht sein kann, muss du in die dritte Dimension. Dann sollte http://de.wikipedia.org/wiki/Kreuzprodukt deinen Wünschen entsprechen.
-
Hab wahrscheinlich unverständliches Zeug geschrieben.
Hier mal ein Bild von meinem Problem: http://img156.imageshack.us/img156/5410/proby.jpg
a und b sind bekannt, der dritte Punkt wird gesucht.Thx
-
B + rot(vec(BA), +/-90°)
vec(AB) ist die Differenz der Koordinaten von A und B.
rot(x, +/-90°) kannst du durch vertauschen der x und y Koordinaten und hinzufügen eines Minus bei einer Koordinaten erreichen. Bei welcher Koordinate bestimmt ob es +90° oder -90° sind.
A = (1, 2)
B = (7, 5)
vec(BA) = (-6, -3)rot(vec(AB), +90°) = (-3, 6)
C = B + (-3, 6) = (4, 11)
-
Wäre folgendes richtig? Dann suche ich den Fehler nämlich die ganze Zeit an der falschen Stelle.
vecC.x = vecA.x - vecB.x; vecC.y = vecA.y - vecB.y; vecC.x = -vec1.y; vecC.y = vec1.x; vecC.x += vecB.x; vecC.y += vecB.y;
-
vec1 sollte natürlich vecC heissen
vecC.x = vecA.x - vecB.x; vecC.y = vecA.y - vecB.y; vecC.x = -vecC.y; vecC.y = vecC.x; vecC.x += vecB.x; vecC.y += vecB.y;
-
schau dir doch mal genau diese beiden zeilen an, was passiert da:
vecC.x = -vecC.y;
vecC.y = vecC.x;tip: du brauchst zum "tausch" noch ein dritte, temporäre variable
-
Maxi schrieb:
schau dir doch mal genau diese beiden zeilen an, was passiert da:
vecC.x = -vecC.y;
vecC.y = vecC.x;tip: du brauchst zum "tausch" noch ein dritte, temporäre variable
Ups, natürlich.
Das war die ganze Zeit das Problem und ich sah den Wald vor lauter Bäumen nicht mehr...