Partner von azubiworld.com - Logo
 
Mathematik online lernen im Mathe-Forum. Nachhilfe online
Startseite » Forum » Lissajous-Selbstüberschneidungen

Lissajous-Selbstüberschneidungen

Universität / Fachhochschule

Tags: Lissajous

 
Antworten Neue Frage stellen Im Forum suchen
Neue Frage
Maki76

Maki76 aktiv_icon

11:13 Uhr, 15.10.2020

Antworten
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


Lissajous

Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert):
"Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen."
Antwort
ledum

ledum aktiv_icon

12:28 Uhr, 15.10.2020

Antworten
Hallo Maki
1.wie gibst du die Kurven vor?
2. dein Vorgehen verstehe ich nicht.
eigentlich sind Knoten doch 3d, willst du nur die Kreuzungen so zeichnen, dass man das deutlich sieht, oder brauchst du wirklich die Kreuzungspunkte? In den Zeichenprogrammen für 3d Objekte macht man das mit der Reihenfolge des Zeichnens und dazugehörigen Tricks.
siehe Bild.
Gruß ledum

Bildschirmfoto 2020-10-15 um 16.10.38
Maki76

Maki76 aktiv_icon

16:05 Uhr, 15.10.2020

Antworten
Also,

ich programmiere zwei geschachtelte Schleifen, die durch die Kurve

K1:=(cos(2πpsg)sin(2πqsg)) (s[0,1]) bzw. K2:=(cos(2πptg)sin(2πqtg)) (t[s,1])

mit g=ggT(p,q) wandern.

Ich schau, ob die Punkte P1 von K1 und P2 von K2 in einem kleinen
Abstand zueinander stehen.

Dann bestimme ich den Winkel zwischen den Differenzquotienten an P1 bzw. P2.
Wenn er groß ist, handelt es sich um einen Schnitt. Wenn er klein ist, dann befinden
sich P1 und P2 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?
Antwort
ledum

ledum aktiv_icon

16:39 Uhr, 15.10.2020

Antworten
Hallo
ich hatte meine Antwort ergänzt, bevor ich deine sah.
Aber noch mal, Knoten sind doch eigentlich was in 3d und keine 2d Kurven?
also etwa d,e,f ganz
x(t):=a · sin(2π · d · t)
y(t):=b · sin(2π · e · t+g)
z(t):= aa · sin(2π · f· t+c)
dann mit dem Zeichnen die Kreuzungspunkte auszeichnen, ohne sie zu berechnen.Oder warum willst du sie kennen?
Gruß ledum

Antwort
HAL9000

HAL9000 aktiv_icon

16:44 Uhr, 15.10.2020

Antworten
> 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 p,q exakt ausrechnen und auf diese Weise dann auch zählen.
Maki76

Maki76 aktiv_icon

17:06 Uhr, 15.10.2020

Antworten
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 (cos(2π4t)sin(2π10t)) innerhalb einer Periode (t[0,12]).

Die Intervallgrenze liegt bei 12 wegen ggT(4,10)=2.

Wie kann ich die trigonomischen Eigenschaften (Symmetrie, Periodizität) benutzen,
um die Schnittpunkte für p=4 und q=10 exakt auszurechnen?
Antwort
HAL9000

HAL9000 aktiv_icon

12:21 Uhr, 16.10.2020

Antworten
Wir betrachten die Kurve g(t)=(cos(2πpt),sin(2πqt)) für t[0,1) erstmal nur für positive teilerfremde p<q (der Fall p=q=1 ist trivial: ein Kreis).

Schnittpunkt bedeutet, dass es Zeitpunkte t1<t2 gibt mit

(x):cos(2πpt1)=cos(2πpt2), d.h. es existiert eine positive ganze Zahl k mit pt2=pt1+k oder pt2=-pt1+k.

(y):sin(2πqt1)=sin(2πqt2), d.h. es existiert eine positive ganze Zahl l mit qt2=qt1+l oder qt2=-qt1+l-12.


Problematisch ist der Fall "p gerade und q ungerade": Im Gegensatz zu allen anderen Fällen wird hier für 0t<1 jeder Kurvenpunkt ZWEIMAL durchlaufen:

Für 0t14 ist dort g(12-t)=g(t), und für 12t34 entsprechend g(32-t)=g(t).

D.h., in diesem Fall sollte man sich zur Vermeidung von Mehrfachzählungen der Schnittpunkte auf 14t1<t234, in allen anderen (p,q)-Parameterfällen jedoch auf 0t1<t2<1 beschränken. (*)

