Linie-Linie-Schnittpunkt - Line–line intersection

Der Schnittpunkt von Linien.

In der euklidischen Geometrie kann der Schnittpunkt einer Linie und einer Linie die leere Menge , ein Punkt oder eine Linie sein. Das Unterscheiden dieser Fälle und das Auffinden des Schnittpunkts haben beispielsweise in der Computergrafik , der Bewegungsplanung und der Kollisionserkennung Verwendung .

In dreidimensionalen euklidischen Geometrie, wenn zwei Linien nicht in der gleichen Ebene sind sie genannt skew Linien und haben keinen Schnittpunkt. Wenn sie in derselben Ebene liegen, gibt es drei Möglichkeiten: Wenn sie zusammenfallen (keine verschiedenen Linien sind), haben sie unendlich viele Punkte gemeinsam (nämlich alle Punkte auf einem von ihnen); wenn sie verschieden sind, aber die gleiche Steigung haben, werden sie als parallel bezeichnet und haben keine gemeinsamen Punkte; andernfalls haben sie einen einzigen Schnittpunkt.

Die Unterscheidungsmerkmale der nichteuklidischen Geometrie sind die Anzahl und Lagen möglicher Schnittpunkte zwischen zwei Geraden und die Anzahl möglicher Geraden ohne Schnittpunkte (Parallellinien) mit einer gegebenen Geraden.

Formeln

Eine notwendige Bedingung für den Schnitt zweier Linien ist, dass sie sich in derselben Ebene befinden, d. h. keine schrägen Linien sind. Erfüllung dieser Bedingung ist äquivalent zu dem Tetraeders mit Scheitelpunkten an zwei der Punkte in einer Zeile und zwei der Punkte auf den anderen Leitung Wesen degenerierten im Sinne von Null Volumen . Für die algebraische Form dieser Bedingung siehe Schiefe Linien § Prüfung auf Schiefe .

Gegeben zwei Punkte auf jeder Linie

Zuerst betrachten wir den Schnittpunkt zweier Linien und im 2-dimensionalen Raum, wobei die Linie durch zwei verschiedene Punkte und definiert wird und die Linie durch zwei verschiedene Punkte und definiert wird .

Der Schnittpunkt der Linie und kann mit Hilfe von Determinanten definiert werden .

Die Determinanten können ausgeschrieben werden als:

wobei der Nenner ist:

Wenn die beiden Geraden parallel oder zusammenfallen, ist der Nenner Null. Wenn die Linien fast parallel sind, kann eine Computerlösung auf numerische Probleme stoßen, die die oben beschriebene Lösung implementieren: Die Erkennung dieser Bedingung könnte einen ungefähren Test in einer praktischen Anwendung erfordern. Ein alternativer Ansatz könnte darin bestehen, die Liniensegmente so zu drehen, dass eines davon horizontal ist, wodurch die Lösung der gedrehten parametrischen Form der zweiten Linie leicht erhalten wird. Eine sorgfältige Diskussion der Sonderfälle ist erforderlich (Parallellinien/koinzidente Linien, überlappende/nicht überlappende Intervalle).

Gegeben zwei Punkte auf jedem Liniensegment

Beachten Sie, dass der obige Schnittpunkt für die unendlich langen Linien gilt, die durch die Punkte definiert sind, und nicht für die Liniensegmente zwischen den Punkten, und kann einen Schnittpunkt erzeugen, der in keinem der beiden Liniensegmente enthalten ist. Um die Position des Schnittpunkts in Bezug auf die Liniensegmente zu finden, können wir Linien und Bézier- Parameter ersten Grades definieren :

(wobei t und u reelle Zahlen sind). Der Schnittpunkt der Geraden wird mit einem der folgenden Werte von t oder u gefunden , wobei

und

mit:

Es gibt einen Schnittpunkt, wenn 0.0 ≤  t  ≤ 1.0 und 0.0 ≤  u  ≤ 1.0. Der Schnittpunkt fällt in das erste Liniensegment, wenn 0,0  t  ≤ 1,0, und in das zweite Liniensegment, wenn 0,0  u  ≤ 1,0. Diese Ungleichungen können ohne Division getestet werden, was eine schnelle Bestimmung des Vorhandenseins eines Liniensegment-Schnittpunkts ermöglicht, bevor der genaue Punkt berechnet wird.

