umlaufrichtung von kreis bestimmen?
Hallo ich habe den Mittelpunkt M eines Kreises gegeben und dessen Radius r davon. Ich habe auch noch zwei Vektoren (v1 & v2) gegeben die von zwei zufälligen Punkten auf dem Kreis M in eine Umlaufrichtung zeigen. (Siehe Bild)
Ich brauche jetzt eine Mathematische Lösung wie ich ausrechnen könnte ob die beiden Vektoren in die Selbe umlauf Richtung zeigen oder nicht.
Ich muss das später Programmieren und deswegen kann ich das nicht einfach mit Logischem Menschenverstand Lösen.
Danke für eure Zeit
Hallo,
Hast du die Koordinaten, wo der Vektor anfängt, denn bei deiner Aufgabe zur Verfügung? D.h. denjenigen Punkt, an dem der Vektor am Kreis anliegt? Dann sollte es gehen.
ja den habe ich
2 Antworten
Zur Einfachheit:
M liegt auf (0,0) (ansonsten einfach alles so verschieben, sodass M auf dem Ursprung ist)
w1 ist der Richtingsvektor von M zum Startpunkt von v1
w2 das selbe mit v2
jetzt definiere t1 als der Tangentalvektor vom Kreis, zum Startpunkt von v1, t2 analog.
Wenn der w1 die Form (a,b) hat, setzte dann t1=(b,-a) man sieht direkt, dass t1 und w1 orthogonal sind, außerdem zeigt t1 immer in die selbe Umlaufrichtung (wenn ich gerade nicht falsch bin).
Wenn v1 in die selbe Umlaufrichtung zeigen soll wie t1, dann muss das Skalarprodukt v1*w1 strikt positiv sein (denn wenn das Skalarprodukt negativ ist, ist der Winkel zwischen den Vektoren größer als 90 Grad, dann zeigt also v1 in die andere Richtung)
Da t1 und t2 die Selbe Umlaufrichtung haben, muss also gelten, dass t1*v1 und t2*v2 beide das selbe Vorzeichen haben müssen.
Bzw wenn v1 = (a1,b1), w1=(c1,d1), v2=(a2,b2) w2=(c2,d2)
Dass dann:
(a1*d1-b1*c1)*(a2*d2-b2*c2)>0 gelten muss (das gilt nämlich nur, wenn beide Faktoren das selbe Vorzeichen haben)
(Das ganze funktioniert dann sogar, wenn v1 nicht exakt der tangential Vektor ist, um einen geringen Winkel (kleiner als 90° Abweicht, da dieses Verfahren prüft, ob t1 und v1 auf der selben "seite" in Bezug auf w1 liegen)
Hallo,
das wird ein Haufen an Wenn-Bedingungen. Ich würde es so angehen, dass du zuerst deinen Mittelpunkt, Punkt P, an dem der Vektor am Kreis ansetzt, und deinen Endpunkt Q des Vektors definierst.
Z.B. bei Vektor v=(0;-1) und P(1;0)
M(0;0) P(1;0) Q(1;-1)
Die Umlaufrichtung ist hier rechtsrum.
WENN P rechts von M UND Q unter P -> DANN rechtsrum
WENN P rechts von M UND Q über P -> DANN linksrum
WENN P links von M und Q über P -> DANN rechtsrum
WENN P links von M und Q unter P -> DANN linksrum
Bleiben noch die Extreme, dass P senkrecht über oder unter M liegt:
WENN P senkrecht über M und Q rechts von P -> DANN rechtsrum
WENN P senkrecht über M und Q links von P -> DANN linksrum
WENN P senkrecht unter M und Q rechts von P -> DANN linksrum
WENN P senkrecht unter M und Q links von P -> DANN rechtsrum
In unserem Beispiel trifft nur Bedingung 1 zu.
(die Bed. über/unter u. links/rechts beziehen sich nur auf die jeweilige Koordinate. nur bei senkrecht muss es tatsächlich genau drüber oder drunter liegen)
Ich hoffe ich habe gerade keinen Knoten im Hirn und es passt so! ;)
Bitte lass mich doch wissen, ob alles klappt, wenn du fertig bist :)
LG