Desenhe uma série de polígonos conectados como o mostrado acima.
No entanto, o que a figura acima não mostra é a espiral formada por vértices consecutivos:
A limitação disso é que há apenas 1 espiral marcada. Você deve marcar todas as espirais. Isso pode ser feito girando cada espiral mostrada acima, para que haja uma espiral iniciando em cada vértice do maior polígono.
As espirais devem ser de uma cor, enquanto o restante da imagem, outra.
O polígono mais interno deve ser inteiramente da cor da espiral.
Regras
- Você receberá os argumentos {n, s, p, a} em uma função ou programa
- n = iterações internas (número de polígonos)
- s = lados do polígono (regular) (você pode assumir que n> = 3)
- p = (a distância linear de um vértice do polígono A ao correspondente vértice "interno" no sentido anti-horário) / (o comprimento total do lado de A). Portanto, para o diagrama, p seria de cerca de 1/3, porque cada polígono interno encontra o lado do polígono maior a cerca de 1/3 do caminho através desse lado.
- a = raio (circunscrição) do polígono externo
O limite de qualquer um dos valores de n, s, p ou a é baseado no que pode ser percebido como esse tipo de desenho por um humano. (por exemplo, sem círculos sombreados), além do senso comum (s> = 3, n> = 1)
Feliz golfe! O programa mais curto vence.
fonte
p
linear em ângulo ou em distância entre dois vértices?s
espirais vermelhas no sentido anti-horário . No entanto, o que resta seriam espirais negrass
no sentido horário ! StretchManiac, esta é uma boa pergunta, mas realmente precisamos de uma imagem de exemplo para entender o que você quer dizer. Voto positivo e voto fechado.Respostas:
Mathematica,
218206 bytesEspera a entrada como uma matriz, conforme definido na pergunta, por exemplo
{20, 7, 0.5, 100}
:ou
{20, 5, 0.333, 100}
Essas imagens ainda usam vermelho e cinza de uma versão anterior, mas a nova versão usa preto para as espirais no sentido anti-horário e vermelho para o resto.
Eu incluí um eixo, porque, caso contrário, o
a
parâmetro não terá sentido em um gráfico vetorial. Também interpreteip
como uma interpolação linear na posição, não no ângulo.Ungolfed:
fonte