Sobre
Árvore Fractal
Uma árvore fractal é uma estrutura recursiva onde cada ramo se divide em ramos menores, criando um padrão auto-similar que se assemelha a árvores naturais.
Algoritmo Principal
O algoritmo usa recursão para desenhar a árvore:
- Desenha um tronco (curva de Bézier)
- Se o comprimento é maior que um limite mínimo:
- Cria dois novos ramos
- Cada ramo tem 75% do comprimento do ramo pai
- Cada ramo é rotacionado por um ângulo aleatório (±30°)
- Recursivamente desenha os novos ramos
- Se o comprimento é menor que o limite, desenha uma folha (círculo)
Equações Implementadas
No código:
// Desenho do ramo usando curva de Bézier
bezierCurveTo(5, -length, 15, -length/2, 0, -length)
// Condição de parada
if (length < random() * 9) {
// Desenha folha
return;
}
// Criação de novos ramos
newTree = new Tree(0, -length, length * 0.75, angle + random() * 30, width)
newTree.draw()
newTree = new Tree(0, -length, length * 0.75, angle - random() * 30, width)
newTree.draw()
Complexidade de Compreensão
Nível: Intermediário
- Conceitos necessários: Recursão, transformações geométricas, curvas de Bézier
- Matemática: Geometria 2D, trigonometria, recursão matemática
- Programação: Recursão, transformações de coordenadas, gráficos vetoriais
Referências e Recursos para Estudo
Artigos e Documentação
- Wikipedia - Fractal Tree - Visão geral
- MathWorld - Fractal - Definição matemática
- Fractal Foundation - Trees - Introdução
Tutoriais e Código
- The Coding Train - Fractal Trees - Tutorial passo a passo
- Processing Examples - Trees - Exemplos práticos
- Paul Bourke - Fractals - Recursos
Aprofundamento Matemático
- The Algorithmic Beauty of Plants - Livro sobre estruturas biológicas
- Fractal Geometry - Falconer - Geometria fractal
Visualizações Interativas
- Fractal Tree Generator - Gerador interativo
- Fractal Explorer - Explorador de fractais
Arquivo do processo
Todas as gerações — incluindo as ruins — fazem parte do processo.
1quadros