Gegeben zwei Geradengleichungen

Die Koordinaten und des Schnittpunkts zweier nicht-vertikaler Geraden können durch die folgenden Ersetzungen und Umordnungen leicht gefunden werden.

Angenommen, zwei Geraden haben die Gleichungen und wo und sind die Steigungen (Gradienten) der Geraden und wo und sind die y- Schnittpunkte der Geraden. An dem Punkt, an dem sich die beiden Linien schneiden (falls dies der Fall ist ), sind beide Koordinaten gleich, daher die folgende Gleichheit:

Wir können diesen Ausdruck neu anordnen, um den Wert von zu extrahieren ,

und so,

Um die y- Koordinate zu finden , müssen wir nur den Wert von x in eine der beiden Liniengleichungen einsetzen, zum Beispiel in die erste:

Der Schnittpunkt ist also

Beachten Sie, dass bei a = b die beiden Geraden parallel sind . Wenn auch cd ist , sind die Geraden verschieden und es gibt keinen Schnittpunkt, ansonsten sind die beiden Geraden identisch.

Homogene Koordinaten verwenden

Durch die Verwendung homogener Koordinaten kann der Schnittpunkt zweier implizit definierter Geraden recht einfach bestimmt werden. In 2D kann jeder Punkt als Projektion eines 3D-Punktes definiert werden, der als geordnetes Tripel angegeben wird . Die Abbildung von 3D- auf 2D-Koordinaten ist . Wir können 2D-Punkte in homogene Koordinaten umwandeln, indem wir sie als definieren .

Angenommen, wir wollen den Schnittpunkt zweier unendlicher Geraden im 2-dimensionalen Raum finden, die als und definiert sind . Wir können diese beiden Linien in Linienkoordinaten darstellen als und ,

Der Schnittpunkt zweier Geraden ist dann einfach gegeben durch

Wenn sich die Linien nicht schneiden.

Mehr als zwei Zeilen

Der Schnittpunkt zweier Linien kann verallgemeinert werden, um zusätzliche Linien einzubeziehen. Existenz und Ausdruck für das n- Linien-Schnittpunktproblem sind wie folgt.

In zwei Dimensionen

In zwei Dimensionen schneiden sich mehr als zwei Linien mit ziemlicher Sicherheit nicht an einem einzigen Punkt. Um festzustellen, ob dies der Fall ist, und falls ja, um den Schnittpunkt zu finden, schreiben Sie die i- te Gleichung ( i = 1, …, n ) als und stapeln Sie diese Gleichungen in Matrixform als

wobei die i -te Zeile des n × 2 - Matrix A ist , w der 2 × 1 - Vektor ist ( x, y ) T , und das i -te Element des Spaltenvektors b ist b i . Wenn A unabhängige Spalten hat, ist sein Rang 2. Dann und nur dann, wenn der Rang der erweiterten Matrix [ A | b ] ebenfalls 2 ist, existiert eine Lösung der Matrixgleichung und damit ein Schnittpunkt der n Geraden. Der Schnittpunkt, falls vorhanden, ist gegeben durch

wo ist die verallgemeinerte Moore-Penrose-Inverse von (die die gezeigte Form hat, weil A vollen Spaltenrang hat). Alternativ kann die Lösung durch gemeinsames Lösen von zwei beliebigen unabhängigen Gleichungen gefunden werden. Aber wenn der Rang von A nur 1 ist, dann gibt es keine Lösung, wenn der Rang der erweiterten Matrix 2 ist, aber wenn sein Rang 1 ist, fallen alle Linien zusammen.

In drei Dimensionen

Der obige Ansatz kann ohne weiteres auf drei Dimensionen erweitert werden. In drei oder mehr Dimensionen schneiden sich sogar zwei Linien mit ziemlicher Sicherheit nicht; Paare von nicht parallelen Linien, die sich nicht schneiden, werden als Schräglinien bezeichnet . Wenn jedoch eine Schnittmenge existiert, kann sie wie folgt gefunden werden.

