Einträge für diese Herausforderung zeigen eine animierte rotierende Lissajous-Figur . Das Auftreten einer 3D-Drehung tritt auf, wenn der x-Parameter in jedem Frame nacheinander phasenverschoben wird.
Eingang:
Die a
und b
-Parameter (gemäß dem Wikipedia-Artikel ) werden in der Befehlszeile angegeben oder von stdin gelesen.
Ausgabe:
Dies ist keine Selbstverständlichkeit , daher wird die Ausgabe in einem Terminal-Emulator-Fenster oder einem ähnlichen Fenster angezeigt. Die Ausgabegröße kann hartcodiert sein, aber die Lissajous-Zahl muss mindestens groß genug sein, um ein 80 x 24-Fenster auszufüllen.
Die Framerate der Animation beträgt ca. 50 fps. Das Einschlafen für 20 ms zwischen den einzelnen Bildern ist in Ordnung, solange die Zeit zur Berechnung der einzelnen Bilder im Vergleich zur festgelegten Einschlafzeit gering ist. Wenn Ihre Sprachauswahl auf der von Ihnen gewählten Plattform nicht schnell genug berechnet werden kann, müssen Sie die Zeit bis zum Einschlafen dynamisch berechnen.
Jeder Frame wird erst angezeigt, wenn alle Berechnungen für diesen Frame abgeschlossen sind. Zwischen den einzelnen Bildern muss kein Bildschirm gelöscht werden.
Die Figur macht 2*Pi
ungefähr alle 4 Sekunden eine volle Umdrehung.
Für jeden Frame muss eine vollständig geschlossene Kurve generiert werden. Entlang der Kurve müssen mindestens 1000 Punkte berechnet werden. Ein Strichzeichnen zwischen Punkten ist nicht erforderlich.
Punkte der Kurve werden als #
Zeichen gezeichnet . Der Rest des Anzeigebereichs ist leer / Leerzeichen.
Dies ist Code-Golf , daher wird die kürzeste Antwort in Bytes (von mir als akzeptabel erachtet) eine Woche nach dieser Veröffentlichung als Gewinner akzeptiert.
Ungolfed Referenzantwort .