Winkel zwischen zwei Strecken |
11.08.2021, 22:39 | Kilroy4 | Auf diesen Beitrag antworten » | ||||
Winkel zwischen zwei Strecken 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. |
||||||
12.08.2021, 09:28 | Steffen Bühler | Auf diesen Beitrag antworten » | ||||
RE: Winkel zwischen zwei Strecken Willkommen im Matheboard!
Doch, das halte ich auch für den besten Ansatz.
Nimm die Zweipunkteform, um die beiden Steigungen zu ermitteln, berechne den Betrag der Steigungsdifferenz, über den Arcustangens den entsprechenden Winkel. Viele Grüße Steffen |
||||||
12.08.2021, 09:55 | HAL 9000 | Auf diesen Beitrag antworten » | ||||
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. |
||||||
12.08.2021, 10:53 | Steffen Bühler | Auf diesen Beitrag antworten » | ||||
Respektive sogar falsch. Danke für den Hinweis!
Oder komplexe Zahlen verwenden. |
||||||
12.08.2021, 12:06 | 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. |
||||||
12.08.2021, 12:30 | 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. |
||||||
Anzeige | ||||||
|
||||||
12.08.2021, 13:55 | HAL 9000 | Auf diesen Beitrag antworten » | ||||
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. 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 . |
||||||
12.08.2021, 23:16 | 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. |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |
|