In drei Dimensionen wird eine Gerade durch den Schnittpunkt zweier Ebenen dargestellt, von denen jede eine Gleichung der Form hat Somit kann eine Menge von n Geraden durch 2 n Gleichungen im 3-dimensionalen Koordinatenvektor w = ( x , y , z ) T :

wobei nun A 2 n × 3 und b 2 n × 1 ist. Wie zuvor gibt es genau dann einen eindeutigen Schnittpunkt, wenn A vollen Spaltenrang hat und die erweiterte Matrix [ A | b ] nicht, und der eindeutige Durchschnitt, falls er existiert, ist gegeben durch

Nächste Punkte, um Linien zu verzerren

In zwei oder mehr Dimensionen können wir normalerweise einen Punkt finden, der zwei oder mehr Linien im Sinne der kleinsten Quadrate am nächsten liegt .

In zwei Dimensionen

In dem zweidimensionalen Fall wird zuerst darstellen Linie i als ein Punkt, an der Linie und eine Einheitsnormalvektor , senkrecht zu dieser Linie. Das heißt, wenn und Punkte auf Linie 1 sind, dann sei und sei

Dies ist der um 90 Grad gedrehte Einheitsvektor entlang der Linie.

Beachten Sie, dass der Abstand von einem Punkt x zur Linie gegeben ist durch

Der quadrierte Abstand von einem Punkt x zu einer Geraden ist also

Die Summe der quadrierten Distanzen zu vielen Linien ist die Kostenfunktion :

Dies kann neu angeordnet werden:

Um das Minimum zu finden, differenzieren wir nach x und setzen das Ergebnis gleich dem Nullvektor:

so

und so

In mehr als zwei Dimensionen

Obwohl dies in mehr als zwei Dimensionen nicht genau definiert ist, kann dies auf eine beliebige Anzahl von Dimensionen verallgemeinert werden, indem man feststellt, dass dies einfach die (symmetrische) Matrix mit allen Eigenwerten Eins ist, mit Ausnahme eines Null-Eigenwerts in der Richtung entlang der Linie, die eine Seminorm auf liefert der Abstand zwischen einem anderen Punkt, der den Abstand zur Linie angibt. Wenn in einer beliebigen Anzahl von Dimensionen ein Einheitsvektor entlang der i- ten Linie ist, dann

wird

wobei I die Identitätsmatrix ist, und so

Allgemeine Herleitung

Um den Schnittpunkt einer Reihe von Linien zu finden, berechnen wir den Punkt mit minimalem Abstand zu ihnen. Jede Linie wird durch einen Ursprung und einen Einheitsrichtungsvektor definiert, . Das Quadrat der Entfernung von einem Punkt zu einer der Geraden wird von Pythagoras gegeben:

Wobei: ist die Projektion von auf der Linie . Die Summe der Abstände zum Quadrat zu allen Linien ist:

Um diesen Ausdruck zu minimieren, differenzieren wir ihn nach .

Es ergibt:

Wo ist die Identitätsmatrix. Dies ist eine Matrix mit Lösung , wobei die Pseudo-Inverse von ist .

Siehe auch

Verweise

  1. ^ „Weisstein, Eric W. „Linie-Linie-Schnittpunkt.“ Von MathWorld“ . Eine Wolfram-Webressource . Abgerufen 2008-01-10 .
  2. ^ Antonio, Franklin (1992). "Kapitel IV.6: Schnellerer Schnittpunkt von Liniensegmenten". In Kirk, David (Hrsg.). Grafik-Edelsteine ​​III . Academic Press, Inc. S. 199–202. ISBN 0-12-059756-X.
  3. ^ "Homogene Koordinaten" . robotics.stanford.edu . Abgerufen 2015-08-18 .
  4. ^ Traa, Johannes. "Kleinste Quadrate Schnittmenge von Linien" (PDF) . Abgerufen am 30. August 2018 .

Externe Links