Les entrées pour ce défi afficheront une figure animée Lissajous en rotation . L'apparition d'une rotation 3D se produit lorsque le paramètre x est successivement déphasé dans chaque image.
Contribution:
Les paramètres a
et b
(selon l' article de wikipedia ) seront spécifiés sur la ligne de commande, ou lus depuis stdin.
Production:
C'est ascii-art , donc la sortie sera affichée dans une fenêtre d'émulateur de terminal ou équivalent. La taille de sortie peut être codée en dur, mais le chiffre Lissajous doit être au moins assez grand pour remplir une fenêtre de 80x24.
La fréquence d'images d'animation sera d'environ 50 images par seconde. Dormir pendant 20 ms entre chaque image est bien, tant que le temps de calcul de chaque image est petit par rapport au temps de sommeil fixe. Si votre choix de langue ne peut pas calculer assez rapidement sur la plate-forme que vous avez choisie, vous devrez calculer le temps de sommeil de manière dynamique.
Chaque cadre ne sera affiché que lorsque tous les calculs pour ce cadre seront terminés. Il n'est pas nécessaire d'effacer l'écran entre chaque image.
La figurine effectuera une 2*Pi
rotation complète toutes les 4 secondes environ.
Pour chaque image, une courbe fermée complète doit être générée. Au moins 1 000 points doivent être calculés le long de la courbe. Le dessin au trait entre les points n'est pas nécessaire.
Les points de la courbe seront tracés sous forme de #
caractères. Le reste de la zone d'affichage sera vide / blanc.
Il s'agit de code-golf , donc la réponse la plus courte en octets (jugée acceptable par moi) sera le gagnant accepté une semaine après cette publication.
Réponse de référence non golfée .