Liegen zwei Punkte auf derselben Seite?

Man hat uns die x- und y-Koordinaten der Punkte P₁ und P₂ verraten! Der Punkt P₁ hat die Koordinaten x₁ und y₁. Der zweite Punkt P₂ liegt nicht am selben Fleck, sondern überraschend an den Koordinaten x₂ und y₂. Wir können mit den Punkten tolle Sachen machen, zum Beispiel eine Gerade durch sie ziehen. Mit dem Geheimnis war allerdings auch ein Auftrag verbunden: Entwickle eine Methode, um zu berechnen, ob zwei neue Punkte auf derselben oder auf unterschiedlichen Seiten jener Geraden liegen!

Mein Plan: Eine Formel basteln, in die man die Koordinaten eines Punktes einsetzt und deren Ergebnis dann je nach der Seite der Geraden, auf welcher der Punkt liegt, entweder negativ oder positiv ist. Setzt man nacheinander zwei zu testende Punkte in so eine Formel ein, dann verraten identische Vorzeichen, dass sie auf derselben Seite liegen, und gegensätzliche Vorzeichen, dass sie auf unterschiedlichen Seiten liegen.

Dann mal los!

Zunächst schreibe ich aus Wikipedia für die Gerade durch P₁ und P₂ eine Geradengleichung in Zweipunkteform ab. Dabei müssen wir die Bedingung x₁ ≠ x₂ in Kauf nehmen, um eine Division durch null zu vermeiden:

$$y=\frac{y_2-y_1}{x_2-x_1}(x-x_1)+y_1$$

Um die lästige Bedingung kümmere ich mich später. Denken wir uns erst für einen beliebigen neuen Punkt, dessen Lage mit einem anderen verglichen werden soll, einen Namen aus: Q. Seine Koordinaten können wir dann $x_Q$ und $y_Q$ nennen.

Abbildung: Durch die Punkte P₁ und P₂ verläuft eine Gerade. Abseits liegen zwei Punkte Q und R. Diese werfen senkrecht „Schatten“ Q' und R' auf die Gerade.

Im Auge behalten sollten wir zudem den Schatten, den Q auf unsere Gerade wirft, wenn das Licht senkrecht von unten oder oben scheint. Diesen Schatten nenne ich Q' und weil das Licht genau senkrecht fällt, ist der Schatten nicht nach links oder rechts verschoben, sondern es gilt $x_{Q'}=x_Q$. Weil der Schatten Q' auf der Geraden liegt, können wir seine y-Koordinate finden, indem wir die gemeinsame x-Koordinate von Q' und Q in die Geradengleichung einsetzen:

$$y_{Q'}=\frac{y_2-y_1}{x_2-x_1}(x_Q-x_1)+y_1$$

Nun können wir die y-Koordinate des Schattens Q' von jener des Punktes Q abziehen. Aber warum sollten wir? Weil das Ergebnis dieser Rechnung positiv ist, wenn der Punkt über seinem Schatten liegt, und negativ, wenn der Punkt unter seinem Schatten liegt. Da der Schatten genau auf der Geraden liegt, verrät das zugleich, ob der Punkt über oder unter der Geraden liegt – und das ist bereits ganz nah an der Planerfüllung.

$$y_Q-y_{Q'}=y_Q-\frac{y_2-y_1}{x_2-x_1}(x_Q-x_1)-y_1$$

Um den Bruch loszuwerden, multipliziere ich beide Seiten mit dem Nenner:

$$(y_Q-y_{Q'})(x_2-x_1)=y_Q(x_2-x_1)-(y_2-y_1)(x_Q-x_1)-y_1(x_2-x_1)$$

Auf der linken Seite der Gleichung – und dann natürlich auch auf der rechten Seite – können wir jetzt leider nicht mehr von positiv=über und negativ=unter der Geraden ausgehen, weil der konstante Faktor $(x_2-x_1)$ das Vorzeichen möglicherweise umkehrt. Gewiss ist trotzdem, dass sich unterschiedliche Vorzeichen ergeben, je nachdem ob Q ober- oder unterhalb der Geraden liegt. Wenn man noch ausklammert, schaut die rechte Seite der Gleichung so aus:

$$(y_Q-y_1)(x_2-x_1)-(y_2-y_1)(x_Q-x_1)$$

Den Index Q für einen beliebigen Punkt können wir weglassen. Man kann genauso die Koordinaten eines Punktes B, Ä oder R einsetzen. Dem ganzen Ausdruck gebe ich außerdem einen Namen, „Se“ für „Seitentest“ ist schön, und vermerke daran als Index die Punkte, durch welche die Gerade verläuft:

$$\mathrm{Se}_{P_1,P_2}(x,y)=(y-y_1)(x_2-x_1)-(y_2-y_1)(x-x_1)$$

Rechenbeispiel: Gegeben sind die folgenden Punkte mit Koordinaten.

x y
P 3 3.2
P 6 5
Q 1 4.5
R 5 1

Liegen Q und R auf derselben Seite einer Geraden durch P₁ und P₂?

Für Q ergibt die Rechnung $\mathrm{Se}_{P_1,P_2}(1,4.5)=(4.5-3.2)(6-3)-(5-3.2)(1-3)=7.5$.

Für R ergibt die Rechnung $\mathrm{Se}_{P_1,P_2}(5,1)=(1-3.2)(6-3)-(5-3.2)(5-3)=-10.2$.

Die Vorzeichen sind unterschiedlich, also liegen Q und R auf verschiedenen Seiten der Geraden.

Anfangs habe ich die Bedingung x₁ ≠ x₂ formulieren müssen. Wenn x₁ = x₂ ist, verläuft die Gerade senkrecht und es fallen keine Schatten. Taugt der Seitentest, losgelöst von seiner Herleitung, dennoch für den ausgesparten Fall? Er vereinfacht sich dann zu $0-(y_2-y_1)(x-x_1)$ und tatsächlich: Abhängig davon, ob ein Punkt links, auf oder rechts der Geraden liegt, unterscheiden sich die Vorzeichen. Die Bedingung können wir also streichen.

Mission erfüllt!