Zitat:
Du kannst dir ja einen Vektor der linie berechnen, somit auch einen rechtwinkligen dazu. Mit hilfe dieser Richtung kannst du einem 2. Punkt berechnen durch den vom bekannten Punkt beginnend eine Strecke senkrecht auf die Linien stoßen würde.
Was ist, wenn der 2. Punkt (auch Lot) nicht auf der Linie zu finden ist?
Zitat:
Damit brechnest du den Schnittpunkt (inters ..) [..]
Wenn ich dich bisher richtig verstanden habe, dann hast du den doch schon - oder?
Zitat:
[..] und kannst dir dann die Entfernung des Schnittpunkts zum Punkt ausrechnen. Vergleichen, fertig!
Ja.
Zitat:
Achso (beinah vergessen) Vectoren am besten mit dem Geometrierechner ermitteln.
Da bevorzuge ich dann doch eher etwas Mathematik pur:
<a,b> soll das Skalarprodukt der beiden Vektoren a und b sein und |a| bezeichne die Länge (auch: "den Betrag") eines Vektors a.
Weiter haben wir eine Linie L mit den Endpunkten U und V sowie einen Punkt P, zu dem wir den Punkt der Linie suchen, der den geringsten Abstand zu P hat.
Die Linie L kann als "parametrisierte Kurve" beschrieben werden:
L(t) = U + t*(V - U), wobei 0 <= t <= 1
Der Abstand zwischen P und irgend einem Punkt auf der Linie L lässt sich daher ebenfalls mittels Funktion ausdrücken:
D(t) = |P - L(t)| = |P - U - t*(V - U)|
Weil das nicht so klasse aussieht eine kleine Vereinfachung:
a := P - U und b := V - U, also: D(t) = |a - t*b|
Jetzt bleibt also nur noch das passende t zufinden, damit der Abstand D(t) möglicht klein wird - das liefert nämlich den Fußpunkt des Lots (Würde mich mal interessieren, ob das hier überhaupt jemand liest und auch noch hilfreich findet?). Ohne weitere Einzelheiten jetzt die Formel, mit der sich der Parameter t für die Bestimmung des Lotpunkts gewinnen lässt:
Code:
<a,b>
t = -----
<b,b>
Jetzt gibt's 3 Möglickeiten:
(1) 0 <= t <= 1, dann ist alles Prima und mit D(t) lässt sich der tatsächliche Abstand für den Vergleich bestimmen.
(2) t > 1, dann ist V der Punkt mit dem kleinsten Abstand zu P.
(3) t < 0, dann ist U der Punkt mit dem kleinsten Abstand zu P.
Achim Dabrunz
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP