Nicht Eindeutigkeit von Schnittpunkt

Fragezeichen shared this question 2 years ago
Answered

Man schneidet z.B. einen Kreis mit einer Geraden (Schnittpunkte B, C). Möchte man anschließend mit dem Befehl "Polynom" ein Polynom möglichst niedrigen Grades durch den Punkt C und zwei weitere Punkte D und E legen, so wird das Polynom auch mit Hilfe des weiteren Schnittpunktes B erzeugt. Minimalbeispiel siehe Anhang.


(Mir ist klar, dass ich die Gerade und den Kreis mit dem Werkzeug "Schneide" auch nur in einem Punkt schneiden kann, indem ich den betreffenden Punkt direkt anklicke, aber um das geht es nicht, sondern um die Tatsache, dass das Objekt C in diesem Fall offensichtlich nicht eindeutig definiert ist.)


Getestet unter GeoGebra 5.0.609.0-d (unter Linux und Windows)

Comments (4)

photo
1

Mit Schneide(c, f, 1) kann man einen der Schnittpunkte auswählen. Noch besser, man wählt den Schnittpunkt

logisch aus: zB. P:=Wenn(y(Schneide(c,f,1)<0,Schneide(c, f, 2),Schneide(c, f, 1))

Dann wird nur der Schnittpunkt oberhalb der x-Achse ausgewählt! Dies nur als Beispiel!

Gruss W.F.

photo
1

sorry, Klammer vergessen:

P:=Wenn(y(Schneide(c,f,1))<0,Schneide(c, f, 2),Schneide(c, f, 1))

W.F.

photo
1

Ganz einfach! Es sei C einer der Schnittpunkte. Dann...

Polynom[{KopiereFreiesObjekt[C],D,E}]

...und dabei wird noch nicht mal eine Kopie von C erstellt.

photo
photo
1

weitere Alternative: verwende Strahl() anstelle von Gerade():

f: Strahl(A, (2, 2))

----------------------------

Weitere Alternative für komplexere Fälle (zB dynamisch veränderbar):

Eine Liste der beiden Punkte erzeugen mit:

l1= {Schneide(<Kreis>,<objekt>)} <-- geschweifte Klammern beachten

Dann die Liste nach einem beliebigen Kriterium (zB Winkel, Abstand usw) sortieren

l2=Sortiere(l1, Zip(<ausdruck mit P>,P,l1)) <-- zB für Dein Polynom: Abstand(P,D)

PXX=Element(l2,<1 oder 2 je nach Sortierung>) <-- für Abstand in obigem Beispiel "1" für Nächsten

© 2023 International GeoGebra Institute