Las entradas para este desafío mostrarán una figura animada giratoria de Lissajous . La aparición de la rotación 3D se produce cuando el parámetro x se cambia sucesivamente de fase en cada cuadro.
Entrada:
Los parámetros a
y b
(según el artículo de wikipedia ) se especificarán en la línea de comando o se leerán desde stdin.
Salida:
Esto es ascii-art , por lo que la salida se mostrará en una ventana de emulador de terminal o equivalente. El tamaño de salida puede estar codificado, pero la figura de Lissajous debe ser al menos lo suficientemente grande como para llenar una ventana de 80x24.
La velocidad de fotogramas de la animación será de aproximadamente 50 fps. Dormir durante 20 ms entre cada cuadro está bien, siempre y cuando el tiempo para calcular cada cuadro sea pequeño en comparación con el tiempo de sueño fijo. Si su elección de idioma no puede calcular lo suficientemente rápido en la plataforma elegida, entonces tendrá que calcular el tiempo para dormir dinámicamente.
Cada cuadro no se mostrará hasta que se complete todo el cálculo para ese cuadro. No hay necesidad de borrar la pantalla entre cada cuadro.
La figura hará una 2*Pi
rotación completa aproximadamente cada 4 segundos.
Para cada cuadro, se debe generar una curva cerrada completa. Se deben calcular al menos 1000 puntos a lo largo de la curva. No es necesario dibujar líneas entre puntos.
Los puntos de la curva se trazarán como #
caracteres. El resto del área de visualización estará en blanco / espacio en blanco.
Este es el código de golf , por lo que la respuesta más corta en bytes (considerada aceptable por mí) será el ganador aceptado una semana después de esta publicación.
Respuesta de referencia sin golf .