Gesucht: Kreisbogen-Gleichung in x und y. Gibt es das?

rami shared this question 5 years ago
Answered

Hallo Allerseits,


In Kombination mit anderen Ungleichungen (zB zum Einfärben von Flächen) suche ich nach einer Gleichung für Kreisbögen, die sich in GGB als Ungleichung verwenden lässt (GGB-CAS hilft mir da auch nicht weiter).


Mir ist klar, dass die Kombination einer (oder mehrer) Geraden-Gleichung mit einer Kreisgleichung auch zum Ziel (fürs Einfärben) führt. Aber vielleicht geht es auch einfacher.


Besten Dank für Antworten

Raymond

https://ggbm.at/564803

Comments (16)

photo
1

Kreis:

Kreis - Funktionsgleichung[/url]"]Da der Kreis kein Funktionsgraph ist, lässt er sich auch nicht durch eine Funktionsgleichung darstellen. Behelfsweise kann ein Paar von Funktionsgleichungen

a0489e77e26e8cf5612c11805a9a603a

verwendet werden. Für den Einheitskreis vereinfacht sich dieses zu

f372bbdf623e58dde8fe9c2360c43b98

    r = Abstand[M, E]

    -sqrt(r^2 - (x - x(M))^2) + y(M) <= y <= sqrt(r^2 - (x - x(M))^2) + y(M)

GGB-Kreisbogenfläche (rudimentär):

    -sqrt(r^2 - (x - x(M))^2) + y(M) <= y <= sqrt(r^2 - (x - x(M))^2) + y(M) && y <= (y(D) - y(E)) / (x(D) - x(E)) (x - x(E)) + y(E)

Achtung:

  • Fallunterscheidung bei " && y <=" einbauen
  • Fallunterscheidung der Geradengleichnung " (y(D) - y(E)) / (x(D) - x(E)) (x - x(E)) + y(E)" falls x(D) == x(E)


Sorry, ich habe das

Mir ist klar, dass die Kombination einer (oder mehrer) Geraden-Gleichung mit einer Kreisgleichung auch zum Ziel (fürs Einfärben) führt. Aber vielleicht geht es auch einfacher.
zu spät realisiert. Bisher ist mir keine einfachere Form Untergekommen evtl. fällt mir noch etwas ein. (Aber dazu müsste GGB andere Laufvariablen als x oder y bei Ungleichungen annehmen... oder die Ungleichung muss gedreht werden... mal sehen...)

photo
1

Hallo Allerseits,


In Kombination mit anderen Ungleichungen (zB zum Einfärben von Flächen) suche ich nach einer Gleichung für Kreisbögen, die sich in GGB als Ungleichung verwenden lässt (GGB-CAS hilft mir da auch nicht weiter).


Mir ist klar, dass die Kombination einer (oder mehrer) Geraden-Gleichung mit einer Kreisgleichung auch zum Ziel (fürs Einfärben) führt. Aber vielleicht geht es auch einfacher.


Besten Dank für Antworten

Raymond

Hallo Rami,

da wirst du wohl auf Kurven und/oder Pfadparameter zurückgreifen müssen.

Ortslinien gehen auch, haben aber ein seltsames Färbungsverhalten...

Gruß Abakus

photo
1

@Loco


Besten Dank für Deine Ungleichung

    -sqrt(r^2 - (x - x(M))^2) + y(M) <= y <= sqrt(r^2 - (x - x(M))^2) + y(M)


Ich habe sie in die beiden Teile zerlegt (a_1 und a_2) und folgendes daraus gemacht:

Anmerkung: r_1^2 und r_2^2 ist unglücklich dargestellt.

41f6cdbcaa5832c1415847606551eb4e


Ich habe Obiges als Bild eingefügt, weil das erneute Oeffnen des File auf einen GGB-Fehler läuft (Release 4.4.3.0).

Aber vielleicht ist in der Zwischenzeit der Fehler behoben, dann gilt das folgende File:


https://ggbm.at/564811


Wie Du etwas später beachtet hast, habe ich eine Lösung mit Kreis-Ungleichungen und Geraden-Ungleichungen. Die sieht wie folgt aus:


https://ggbm.at/564813