Jetzt diskutiert man die für jeden Gitterpunkt (k,l) die gemäß (x)(y) möglichen 22=4 Kreuzkombinationen an linearen Gleichungssystemen für das Zeitpunktpaar (t1,t2). Uns interessieren aber lediglich die Gitterpunkte (k,l) mit Lösungen (t1,t2), welche (*) erfüllen, alle anderen sind irrelevant für unser Zählproblem. Da man auch vernünftige obere Schranken für k,l findet (abhängig von p,q) 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

N=l=1q-1(p(2q-l)q-plq)+k=1p-1(p(4q+1)-2kq2p-p+2kq2p)(**)

bekommen, die allerdings NICHT für den oben erwähnten Ausnahmefall "p gerade und q 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 "p gerade und q ungerade" gekämpft und dafür die noch sperrigere Formel

N=l=1q-12(p(3q-2l)2q-p(q+2l)2q+1)+k=1p2(p(3q+1)-2kq2p-p(q+1)+2kq2p+1)(***)

gefunden. Auch hier natürlich ohne Gewähr. Für p=2,q=5 bekommt man damit N=2.


Die Schnittpunkte selbst kann man damit natürlich auch berechnen, da die dazu notwendigen Paare (k,l) 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 p,q finden - hab das einfach noch nicht gründlich untersucht. Mein Verdacht ist

N=2pq-p-q(**)

bei (***) bin ich mir über eine Vereinfachung noch nicht im klaren, aber da müsste auch was drin sein.

Maki76

Maki76 aktiv_icon

13:20 Uhr, 17.10.2020

Antworten
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 p=2 eine Anzahl von Schnittpunkten erhalte,
die mit keiner der beiden Summen übereinstimmt.

Für p=1 liefert deine Formel den korrekten Wert q-1.

Aber für p=2 sollte N=q-12 herauskommen.

Hast Du Dir die Lissajous-Diagramme mal plotten lassen?

Im Anhang sind die Kurven zu p=2 und q von 1 bis 11 zu sehen.

Auch mache ich mir wenig Hoffnung, was die Gültigkeit von N=2pq-p-q angeht.

Ich hege den Verdacht, dass die Kurve zu p,q identisch ist mit
der zu pggT(p,q),qggT(p,q).

Das vereinfacht schon einmal die Schnittpunkt-Funktion für bestimmte
Werte von p und q.

Lissajous-p_gleich_2
Antwort
HAL9000

HAL9000 aktiv_icon

14:34 Uhr, 17.10.2020

Antworten
> Auch mache ich mir wenig Hoffnung, was die Gültigkeit von N=2pq-p-q angeht.

Ich bitte um die KONKRETE Nennung wenigstens EINES Paares (p,q) von teilerfremden p,q, wo p 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 p=2 sollte N=q-12 herauskommen.

Auch hier: Nenne mir ein KONKRETES ungerades q, so dass Formel (***) mit diesem q sowie p=2 NICHT den Wert q-12 liefert. (Ich hab es mit q=1,3,5,,997,999 probiert, und es kam stets der korrekte Wert heraus.)

> Ich hege den Verdacht, dass die Kurve zu p,q identisch ist mit der zu pggT(p,q),qggT(p,q). Das vereinfacht schon einmal die Schnittpunkt-Funktion für bestimmte Werte von p und q.

Na klar ist das so. Was denkst du, warum ich von vornherein nur teilerfremde p,q betrachte? Weil das aus eben diesen Gründen völlig ausreichend ist. ;-)


Ich merke gerade eben, dass meine obiger Ausgangspunkt p<q gar nicht nötig war - Teilerfremdheit reicht, d.h., die Formeln sollten auch für p>q gelten.



P.S.: Du hast dir auch WIRKLICH gut durchgelesen, unter welchen Bedingungen an p,q 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

