Wie rechnet man denn sowas?

Punkte und Geraden mit ihren Gleichungen [math]a\cdot x+b\cdot y+c=0[/math] werden in homogenen Koordinaten [math](x,y)\equiv\left(x,y,1\right)=:\mathbf\vec{p}[/math] und [math]\mathbf\vec{g}:=\left(a,b,c\right)[/math] dargestellt. [br]Das Skalarprodukt [math]\mathbf\vec{g}\cdot \mathbf\vec{p}[/math] kann man als Linearform [math]\mathbf\vec{g}\left(\mathbf\vec{p}\right)[/math] in Punktkoordinaten oder als Linearform [math]\mathbf\vec{p}\left(\mathbf\vec{g}\right)[/math] in Geradenkoordinaten lesen. [br][list][*]Ein Punkt [math]\mathbf\vec{p}[/math] [i][b]liegt auf [/b][/i] [math]\mathbf\vec{g}[/math], bzw. [math]\mathbf\vec{g}[/math] [i][b]geht durch[/b][/i] [math]\mathbf\vec{p}[/math], wenn [math]\mathbf\vec{g}\cdot \mathbf\vec{p}=0[/math] gilt.[/*][*]Der [i][b]Schnittpunkt[/b][/i] zweier Geraden [math]\mathbf\vec{g}_1,\,\mathbf\vec{g}_2[/math] ist [math]\mathbf\vec{p}=\mathbf\vec{g}_1\otimes \mathbf\vec{g}_2[/math], wobei [math]\otimes[/math] das [i]Kreuzprodukt[/i] bezeichnet[/*][*]Die [i][b]Verbindungsgerade[/b][/i] zweier Punkte [math]\mathbf\vec{p}_1,\,\mathbf\vec{p}_2[/math] ist [math]\mathbf\vec{g}=\mathbf\vec{p}_1\otimes \mathbf\vec{p}_2[/math][/*][/list]Das Produkt zweier Linearformen erzeugt eine quadratische Form, bzw. eine Bilinearform, die wir z.B. für Geraden als [math]\mathbf\vec{g}_1\vee\mathbf\vec{g}_2[/math] bezeichnen, definiert wie folgt:[br][list][*][math]\mathbf\vec{g}_1\vee \mathbf\vec{g}_2\left(\mathbf\vec{p},\mathbf\vec{q}\right)=\frac{1}{2}\cdot\left(\left(\mathbf\vec{g}_1\cdot \mathbf\vec{p}\right)\cdot\left(\mathbf\vec{g}_2\cdot \mathbf\vec{q}\right)+\left(\mathbf\vec{g}_1\cdot \mathbf\vec{q}\right)\cdot\left(\mathbf\vec{g}_2\cdot \mathbf\vec{p}\right)\right)[/math][br][/*][/list]Der "Kegelschnitt" [math]\mathbf\vec{g}_1\vee \mathbf\vec{g}_2\left(\mathbf\vec{p},\mathbf\vec{p}\right)=0[/math] zerfällt in die Punkte auf den beiden Geraden [math]\mathbf\vec{g}_1,\mathbf\vec{g}_2[/math].[br][br]Vier Punkte [math]\mathbf\vec{p}_1,\mathbf\vec{p}_2,\mathbf\vec{p}_3,\mathbf\vec{p}_4[/math] können auf 3 Weisen paarweise miteinander verbunden werden: [math]\mathbf\vec{g}_{ij}:=\mathbf\vec{p}_i\otimes \mathbf\vec{p}_j,i\ne j[/math]. Die 4 Punkte liegen auf allen Quadriken des zu [math]\lambda\cdot\mathbf\vec{g}_{12}\vee\mathbf\vec{g}_{34}+\mu\cdot \mathbf\vec{g}_{13}\vee\mathbf\vec{g}_{24}[/math] gehörenden Quadrikbüschels.[br]Ein Punkt [math]\mathbf\vec{p}[/math] außerhalb der 4 Geraden liegt auf genau einer Quadrik des Büschels. Die lösenden Koeffizienten [math]\lambda,\mu[/math] kann man einfach angeben: [math]\lambda:=\left(\mathbf\vec{g}_{13}\cdot\mathbf\vec{p}\right)\cdot\left(\mathbf\vec{g}_{24}\cdot\mathbf\vec{p}\right) [/math] und [math]\mu:=-\left(\mathbf\vec{g}_{12}\cdot\mathbf\vec{p}\right)\cdot\left(\mathbf\vec{g}_{34}\cdot\mathbf\vec{p}\right) [/math].[br][u][i]Fazit:[/i][/u] durch 5 Punkte geht genau ein Kegelschnitt: [icon]/images/ggb/toolbar/mode_conic5.png[/icon]; vorausgesetzt, die Punkte befinden sich in "allgemeiner Lage", dh. keine 3 der fünf Punkte liegen auf einer Geraden. [br][br]Vertauscht man die Rolle von Geraden und Punkten, so ergibt sich: [br][u][i]Fazit:[/i][/u] 5 Geraden sind Tangenten eines eindeutig bestimmten Kegelschnitts, sofern die Geraden sich in allgemeiner Lage befinden, dh. keine 3 der 5 Geraden gehen durch einen gemeinsamen Punkt. Die oben beschriebene Rechenmethode liefert die Quadrik für die Geradenvektoren, gesucht ist die zugehörige Quadrik für die Berührpunkte. Eine symmetrische Bilinearform [math]\left\langle\, \mathbf\vec{g},\mathbf\vec{h}\,\right\rangle[/math] läßt sich beschreiben durch eine symmetrische Matrix [math]\mathbf{M}[/math]: [math]\left\langle\, \mathbf\vec{g},\mathbf\vec{h}\,\right\rangle=\mathbf\vec{g}\cdot \left(\mathbf{M}\cdot \mathbf\vec{h}\right)[/math]. Ist [math]\mathbf{M}[/math] die symmetrische Matrix für die Quadrik der Berührgeraden, so ist [math]\mathbf{M}^{-1} [/math] die symmetrische Matrix für die Berührpunktvektoren.[br]Die Matrix [math]\mathbf{M}[/math] erhält man, indem man in die Bilinearform die Einheitsvektoren einsetzt: [math]\mathbf{M}_{ij} = \left\langle\, \mathbf\vec{e}_i,\mathbf\vec{e}_j\,\right\rangle[/math]. Diese Matrix muss man invertieren, um die Quadrik für die Tangentenberührpunkte [math]\mathbf\vec{p}\cdot \left(\mathbf{M}\cdot \mathbf\vec{p}\right)=0 [/math] zu berechnen.[br][br]Zu [i][b]4 Punkten und einer Geraden[/b][/i] diejenigen Kegelschnitte durch die Punkte berechnen, welche die Gerade berühren:[br]Die einzelnen Kegelschnitte des Kegelschnittbüschels [math]\lambda\cdot\mathbf\vec{g}_{12}\vee\mathbf\vec{g}_{34}+\mathbf\vec{g}_{13}\vee\mathbf\vec{g}_{24}[/math] durch die 4 Punkte [math]\mathbf\vec{p}_1,\mathbf\vec{p}_2,\mathbf\vec{p}_3,\mathbf\vec{p}_4[/math] schneiden in der Regel die Gerade in 2 Punkten. Setzt man die Punkte der Geraden [math] \mathbf\vec{q}_\tau :=\tau \cdot \mathbf\vec{q}_1 + (1-\tau)\cdot\mathbf\vec{q}_2[/math] mit 2 verschiedenen Punkten [math] \mathbf\vec{q}_i[/math] der Geraden in die quadratische Form ein, so erhält man eine quadratische Gleichung für die Schnittpunkte der Geraden mit dem Kegelschnitt.[br]Bekanntlich gibt es nur eine Lösung, und der zugehörige Punkt ist dann Berührpunkt, wenn die Diskriminante [math]\Delta[/math] der quadratischen Gleichung Null ist. In der Diskriminante [math]\Delta[/math] kommt [math]\lambda[/math] quadratisch vor, also ist [math]\Delta=0[/math] eine quadratische Gleichung für [math]\lambda[/math], die Lösungen liefern die 2 Berührkegelschnitte.[br][br]Die Rechnungen für [i][b]4 Geraden und einen Punkt[/b][/i] verlaufen dual. Auch hier muss man wieder zusätzlich die [i]Inverse[/i] der symmetrischen Bilinearform-Matrix bestimmen.[br]Zu unserer anfänglichen Verblüffung erwiesen sich einige inverse Matrizen als Null-Matrix. Des Rätsels Lösung rührt an ein Problem der [i]Rechengenauigkeit[/i]: die Vektoren sind für die Rechnungen nicht normiert, nach mehreren Kreuzprodukten können sich die Koeffizienten zu beachtlicher Größe aufschaukeln, beim Invertieren erhält man dann bei einer Voreinstellung der Ausgabegenauigkeit mit 2 Nachkommastellen schnell einmal eine Null-Matrix, die das eigentlich nicht ist.[br]Mit unserem veralteten [b]CAS[/b]-Programm [i][b]Derive[/b][/i] wurden die Rechnungen blitzschnell [i][b]exakt[/b][/i] ausgegeben, die Lösungen konnten dann manchmal [i]radikal[/i] etwa wie [math]\frac{36\cdot\sqrt{35}}{589}+\frac{847}{589},\frac{847}{589}-\frac{36\cdot\sqrt{35}}{589}[/math] aussehen, dh. mit Wurzeln und Brüchen, was bei Eingabe von nur rationalen Zahlen möglich ist, wenn zur Berechnung allenfalls quadratische Gleichungen zu lösen sind. [br]Überhaupt erlaubte dieses "veraltete" CAS-Programm durch Verwendung von Funktionen, deren Variablen- und Ausgabe-Typ nicht spezifiziert werden muss, die Rechenwerkzeuge für die Kegelschnittwerkzeuge auf wenige effektive Zeilen zu beschränken. [br]Da unsere früheren Erfahrungen mit der Ge[icon]/images/ggb/toolbar/mode_conic5.png[/icon]Gebra-CAS geprägt sind durch zahlreiche Abstürze und extreme Verlangsamung geometrischer Aktivitäten, haben wir den Einsatz von Ge[icon]/images/ggb/toolbar/mode_conic5.png[/icon]Gebra-CAS für die Kegelschnitt-Werkzeuge vermieden, dh. nicht getestet.[br][br][u][b]Literatur:[/b][/u] [br]Die Grundlagen für die Berechnungen findet man in dem in [url=https://www.geogebra.org/m/mQgUFHZh#material/PYQgGuuM]Blatt1[/url] genannten Buch [b]Geometriekalküle[/b] von J. Richter-Gebert und Th. Orendt.[br][br]Unten sind die Derive-Funktionen aufgeführt, die aus einer Matrix [b]M[/b] aus 5 Punkten in [i]homogenen[/i] Koordinaten die Kegelschnittgleichung [math]\mathbf{qu5}(\mathbf{M},x,y)=0[/math] für den Kegelschnitt durch die 5 Punkte berechnet.[br][br]
[size=50]Dieses Arbeitsblatt ist Teil des Geogebrabooks [url=https://www.geogebra.org/m/mQgUFHZh]Kegelschnitt-Werkzeuge[/url][/size]

Information: Wie rechnet man denn sowas?