Schnittpunkt zweier Geraden

Eine Gerade definiert sich durch einen Startpunkt und einem Vektor, entlang dem die weiteren Punkte der Gerade liegen.

<m>vec{p_s} + alpha · vec{v}</m>

Schauen wir uns eine Gerade im dreidimensionalen Raum an, die aus dem Nullpunkt heraus sich auf der X-Achse bewegt:

<m>(matrix{3}{1}{0 0 0}) + alpha · (matrix{3}{1}{1 0 0})</m>

Ein Beispiel verdeutlicht das Verfahren:
Wir konstruieren zunächst zwei Geraden, die sich in unterschiedliche Richtungen von einem gemeinsamen Punkt (1, 2, 3) entfernen:

<m>(matrix{3}{1}{1 2 3}) + alpha · (matrix{3}{1}{4 5 6})</m>
<m>(matrix{3}{1}{1 2 3}) + beta · (matrix{3}{1}{3 1 2})</m>

Hier sieht man den gemeinsamen Startpunkt ja bereits, um das Beispiel interessanter zu machen verschiebe ich den Startpunkt entlang des Vektors:

<m>(matrix{3}{1}{5 7 9}) + alpha · (matrix{3}{1}{4 5 6})</m>
<m>(matrix{3}{1}8_-1_-3) + beta · (matrix{3}{1}{3 1 2})</m>

Nun haben wir eine Aufgabe: Wie finden wir den Schnittpunkt heraus?

1. Schritt: Schnittpunkt bekannt?

Vielleicht haben wir unseren Schnittpunkt bereits? Wir vergleichen die beiden Startpunkte:

<m>(matrix{3}{1}{5 7 9}) = (matrix{3}{1}8_-1_-3)</m>

Die Gleichung ist falsch. Pech gehabt. Falls der Punkt identisch ist, so müsste noch geklärt werden, ob die Geraden aufeinander liegen, also identisch sind. Dann wäre der Startpunkt kein Schnittpunkt, sondern einer von unendlich vielen Punkten, die die beiden identischen Geraden gemeinsam haben.

2. Schritt: Sind die Geraden parallel?

Die Geraden sind parallel, wenn die Richtungsvektoren in die gleiche oder die entgegengesetzte Richtung zeigen:

<m>alpha · (matrix{3}{1}{4 5 6}) = (matrix{3}{1}{3 1 2})</m>

Wenn die Geraden parallel sind, müsste sich die Gleichung lösen lassen. Rechnen wir <m>alpha</m> kurz über die X-Komponente aus:

<m>alpha · 4 = 3</m>
<m>alpha = 0,75</m>

Wie sieht es bei Y aus?

<m>alpha · 5 = 1</m>
<m>alpha = 0,2</m>

Wenn die Geraden parallel wären, müsste <m>alpha</m> für alle Komponenten den gleichen Wert haben. Wir haben schon zwei unterschiedliche Faktoren bei zwei Komponenten, die Z-Komponente können wir uns daher schenken, diese Geraden werden nicht mehr parallel. Wir müssen also weiterhin davon ausgehen, dass es einen Schnittpunkt gibt.

3. Schnitt: Schnittpunkt finden

Im zweidimensionalen Raum können Geraden parallel (also ist der Vektor gleich oder entgegengerichtet) sein (die Geraden können auch aufeinander liegen) oder sie schneiden sich in einem Punkt. Im mehrdimensionalen Raum ist das Problem überdefiniert: Wir haben also mehr Dimensionen als wir Variablen berechnen müssen. Also ignorieren wir erst mal alles, was zu viel ist und bestimmen die beiden Variablen:

Wir ignorieren bei drei Dimensionen die Z-Komponente und wir rechnen jetzt - ohne auf die Zahlen zu schauen, ein Schema runter - wie es ein Computer auch tun würde.