Dabei habe ich für die Geraden die eher ungebräuchliche "2D vector determinant Form" verwendet. Sie hat den Vorteil, dass man (ohne Fallunterscheidung) auch Senkrechte abbilden kann. Diese Form habe ich von "miir" gelernt und in ein Makro verpackt. (http://www.geogebra.org/for...)

Aber die Lösung (Kreis- und Geraden-Gleichungen) scheint mir recht schwerfällig zu sein.


Damit bleibt noch ein Teil meiner eingehenden Frage offen (und ich vermute es gibt dazu keine Lösung):

kann man die verwendeten Teil-Ungleichungen (a_1, a_2 im gif-File) um einen variablen Winkel um den Punkt M drehen?


=================================================================================


@abacus


da wirst du wohl auf Kurven und/oder Pfadparameter zurückgreifen müssen.

Ja, das ginge natürlich auch.


Ortslinien gehen auch, haben aber ein seltsames Färbungsverhalten...

Ja, Ortslinien haben den Anfangspunkt meist irgendwo aber nicht am Anfang. Damit ergeben sich Ueberschneidungen. Aber in all jenen Fällen in denen die Ortslinie eine Funktionen abbildet, kann man die Ortslinie recht einfach sortieren (meistens in anderen Fälle auch, aber etwas aufwändiger).


Beispiel für Integral einer Ortslinien-Funktion:

    https://ggbm.at/564819

photo
1

Hallo abakus


Hier der Workaround dazu

(es geht noch einfacher als ich bis anhin gedacht habe)


Raymond

https://ggbm.at/564823

photo
1

Hi Raymond,


wie wär's denn hiermit:42181fda26bd9172accc9dbbf6d99c25und dazu die ggb-Datei:

https://ggbm.at/564829


Gerhard

photo
1

Hallo Gerhard


Herzlich Dank für Deine interessanten (für mich sehr lehrreichen) Beitrag.


Die Existenz der Funktionen x(), y() und z() für Geraden haben mich überrascht.

Ohne ironisch oder zynisch zu sein: steht das irgendwo im Handbuch?

Diese Funktionen scheinen die 3 Faktoren der defaultmässigen Geraden-Gleichung ax+bx=c von GGB zu liefern (Eigenschaften, Algebra).

Mit dieser "allgmeinen form (gemäss Wikipedia)" kann man aus einer Gerade[A,B] einfacher und kompakter eine Gleichung oder Ungleichung als mit der "2D vector determinant form" erzeugen.


Damit sieht dann meine Lösung mit Geraden- und Kreis-Gleichung bereits etwas freundlicher aus:


https://ggbm.at/564833


Soweit so gut und für mich gut genug.


Aber:

Hier wurde ja nicht eine Ungleichung gedreht sondern das geometrische Objekt. Anschliessend wurden vom (gedrehten) geometrischen Objekt die Faktoren für die Ungleichung abgeleitet.

Es bleibt also die Frage:

ob man eine zusammengesezte Ungleichung drehen kann (ich vermute: eher nein).

Und falls ja so wäre das vermutlich am effizientesten mit der Ungleichungen a_1 und a_2 (von Loco) in "Forum_34113_A_KreisbogenGleichung_Explore02.ggb" um das gewünschte Resultat (Version D in diesem Post) zu erhalten.


Raymond

photo
1

Hi Raymond,


diese Funktionen sind dokumentiert:

http://wiki.geogebra.org/de...,

da bin aber erst drauf gestoßen, nachdem ich in irgendeinem Beispiel - welches, weiß ich nicht mehr - gesehen habe, dass man x() bzw. y() auf Geraden anwenden kann; z() habe ich einfach mal probiert:

    g:a x + b y + c = 0

    x(g) -> a, y(g) -> b, z(g) -> c

    -x(g)/y(g) -> m

    -z(g)/y(g) -> y-Achsenabschnitt

Der Versuch, auf eine Ungleichung den Drehe[]-Befehl anzuwenden, endet mit "Bitte prüfen Sie Ihre Eingabe" - oder so ähnlich; gleiches gilt für eine Drehmatrix - MatrixAnwenden[].

Verschieben geht übrigens.


Was mich persönlich noch stört, ist dass die Randlinien komplett (Gerade und Kreis) übernommen werden.


Gerhard

photo
1

Hallo Raymond,


ich habe noch was mit Deiner Datei herumgespielt.

Was mich persönlich noch stört, ist dass die Randlinien komplett (Gerade und Kreis) übernommen werden.
geht ja recht einfach, wenn die Linienstärke auf null gesetzt wird; auf die Idee bin ich bisher nicht gekommen, da das bei Geraden etc. nicht geht, aber offensichlich bei Ungleichungen.


Wieso entstehen eigentlich manchmal aus a && b && c Funktionen mit zwei Variablen (x,y)? Scheint an der Reihenfolge zu liegen?


Deine Graphik hat mich angeregt, mal eine Katakaustik analog zu Deinen Ungleichungen zu probieren:e56c14aeffb1fe02b807c2f4726e2e87und die zugehörige Datei:

https://ggbm.at/564835


Danke, wieder einiges gelernt.


Gerhard

photo
1

Hallo Gerhard,


Ja, genau, damit beschäftige ich mich zur Zeit (jedoch mit Linsen und ohne Katakaustik, von dem ich bis anhin keine Ahnung hatte). Deine Ergänzungen finde ich gelungen und sind für mich sehr interessant.


Den Aufbau der notwendigen Befehl für die Katakaustik habe ich bis und mit RS verstanden.

Hingen beim wichtigsten Befehl: Liste1 habe ich innerhalb des Bandwurmes den Faden verloren. Ich nehme an, dass es dabei darum geht, zwei benachbarte Strahlen aus RS zu einer Fläche (als Ungleichung) bis und mit Schnittpunkt zu verbinden (so ungefähr).


Die Darstellung (Liste1) wird noch etwas hübscher, wenn man eine dunkle Farbe mit dem kleinst möglichen Transparent-Wert verwendet (also sehr transparent, fast durchsichtig)

be2af69ab345b98bfce482d5c5f32101


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


Wieso entstehen eigentlich manchmal aus a && b && c Funktionen mit zwei Variablen (x,y)? Scheint an der Reihenfolge zu liegen?


Ich nehme an Du beziehst Dich auf das Objekt a_all.

Die "Regel" könnte auch lauten: "dann, wenn man sich auf ein (bestehendes) Ungleichungs-Objekt bezieht" (wird x,y angefügt)

Für mich ebenfalls nicht verständlich in a_all ist das generierte "(x,y)" ganz am Schluss der Befehlszeile.

Kümmert mich aber nicht all zu sehr, solange es funktioniert.


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


Raymond

photo
1

Hallo Raymond,


ich beziehe mich auf die folgende Datei:

https://ggbm.at/564867


RS ist eine Liste mit den reflektierten Strahlen, wenn Lichtstrahlen parallel zur optischen Achse (Senkrechte auf d durch M) auf den (Hohl-)Spiegel in den Punkten Punkte fallen. Die Mehrfachreflektionen der Randstrahlen habe erst mal aufgeschoben.


Liste1 erstellt jeweils die Fläche zwischen dem 1. und letzten, 2. und vorletzten - usw. bis zur Mitte - reflektierten Strahl in a_all.

Diese Liste ist aber nicht die richtige Katakaustik: Ziehe den Bogen mal an S_2 auf bis auf 180° und Du wirst es sehen.


Liste2 erstellt jeweils die Fläche zwischen zwei benachbarten Strahlen und das ergibt m.E. für großes n die Katakaustik, allerdings gibt es hier keine Überlagerungen.


Liste3 erstellt jeweils die Fläche zwischen einem reflektierten Strahl und der optischen Achse; das ergibt so eine Art Schachbrettmuster.


Durch Überlagerung von 1 und 2 kann man sowas wie einen Verlauf erstellen.


Wenn Du test aktivierst, kannst Du den Punkt A auf d verschieben und die Reflektion verfolgen.


Zu den Ungleichungen:

Wenn man

    a_{kreis} ∧ (x(gM) x + y(gM) y + z(gM) ≥ 0)

eingibt wird daraus eine "Funktion in mehreren Variablen":

    a(x, y) = a_{kreis}(x, y) ∧ (x(gM) x + y(gM) y + z(gM) ≥ 0)

Offensichtlich muss man a_{kreis}(x, y) eingeben, damit daraus eine Ungleichung wird.


Man kann übrigens hiermit sehr schön zeigen, dass nur Strahlen nahe an der optischen Achse durch einen "Brennpunkt" reflektiert werden.

Im Gegensatz zur Parabel, wo das immer gilt.


Gerhard

photo
1

Hallo Gerhard,


Deine Datei ergänzt mit Liste4:


Sie basiert auf RS_m und RS_p. Das sind zwei, zu einem Strahl aus RS parallele Geraden. Die eine nach links (m=minus), die andere nach rechts (p=positiv) verschoben. Damit verlaufen die Geraden aus RS_m und RS_p ebenfalls parallel. Der Abstand zwischen den beiden ist durch die links und rechts liegenden Punkte aus der Liste "Punkte" gegeben (also indirekt von n abhängig).

Das ist sehr ähnlich zu Liste2 und zeigt (bei genügend grossem Feinheitsgrad) die Licht-Dichte relativ exakt an (vermute ich).

Auf meinem (recht antiquiertem PC) komme ich damit so langsam an die Performance-Grenze.


Raymond

https://ggbm.at/564873

photo
1

Hallo Raymond,


sieht ganz gut aus, nahe am Original:7259b0e62f10d09bb71aeb8277d923d9

Allerdings ist die Reaktion von GGB bei Änderungen äußerst träge, wenn man auf 200 lässt.

Vielleicht sollte man alles Überflüssige entfernen, dann hat GGB nicht mehr ganz soviel zu rechnen.


Gerhard

photo
1

P.S.: Simulation mit n = 500 :63e9228eedea39a5cc39e10c8b9b6e02

Gerhard

photo
1

P.P.S.:

Ich habe mal alles entfernt, was nicht nötig war und auch Folge[] durch Zip[] ersetzt. Das erhöht nicht nur die Lesbarkeit sondern ist auch noch einen Tick schneller Folge[].

Der Regler n geht von 1 bis 1000 in 100er Schritten.

https://ggbm.at/564877

An irgendwas erinnert mich das Bild ...


Gerhard

photo
1

So oder so: Sehr schön !

In dunkelblau wäre es weniger verfänglich.

Frohe Festtage mit dem Mann im Mond :wink: .


5314dee42f70a3ece15e3db276412a94


Raymond

© 2019 International GeoGebra Institute