Eu tenho uma fraqueza pelas redes 3D que, quando cortadas e dobradas, permitem que você faça formas 3D de papel ou cartão. A tarefa é simples, escreva o programa mais curto possível, que desenha redes para os 13 sólidos arquimedianos. A saída deve ser um arquivo de imagem em qualquer formato adequado (png, jpg).
Todas as treze formas são descritas em http://en.wikipedia.org/wiki/Archimedean_solid e na tabela a seguir, extraída de lá.
Entrada: Um número inteiro de 1 a 13. Suponha que as formas sejam numeradas exatamente como na tabela acima, para que o "tetraedro truncado" seja o número 1 e o "dodecaedro desprezível" seja o número 13.
Saída: um arquivo de imagem que contém a rede para essa forma. Apenas o contorno, incluindo as linhas internas, está OK. Não há necessidade de preenchê-lo com cores
Você pode usar qualquer linguagem de programação que desejar, bem como qualquer biblioteca que não tenha sido criada especialmente para esta competição. Ambos devem estar disponíveis gratuitamente no entanto (nos dois sentidos) online.
Aceitarei a resposta com o menor número de caracteres dentro de exatamente uma semana. As respostas serão aceitas sempre que vierem.
(Não) Vencedor ainda. Infelizmente, nenhum participante válido. Talvez seja muito difícil?
Respostas:
Java, 1552
Ungolfed:
Resultados (aparados, negados, unidos e redimensionados):
As formas são bastante incomuns :), mas corretas, tanto quanto eu posso dizer (deixe-me saber se você encontrar algum erro). Eles foram gerados (em um programa separado) através da construção do gráfico de faces e ciclos de corte em um DFS.
Tenho certeza de que isso pode ser jogado muito mais usando, por exemplo, python e tartaruga.
Edit: oops, o último caso foi um pouco interceptado. Corrigi o código (à mão), aqui está a imagem atualizada:
fonte
Mathematica
Fora da competição, não é um idioma livre
Uso:
fonte