Um fractal é um padrão sem fim. Fractais são padrões infinitamente complexos que são semelhantes em diferentes escalas. Eles são criados pela repetição de um processo simples continuamente em um ciclo de feedback contínuo. Impulsionados pela recursão, os fractais são imagens de sistemas dinâmicos - as imagens do Caos.

Neste artigo, desenharemos uma árvore fractal Y colorida usando uma técnica recursiva em Python.

Exemplos:

Saída para nível de profundidade: (a) 14 (b) 12

Módulos necessários

turtle: a biblioteca turtle permite que os usuários desenhem imagens ou formas usando comandos, fornecendo a eles uma tela virtual. turtle vem com a biblioteca padrão do Python. Ele precisa de uma versão do Python com suporte Tk , pois usa tkinter para os gráficos.

Funções usadas:



  • fd (x) : desenha o cursor para frente em x pixels.
  • rt (x), lt (x) : gira a direção oposta do cursor em x graus para a direita e esquerda, respectivamente.
  • colormode() : para alterar o modo de cor para rgb.
  • pencolor (r, g, b) : para definir a cor do curral da tartaruga.
  • velocidade() : para definir a velocidade da tartaruga.

Abordagem :

  • Começamos desenhando uma única forma de 'Y' para a árvore base (nível 1). Então, os dois ramos do 'Y' servem como base para os outros dois 'Ys (nível 2).
  • Este processo é repetido recursivamente e o tamanho do Y diminui à medida que o nível aumenta.
  • A coloração da árvore é feita em nível sábio: da mais escura no nível de base até a mais clara na de cima.

Na implementação abaixo, desenharemos uma árvore de tamanho 80 e nível 7 .

from turtle import *
  
  
speed('fastest') 
rt(-90) 
angle = 30
def y(sz, level):    
  
    if level > 0: 
        colormode(255) 
        
      
      pencolor(0, 255//level, 0) 
        
        fd(sz) 
rt(angle) 
      y(0.8 * sz, level-1) 
        pencolor(0, 255//level, 0) 
        lt( 2 * angle ) 
      y(0.8 * sz, level-1) 
        pencolor(0, 255//level, 0) 
        rt(angle) 
        fd(-sz) 
           
y(80, 7) 

Resultado :