As inscrições para este desafio exibirão uma figura Lissajous rotativa e animada . A aparência da rotação 3d ocorre quando o parâmetro x é sucessivamente mudado de fase em cada quadro.
Entrada:
Os parâmetros a
e b
(conforme o artigo da wikipedia ) serão especificados na linha de comando ou lidos a partir de stdin.
Resultado:
Isso é arte ASCII , portanto, a saída será exibida em uma janela do emulador de terminal ou equivalente. O tamanho da saída pode ser codificado, mas a figura de Lissajous deve ser pelo menos grande o suficiente para preencher uma janela de 80x24.
A taxa de quadros da animação será de aproximadamente 50 qps. Dormir por 20 ms entre cada quadro é bom, desde que o tempo para calcular cada quadro seja pequeno em comparação com o tempo fixo de sono. Se a sua escolha de idioma não puder ser calculada com rapidez suficiente na plataforma escolhida, você precisará calcular o tempo para dormir dinamicamente.
Cada quadro não será exibido até que todo o cálculo desse quadro esteja completo. Não há necessidade de limpar a tela entre cada quadro.
A figura fará uma 2*Pi
rotação completa aproximadamente a cada 4 segundos.
Para cada quadro, uma curva fechada completa deve ser gerada. Pelo menos 1000 pontos devem ser calculados ao longo da curva. Não é necessário desenhar linhas entre os pontos.
Os pontos da curva serão plotados como #
caracteres. O restante da área de exibição ficará em branco / em branco.
Isso é código-golfe , então a resposta mais curta em bytes (considerada aceitável por mim) será o vencedor aceito uma semana após esta postagem.
Resposta de referência não destruída .