A forma N-Dimensional mais simples que se pode criar para qualquer dimensão é um Simplex , e esse é um conjunto de pontos N + 1, todos à mesma distância um do outro.
Para 2 dimensões, este é um triângulo equilátero, para 3 dimensões, um tetraedro regular, em 4 dimensões é a 5-célula e assim por diante.
O desafio
Dada uma dimensão Inteira N como entrada, produza pontos Array / List / Stack / Whatever de N Dimensional que representam um Simplex desta dimensão. Ou seja, N + 1 vértices com distância igual e diferente de zero um do outro.
Implementação de referência em Lua
Exemplos
1 -> [[0], [1]]
2 -> [[0, 0], [1, 0], [0.5, 0.866...]]
4 -> [[0, 0, 0, 0], [1, 0, 0, 0], [0.5, 0.866..., 0, 0], [0.5, 0.288..., 0.816..., 0], [0.5, 0.288..., 0.204..., 0.790...]]
Notas
- A entrada é um número em qualquer formato padrão e sempre será um número inteiro maior que 1 e menor que 10
- A codificação é permitida para a entrada de 1, mas nada maior.
- Erro razoável é permitido na saída. Problemas com aritmética ou ponto trigonométrico de ponto flutuante podem ser ignorados.
- Qualquer transformação do simplex dimensional N é permitida, desde que permaneça Regular e Diferente de zero.
- As brechas padrão são proibidas.
- Isso é código-golfe , e o menor número de bytes vence.