<m>(matrix{2}{1}{5 7}) + alpha · (matrix{2}{1}{4 5})</m>
<m>(matrix{2}{1}8_-1 + beta · (matrix{3}{1}{3 1})</m>

Wir gehen von einem Schnittpunkt aus, also muss es eine Stelle geben, an der beide Geraden den gleichen Wert haben.

<m>(matrix{2}{1}{5 7}) + alpha · (matrix{2}{1}{4 5}) = (matrix{2}{1}8_-1) + beta · (matrix{3}{1}{3 1})</m>

Nun bringen wir die Faktoren auf die linke und die konstanten Startpunkte auf die rechte Seite:

<m>alpha · (matrix{2}{1}{4 5}) - beta · (matrix{3}{1}{3 1}) = (matrix{2}{1}8_-1) - (matrix{2}{1}{5 7})</m>
<m>alpha · (matrix{2}{1}{4 5}) - beta · (matrix{3}{1}{3 1}) = (matrix{2}{1}13_-8)</m>

Nun müssen wir zunächst herausfinden, wie das Verhältnis von <m>alpha</m> und <m>beta</m> ist:

<m>X : 4 · alpha - beta · 3 = -13</m>
<m>Y : 5 · alpha - beta · 1 = -8</m>

Um die Gleichungen gleichsetzen zu können, multiplizieren wir die zweite Gleichung (Y) mit der rechten Seite der oberen X-Gleichung (-13), geteilt durch die rechte Seite der Y-Gleichung(-8) FIXME. Also

<m>X : 4 · alpha - 3 · beta = -13</m>
<m>Y : 5 · alpha - 1 · beta = -8</m>

<m>Y : 13_-8 · alpha - 1·13_-8 · beta = -13</m>
<m>Y : 8,125 · alpha - 1,625 · beta = -13</m>

Nun können wir die lästigen Zahlen durch Gleichsetzen aus der Gleichung werfen: <m>4 · alpha - 3 · beta = 8,125 · alpha - 1,625 · beta</m>

Nun bilden wir das Verhältnis zwischen <m>alpha</m> und <m>beta</m>. Wieder schauen wir uns die Zahlen nicht an, sondern wir machen einfach, wie es ein Computer macht:

Wir subtrahieren den Alphawert der rechten Seite auf beiden Seiten: <m>- (8,125 · alpha)</m>
<m>-4,125 · alpha - 3 · beta = -1,625 · beta</m>
und nun subtrahieren wir den Beta-Wert der linken Seite: <m>- (-3 · beta)</m>
<m>-4,125 · alpha = +1,375 · beta</m>
und teilen durch den Faktor vor <m>beta</m>
<m>-3 · alpha = beta</m>

Wir wissen nun also, dass <m>beta</m> mit <m>-3 · alpha</m> für das zweidimensionale Problem ausgetauscht werden kann. Wenn die Geraden also auch im dreidimensionalen einen Schnittpunkt haben, dann lassen sich die Gleichungen wie folgt darstellen.

Statt:
<m>(matrix{3}{1}{5 7 9}) + alpha · (matrix{3}{1}{4 5 6}) = (matrix{3}{1}8_-1_-3) + beta · (matrix{3}{1}{3 1 2})</m>
schreiben wir nun:
<m>(matrix{3}{1}{5 7 9}) + alpha · (matrix{3}{1}{4 5 6}) = (matrix{3}{1}8_-1_-3) + (-3 · alpha) · (matrix{3}{1}{3 1 2})</m>
<m>(matrix{3}{1}{5 7 9}) + alpha · (matrix{3}{1}{4 5 6}) = (matrix{3}{1}8_-1_-3) + alpha · (matrix{3}{1}9_-3_-6)</m>

und diese können wir nun nach <m>alpha</m> auflösen.
<m>alpha · (matrix{3}{1}{4 5 6}) - alpha · (matrix{3}{1}9_-3_-6) = (matrix{3}{1}8_-1_-3) - (matrix{3}{1}{5 7 9})</m>
<m>alpha · (matrix{3}{1}{13 8 12}) = (matrix{3}{1}13_-8_-12)</m>

Wir sehen schon, was hier herauskommt, aber als Computer müssen wir das durchtesten. Wir bestimmen <m>alpha</m> für die X-Dimension: <m>X: 13 · alpha = -13<m> <m>X: alpha = -1</m>

Und nun prüfen wir das für die anderen Dimensionen: <m>Y: 8 · alpha = -8<m> <m>Y: alpha = -1</m> <m>Z: 12 · alpha = -12<m> <m>Z: alpha = -1</m>

Wir bekommen für alle Komponenten als Lösung -1 heraus, damit haben wir eine Lösung für die Gleichung. Wenn wir <m>alpha</m> in die erste Geraden-Gleichung einsetzen, erhalten wir den Schnittpunkt:
<m>(matrix{3}{1}{5 7 9}) + (-1) · (matrix{3}{1}{4 5 6})</m>
<m>(matrix{3}{1}{5 7 9}) + (matrix{3}{1}4_-5_-6)</m>
Und schon haben wir den Schnittpunkt (von dem wir ja ursprünglich auch ausgegangen sind).
<m>(matrix{3}{1}{1 2 3})</m>

Genauso muss auch für die andere Gerade dieser Punkt herauskommen. Wir wissen ja, dass <m>beta = -3 · alpha</m> ist, also ist <m>beta = 3</m>. Probieren wir es sicherheitshalber aus:

<m>(matrix{3}{1}8_-1_-3) + (3) · (matrix{3}{1}{3 1 2})</m>
<m>(matrix{3}{1}8_-1_-3) + (matrix{3}{1}{9 3 6})</m>
und so bekommen wir den Schnittpunkt auch durch die zweite dieser Gleichung:
<m>(matrix{3}{1}{1 2 3})</m>