Gesucht:
a Richtungswinkel
Winkel werden im Bogenmaß angegeben. Zu Vergleichs- und Rechenzwecken müssen die Richtungswinkel auf den Bereich von [-p; p] normiert werden.
a` Richtungswinkel normiert auf den Bereich [-p; p]
Gesucht:
P1(x1, y1) Koordinaten eines Punktes auf der Gerade g1 a1 Richtungswinkel der Gerade g1 P2(x2, y2) Koordinaten eines Punktes auf der Gerade g2 a2 Richtungswinkel der Gerade g2
Zur Berechnung des von zwei Geraden eingeschlossenen Winkels verwendet man folgenden Algorithmus.
a Winkel zwischen den Geraden
|
Diese Funktion liefert immer den kleinsten Winkel, der andere Winkel ergibt sich, indem man p - a rechnet.
Gesucht:
a1 Richtungswinkel bei Beginn der Drehung a2 Richtungswinkel bei Ende der Drehung d Drehrichtung
Ein ähnliches Problem wie die Berechnung des von zwei Geraden eingeschlossenen Winkels ist die Berechnung des Drehwinkels. Zusätzlich spielt hier noch die Drehrichtung eine Rolle. Die Berechnung des Drehwinkels wird kompliziert, sobald man bei der Drehung die Richtungswinkel p bzw. -p überstreicht.
a Überstrichener Winkel
Normiere Startrichtung sr | ||||||||||||||||||||||
Normiere Endrichtung er | ||||||||||||||||||||||
|
||||||||||||||||||||||
dw = dw modulo 2p |
Gesucht:
a1 Richtungswinkel bei Start der Drehung a2 Richtungswinkel bei Ende der Drehung a3 Richtungswinkel in Zwischenpunkt d Drehrichtung
Man sieht in Richtung a1 und dreht sich dann in Drehrichtung, bis man in Richtung a3 sieht. Überstreicht man dabei die Richtung mit dem Richtungswinkel a2, so liefert diese Funktion true ansonsten false. Ist die Drehrichtung a, so ist der Rückgabewert der Funktion true. Dies ist in obiger Abbildung blau dargestellt. Ist die Drehrichtung im Uhrzeigersinn, also a`, so wird der Richtungswinkel nicht überstrichen. Dies ist rot dargestellt. Zur Berechnung des Rückgabewertes geht man wie folgt vor.
Wird bei der Drehung der Richtungswinkel des Zwischenpunktes überstrichen?
Berechnung des Drehwinkels Start bis Zwischenrichtung l | ||||
Berechnung des Drehwinkels Start bis Ende der Drehung (a bzw. a`) | ||||
|