Winkel zwischen zwei Strecken

Neue Frage »

Kilroy4 Auf diesen Beitrag antworten »
Winkel zwischen zwei Strecken
Hallo,

ich suche nach einer Formel für den kleinsten (eingeschlossenen) Winkel zweier durch Anfangs- und Endpunkt definierten Strecken. Dabei soll es keine Rolle spielen, ob eine Strecke durch die Punkte A,B oder B,A definiert ist, d.h. es ist kein Vektor. Sind die Strecken parallel, wäre der Winkel 0.

Statt des Winkels könnte die Formel auch eine dimensionslose Maßzahl liefern, die bei kleinerem Winkel auch kleiner wird.

Man könnte sich die Aufgabe wie das Gruppieren von Mikadostäben vorstellen, die winkelmäßig nahe beieinanderliegen (siehe linke Seite des Bildes). In der Praxis liegen die Strecken aber wie auf der rechten Seite vor.

[attach]53469[/attach]

Ich habe nur Lösungen für Vektoren gefunden, wie z.B. die Kosinus-Ähnlichkeit.
(siehe Wikipedia, ich durfte auch als registrierter User keinen Link darauf posten)


Ein konkretes Beispiel:

Die Formel soll den identischen (kleinen) Wert liefern für die Winkeldifferenz der Strecke

(0,0)-(10,0) und jeweils den 4 Strecken

(0,0)-(10,1)
(0,0)-(10,-1)
(0,0)-(-10,1)
(0,0)-(-10,-1)

Trotz der einfachen Aufgabenstellung ist es mir nicht gelungen, eine einfache Formel dafür zu finden, evtl. muss man die Strecken zu Geraden umformen und dann den eingeschlossenen Winkel zwischen den zwei Geraden berechnen; es ist mir aber nicht klar, ob das der einfachste Lösungsweg ist und wie die Lösung dann genau ausschaut.

Ich hoffe, ich konnte die Frage einigermaßen verständlich formulieren, dies ist mein erster Post in diesem Forum.
Steffen Bühler Auf diesen Beitrag antworten »
RE: Winkel zwischen zwei Strecken
Willkommen im Matheboard!

Zitat:
Original von Kilroy4
evtl. muss man die Strecken zu Geraden umformen und dann den eingeschlossenen Winkel zwischen den zwei Geraden berechnen; es ist mir aber nicht klar, ob das der einfachste Lösungsweg ist

Doch, das halte ich auch für den besten Ansatz.

Zitat:
Original von Kilroy4
und wie die Lösung dann genau ausschaut.

Nimm die Zweipunkteform, um die beiden Steigungen zu ermitteln, berechne den Betrag der Steigungsdifferenz, über den Arcustangens den entsprechenden Winkel.

Viele Grüße
Steffen
HAL 9000 Auf diesen Beitrag antworten »

Zitat:
Original von Steffen Bühler
berechne den Betrag der Steigungsdifferenz, über den Arcustangens den entsprechenden Winkel.

Klingt m.E. missverständlich: Man nimmt ja nicht den Arcustangens der Steigungsdifferenz, sondern die Differenz der Arcustangenswerte der Steigungen!


Ich würde dennoch für die Vektorlösung plädieren, schon um Ärger mit den Randfällen (Gerade parallel zur y-Achse mit Steigung unendlich) aus dem Weg zu gehen.
Steffen Bühler Auf diesen Beitrag antworten »

Zitat:
Original von HAL 9000
Klingt m.E. missverständlich

Respektive sogar falsch. Danke für den Hinweis!

Zitat:
Original von HAL 9000
Ich würde dennoch für die Vektorlösung plädieren

Oder komplexe Zahlen verwenden.
Kilroy4 Auf diesen Beitrag antworten »

Danke für die bisherigen Antworten.

Ich habe eine gangbare Lösung unter Verwendung von Vektoren gefunden, aber ich bin nicht sicher, ob man das noch als mathematische Formel bezeichen kann oder eher als Algorithmus.
Dazu betrachte ich die Strecken doch erst mal als gerichtete Vektoren von Punkt A nach B, und wende dann die Formel der Kosinus-Ähnlichkeit an.

Dann drehe ich einen der beiden Vektoren einfach um, d.h. von Punkt B nach Punkt A, berechne die Kosinus-Ähnlichkeit nochmal und nehme den kleineren der beiden Werte.

Das scheint für alle Konstellationen zu funktionieren, aber schöner wäre natürlich eine Formel, die gleich den richtigen Wert liefert.
Steffen Bühler Auf diesen Beitrag antworten »

Dann würde ich nach wie vor meine Methode empfehlen, zusammen mit der aus der komplexen Rechnung bekannten atan2-Funktion.
 
 
HAL 9000 Auf diesen Beitrag antworten »

Zitat:
Original von Kilroy4
Dazu betrachte ich die Strecken doch erst mal als gerichtete Vektoren von Punkt A nach B, und wende dann die Formel der Kosinus-Ähnlichkeit an.

Der Begriff ist mir nicht geläufig, aber vermutlich meinst du die Winkelbestimmung per Skalarprodukt, d.h.



Das liefert einen Winkel . Wenn du nur an dem Winkel zwischen den beiden beteiligten Geraden interessiert bist, dann nimmst du direkt , falls . Im anderen Fall nimmst du stattdessen , das ergibt dasselbe Ergebnis wie dein oben beschriebenes , aber mit viel weniger Rechnung. Beide Fälle kann man auch gemäß zusammenfassend schreiben. Oder man rechnet gleich

,

denn das kommt letztlich auf dasselbe hinaus und vermeidet die Fallunterscheidung. Augenzwinkern


Bei der "komplexen" Rechnung (d.h. dann komplexe Zahlen statt Vektoren) ist es wohl am einfachsten, das Argument von (dabei ist die konjugiert komplexe Zahl zu ) zu bestimmen (d.h. mit atan2 wie von Steffen empfohlen). Da hat man dann allerdings sogar einen Winkel , weil da nicht nur die Richtung, sondern zudem auch noch die Reihenfolge der Winkel mit reinspielt. Hier wäre dann der gesuchte Winkel. Auch hier geht es ohne Fallunterscheidung:

1) Berechne .
2) Gesuchter Winkel ist .
Kilroy4 Auf diesen Beitrag antworten »

Danke nochmal für die weiteren ausführlichen Erläuterungen, das klingt sehr einleuchtend.
Ich werde diese Vorschläge so umsetzen, ich vermute noch eleganter läßt es sich nicht mehr lösen.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »