Gerando fractais com aleatoriedade e python
Bom noite, companheiros! Como estão todos?
Em algum momento, rolando o feed do Facebook (sim, sou um dos únicos 5 usuários ativos), encontrei um vídeo ensinando a criar fractais somente fixando algums pontos e um dado. Nunca mais achei esse vídeo para que pudesse compartilhar. Em contraste a isso, esse algoritmo não saiu da minha mente até que eu o realizasse. Hoje, finalmente, finalizei-o e gostaria de compartilhar com vocês.
O algoritmo
Defina uma lista L de pivôs na tela;
Defina uma variável p que armazenará o último pivô sorteado;
Defina uma variável x que armazenará o último ponto desenhado;
Defina uma variável k que armazenará um fator;
Caso L esteja vazio, não faça nada;
Caso p seja Null, p = L[0];
Caso x seja Null, x = [p.x, p.y];
Selecione aleatoriamente um elemento do L diferente de p e armazene em c;
Calcule dx = k * (c.x - p[0]); Calcule dy = k * (c.x - p[0]);
Faça x = [p.x + dx, p.y + dy]; Faça p = c;
Desenhe x;
Execute tudo novamente;
Os resultados
Bem, aqui estão alguns resultados:
- Com um triângulo: triângulo
- Com um quadrado: quadrado
- Com um pentagono: pentagono
- Com um hexagono: hexagono
A pergunta
Que tal testar na sua máquina e compartilhar fractais com a comunidade? Deixei o link do respositório na Fonte