|
Hallo,
ich beschäftige mich zur Zeit mit Knoten-Theorie.
Insbesondere frage ich mich, wie ich die Anzahl der Selbstüberschneidungen in einem Lissajous-Diagramm analytisch oder numerisch berechnen kann.
Ich gehe so vor, dass ich zwei mal die selbe Lissajous- Kurve durchgehe und vergleiche anhand des Winkels zwischen den Kurvenfragmenten, ob sie sich schneiden.
Auf der Grafik seht Ihr, dass mein Algorithmus nicht 100%-ig funktioniert. D.h. es werden falsche Punkte markiert und manche richtige ignoriert :-(
Weiß jemand da etwas zu?
Gruß Maki
Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert): "Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen." |
|
ledum
12:28 Uhr, 15.10.2020
|
Hallo Maki 1.wie gibst du die Kurven vor? 2. dein Vorgehen verstehe ich nicht. eigentlich sind Knoten doch willst du nur die Kreuzungen so zeichnen, dass man das deutlich sieht, oder brauchst du wirklich die Kreuzungspunkte? In den Zeichenprogrammen für Objekte macht man das mit der Reihenfolge des Zeichnens und dazugehörigen Tricks. siehe Bild. Gruß ledum
|
|
Also,
ich programmiere zwei geschachtelte Schleifen, die durch die Kurve
bzw.
mit wandern.
Ich schau, ob die Punkte von und von in einem kleinen Abstand zueinander stehen.
Dann bestimme ich den Winkel zwischen den Differenzquotienten an bzw. . Wenn er groß ist, handelt es sich um einen Schnitt. Wenn er klein ist, dann befinden sich und auf dem gleichen Kurven-Fragment.
Zuletzt prüfe ich, ob der Schnittpunkt schon in einer Liste ist, damit er nicht mehrfach gezählt wird. Wenn er noch nicht in der Liste ist, wird er in die Liste aufgenommen und die Anzahl der Selbstschnitte um Eins erhöht.
Mir ist klar, dass das Vorgehen nicht unbedingt elegant ist.
Weiß jemand einen schöneren Ansatz?
|
ledum
16:39 Uhr, 15.10.2020
|
Hallo ich hatte meine Antwort ergänzt, bevor ich deine sah. Aber noch mal, Knoten sind doch eigentlich was in und keine Kurven? also etwa ganz · sin(2π · · · sin(2π · · aa · sin(2π · f· dann mit dem Zeichnen die Kreuzungspunkte auszeichnen, ohne sie zu berechnen.Oder warum willst du sie kennen? Gruß ledum
|
|
> Zuletzt prüfe ich, ob der Schnittpunkt schon in einer Liste ist, damit er nicht mehrfach gezählt wird.
Du meinst, die Kurve könnte erneut durch einen bereits vorhandenen Schnittpunkt steuern, d.h., dass es Punkte gibt durch die mindestens drei Kurvenstücke verlaufen? Ich denke, sowas kommt bei Lissajous innerhalb eine Periodenintervalls nicht vor.
Tatsächlich kann man unter Berücksichtigung von Periodizität und Symmetrie der Sinus- und Kosinusfunktion die Schnittpunkte zu gegebenen exakt ausrechnen und auf diese Weise dann auch zählen.
|
|
Nee, das mit der Liste ist anders gemeint. In der Tat glaube ich nicht, dass eine Lissajous-Kurve mehrfach durch denselben Punkt steuert.
Die Liste dient nur programmintern dazu, die einfachen Schnittpunkte zu verwalten.
@ledum
Ich suche tatsächlich die Kreuzungspunkte in 2d. Eine Anwendung dafür sehe ich nicht - reine Neugier.
@HAL9000
Wie funktioniert das?
Z.B. sind gesucht die Kreuzungspunkte von innerhalb einer Periode .
Die Intervallgrenze liegt bei wegen .
Wie kann ich die trigonomischen Eigenschaften (Symmetrie, Periodizität) benutzen, um die Schnittpunkte für und exakt auszurechnen?
|
|
Wir betrachten die Kurve für erstmal nur für positive teilerfremde (der Fall ist trivial: ein Kreis).
Schnittpunkt bedeutet, dass es Zeitpunkte gibt mit
, d.h. es existiert eine positive ganze Zahl mit oder .
, d.h. es existiert eine positive ganze Zahl mit oder .
Problematisch ist der Fall " gerade und ungerade": Im Gegensatz zu allen anderen Fällen wird hier für jeder Kurvenpunkt ZWEIMAL durchlaufen:
Für ist dort , und für entsprechend .
D.h., in diesem Fall sollte man sich zur Vermeidung von Mehrfachzählungen der Schnittpunkte auf , in allen anderen -Parameterfällen jedoch auf beschränken. (*)
Jetzt diskutiert man die für jeden Gitterpunkt die gemäß (x)(y) möglichen Kreuzkombinationen an linearen Gleichungssystemen für das Zeitpunktpaar . Uns interessieren aber lediglich die Gitterpunkte mit Lösungen , welche (*) erfüllen, alle anderen sind irrelevant für unser Zählproblem. Da man auch vernünftige obere Schranken für findet (abhängig von ) kann man ja auf diese Weise diese endlich vielen Gitterpunkte abklappern und die "gültigen" zählen.
Mit dieser Methode (Details später) habe ich die Schnittpunktanzahl
bekommen, die allerdings NICHT für den oben erwähnten Ausnahmefall " gerade und ungerade" gilt - dort muss man das ganze nochmal durchdenken und vor allem -rechnen...
Formel (**) ohne Gewähr - vielleicht kann das einer mal nachprüfen. Bei gefundenen Gegenbeispielen natürlich Asche auf mein Haupt. ;-)
EDIT: Ok, hab mich nun auch durch den Restfall " gerade und ungerade" gekämpft und dafür die noch sperrigere Formel
gefunden. Auch hier natürlich ohne Gewähr. Für bekommt man damit .
Die Schnittpunkte selbst kann man damit natürlich auch berechnen, da die dazu notwendigen Paare quasi nebenbei mit abfallen - aber ich hatte deinen Originalpost so verstanden, dass es dir in erster Linie nur auf deren ANZAHL ankommt.
Und möglicherweise lassen sich für die Formeln (**) und (***) auch viel, viel einfachere Darstellungen in den Argumenten finden - hab das einfach noch nicht gründlich untersucht. Mein Verdacht ist
bei (***) bin ich mir über eine Vereinfachung noch nicht im klaren, aber da müsste auch was drin sein.
|
|
Hallo,
ich muss ehrlich sagen, ich fühle mich ein wenig erschlagen von Deinen Formeln.
Und leider muss ich erwähnen, dass ich für eine Anzahl von Schnittpunkten erhalte, die mit keiner der beiden Summen übereinstimmt.
Für liefert deine Formel den korrekten Wert .
Aber für sollte herauskommen.
Hast Du Dir die Lissajous-Diagramme mal plotten lassen?
Im Anhang sind die Kurven zu und von bis zu sehen.
Auch mache ich mir wenig Hoffnung, was die Gültigkeit von angeht.
Ich hege den Verdacht, dass die Kurve zu identisch ist mit der zu .
Das vereinfacht schon einmal die Schnittpunkt-Funktion für bestimmte Werte von und .
|
|
> Auch mache ich mir wenig Hoffnung, was die Gültigkeit von angeht.
Ich bitte um die KONKRETE Nennung wenigstens EINES Paares von teilerfremden , wo ungerade ist und wo Formel (**) nicht gilt. Denn "wenig Hoffnung" ist für mich nur sinnleeres Blabla und kann ein echtes Gegenbeispiel nicht ersetzen.
> Aber für sollte herauskommen.
Auch hier: Nenne mir ein KONKRETES ungerades , so dass Formel (***) mit diesem sowie NICHT den Wert liefert. (Ich hab es mit probiert, und es kam stets der korrekte Wert heraus.)
> Ich hege den Verdacht, dass die Kurve zu identisch ist mit der zu . Das vereinfacht schon einmal die Schnittpunkt-Funktion für bestimmte Werte von und .
Na klar ist das so. Was denkst du, warum ich von vornherein nur teilerfremde betrachte? Weil das aus eben diesen Gründen völlig ausreichend ist. ;-)
Ich merke gerade eben, dass meine obiger Ausgangspunkt gar nicht nötig war - Teilerfremdheit reicht, d.h., die Formeln sollten auch für gelten.
P.S.: Du hast dir auch WIRKLICH gut durchgelesen, unter welchen Bedingungen an die Formeln (**) sowie (***) jeweils gültig sind? Und dass ich sowohl die Abrundungsfunktion als auch die Aufrundungsfunktion in den Formeln verwende?
EDIT: Ich hab mir inzwischen auch noch Gedanken um die Vereinfachung von (***) gemacht und komme zur generellen Schnittpunktanzahl
,
wie oben wird aber zusätzlich gefordert (aber nicht mehr ).
|
|
Hi,
tut mir leid, da war ich wohl etwas voreilig mit meinen Kritikpunkten.
Vor lauter Rundungsfunktionen habe ich in der zweiten Formel den Einsatz von der Abrundungsfunktion für eine Aufrundungsfunktion gehalten.
Auch stimmt Deine einfache Defintion von soweit ich das sehe.
Du hast mir noch Details versprochen, wie Du auf (**) gekommen bist.
Auch würde mich noch interessieren, wie Du auf kommst. Trial and Error oder symbolische Umformung? Was ich mir eigentlich nicht vorstellen kann wegen der Rundungsfunktionen.
> wie oben wird aber zusätzlich gefordert
Das heisst : die allgemeine Schnittpunkts-Funktion lautet : wobei und ?
|
|
Ja, es ist , damit ist deine Formel unten richtig.
Wie ich auf die ursprünglichen Summenformeln (**) und (***) gekommen bin, habe ich oben im wesentlichen schon skizziert:
Zunächst zum Fall " ungerade", also Formeln (**). Die Kombination hat die Lösung .
Die Bedingung ist nun genau für die Paare ganzer Zahlen erfüllt, für die sowie erfüllt ist. (**1)
Analog ergibt sich für die Kombination die Lösung .
Die Bedingung ist nun genau für die Paare ganzer Zahlen erfüllt, für die sowie gilt. (**2)
Die anderen beiden Kombinationen "" sowie " besitzen keine Lösungen, die der Bedingung genügen.
(**1) und (**2) zusammengezählt ergibt sich die Summendarstellung von (**).
Genau dieselbe Ochsentour durchläuft man beim Fall " gerade", nur dass man dort (wie oben erwähnt) nur betrachtet, weil man ja nicht (wie oben schon erläutert) Schnittpunkte mehrfach zählen will.
Die vereinfachten Darstellungen habe ich erstmal nur durch Sichtung des empirischen Zahlenmaterials auf Basis der Summendarstellungen von (**) und (***) erraten. Man kann die sicherlich auch auf Basis dieser Darstellungen nachweisen, dabei muss man vermutlich diese Gaußklammersummanden geschickt zusammenfassen, evtl. muss man dazu Terme verschiedener Indizes heranziehen.
|
|
So langsam verstehe ich Deine Herangehensweise. Dennoch habe ich noch so manche Unklarheiten :
Laut (**1) ist und
Laut (**2) ist und
Wie kommt es, dass die Zahlenpaare disjunkt sind?
Du benutzt in der zweiten Summenformel (***) statt . Warum?
|
|
> Wie kommt es, dass die Zahlenpaare disjunkt sind?
Nicht die müssen disjunkt sein, sondern die zugehörigen Schnittpunkte. Keiner der Schnittpunkte aus der ersten Gruppe (**1) stimmt aber mit irgendeinem der Schnittpunkte aus der zweiten Gruppe (**2) überein - schau dir das mal genau an!
> Du benutzt in der zweiten Summenformel (***) statt . Warum?
Das resultiert letztlich aus den Umformungen von in diesem Fall statt . Wenn es gewesen wäre, stände da auch .
Letztlich ist es vermutlich egal, weil dann doch nicht als Schnittpunkt in Frage kommt: Das repräsentiert nämlich eines dieser beiden "losen" Enden im Lissajous-Graphen, wie man sie oben bei dir in den Beispielen sehen kann. Dennoch habe ich es konsequenterweise erstmal so drin gelassen.
P.S. Dabei "zähle" ich folgendermaßen:
Für ist die Anzahl der ganzzahligen Werte mit gleich .
Für ist die Anzahl der ganzzahligen Werte mit hingegen gleich .
Wenn nicht ganzzahlig ist, müssen beide Formeln das gleiche Ergebnis liefern - was sie auch tun.
|
|
Ich schreibe vollständigkeitshalber noch einmal die vier linearen Schnittpunkt-Gleichungen auf :
Die Lösungen der Kombination von und lauten :
Die Lösungen der Kombination von und lauten :
Durch Gleichsetzung der Lösungen für bzw. erhalte ich die Gleichungen :
Die Kombination von und hat keine Lösung. (Eigentlich reicht auch schon - wenn ich mich nicht irre - aus, weil deren einzige potenzielle Lösung ist, und dort ist nicht definiert)
Die Schnittpunkte aus Gruppe eins und zwei sind disjunkt.
Warum Du statt verwendest, ist mir jetzt auch klar.
Im Nachhinein betrachtet ist das sogar recht einfach und logisch.
|
|
Sorry für's Nachhaken, aber stimmt das so?
|
|
Vielen Dank an HAL9000,
du hast mir gut geholfen.
Ich weiß zwar immer noch nicht, ob mein letzter Post korrekt ist, aber wenigstens habe ich das Konzept verstanden, wie man auf die Anzahl der Schnittpunkte kommt :-)
|
|
Ja, mir kam es eigentlich auch nur drauf an die Idee zu verdeutlichen, dass man die aus der Gleichheit der Kurvenpunkte erforderlichen Sinus- bzw. Kosinusgleichheiten direkt über die Periodizität bzw. Symmetrie der Sinus- und Kosinusfunktion auf das (im Detail dann mühsame) Betrachten/Zählen von Gitterpunkten zurückführen kann.
|