N(p,q)={2pq-p-q falls p ungerade12(p-1)(q-1) falls p gerade,

wie oben wird aber zusätzlich ggT(p,q)=1 gefordert (aber nicht mehr p<q).
Maki76

Maki76 aktiv_icon

17:20 Uhr, 17.10.2020

Antworten
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 N(p,q) soweit ich das sehe.

Du hast mir noch Details versprochen, wie Du auf (**) gekommen bist.

Auch würde mich noch interessieren, wie Du auf N(p,q)={2pq-p-qfalls p ungerade12(p-1)(q-1)falls p gerade
kommst. Trial and Error oder symbolische Umformung? Was ich mir eigentlich
nicht vorstellen kann wegen der Rundungsfunktionen.

> wie oben wird aber zusätzlich ggT(p,q)=1 gefordert

Das heisst : die allgemeine Schnittpunkts-Funktion lautet :
N(p,q)={2pʹqʹ-pʹ-qʹfalls p' ungerade12(pʹ-1)(qʹ-1)falls p' gerade wobei pʹ=pggT(p,q) und qʹ=qggT(p,q)?
Antwort
HAL9000

HAL9000 aktiv_icon

09:10 Uhr, 19.10.2020

Antworten
Ja, es ist N(p,q)=N(pggT(p,q),qggT(p,q)), 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 "p ungerade", also Formeln (**). Die Kombination pt2=-pt1+k,qt2=qt1+l hat die Lösung t1=qk-pl2pq,t2=qk+pl2pq.

Die Bedingung 0t1<t2<1 ist nun genau für die Paare (k,l) ganzer Zahlen erfüllt, für die 1lq-1 sowie plqk<p(2q-l)q erfüllt ist. (**1)

Analog ergibt sich für die Kombination pt2=pt1+k,qt2=-qt1+l-12 die Lösung t1=p(2l-1)-2qk4pq,t2=p(2l-1)+2qk4pq.

Die Bedingung 0t1<t2<1 ist nun genau für die Paare (k,l) ganzer Zahlen erfüllt, für die 1kp-1 sowie p+2kq2pl<p(4q+1)-2kq2p gilt. (**2)

Die anderen beiden Kombinationen "pt2=pt1+k,qt2=qt1+l" sowie pt2=-pt1+k,qt2=-qt1+l-12" besitzen keine Lösungen, die der Bedingung 0t1<t2<1 genügen.

(**1) und (**2) zusammengezählt ergibt sich die Summendarstellung von (**).


Genau dieselbe Ochsentour durchläuft man beim Fall "p gerade", nur dass man dort (wie oben erwähnt) nur 14t1<t234 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.

Maki76

Maki76 aktiv_icon

09:38 Uhr, 20.10.2020

Antworten
So langsam verstehe ich Deine Herangehensweise.
Dennoch habe ich noch so manche Unklarheiten :

Laut (**1) ist 1lq-1 und plqk<p(2q-l)q

Laut (**2) ist 1kp-1 und p+2kq2pl<p(4q+1)-2kq2p

Wie kommt es, dass die Zahlenpaare (k,l) disjunkt sind?

Du benutzt in der zweiten Summenformel (***) +1 statt . Warum?
Antwort
HAL9000

HAL9000 aktiv_icon

10:25 Uhr, 20.10.2020

Antworten
> Wie kommt es, dass die Zahlenpaare (k,l) disjunkt sind?

Nicht die (k,l) 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 (***) +1 statt . Warum?

Das resultiert letztlich aus den Umformungen von 34 in diesem Fall statt <1. Wenn es <34 gewesen wäre, stände da auch .

Letztlich ist es vermutlich egal, weil t=34 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 q=1,3,5, sehen kann. Dennoch habe ich es konsequenterweise erstmal so drin gelassen.


P.S. Dabei "zähle" ich folgendermaßen:

Für u<v ist die Anzahl der ganzzahligen Werte k mit uk<v gleich v-u.

Für u<v ist die Anzahl der ganzzahligen Werte k mit ukv hingegen gleich v+1-u.

Wenn v nicht ganzzahlig ist, müssen beide Formeln das gleiche Ergebnis liefern - was sie auch tun.

Maki76

Maki76 aktiv_icon

18:25 Uhr, 20.10.2020

Antworten
Ich schreibe vollständigkeitshalber noch einmal die vier linearen Schnittpunkt-Gleichungen auf :

G1:=pt2=pt1+k
G2:=pt2=-pt1+k
G3:=qt2=qt1+l
G4:=qt2=-qt1+l-12

Die Lösungen der Kombination von G2 und G3 lauten : t1=qk-pl2pq,t2=qk+pl2pq

Die Lösungen der Kombination von G1 und G4 lauten : t1=p(2l-1)-2qk4pq,t2=p(2l-1)+2qk4pq

Durch Gleichsetzung der Lösungen für t1 bzw. t2 erhalte ich die Gleichungen :

G5:=qk-pl2pq=p(2l-1)-2qk4pq
G6:=qk+pl2pq=p(2l-1)+2qk4pq

Die Kombination von G5 und G6 hat keine Lösung.
(Eigentlich reicht auch schon - wenn ich mich nicht irre - G6 aus,
weil deren einzige potenzielle Lösung p=0 ist, und dort ist G6 nicht definiert)

Die Schnittpunkte aus Gruppe eins und zwei sind disjunkt.

Warum Du +1 statt verwendest, ist mir jetzt auch klar.

Im Nachhinein betrachtet ist das sogar recht einfach und logisch.

Maki76

Maki76 aktiv_icon

20:44 Uhr, 21.10.2020

Antworten
Sorry für's Nachhaken, aber stimmt das so?

Diese Frage wurde automatisch geschlossen, da der Fragesteller kein Interesse mehr an der Frage gezeigt hat.