- É passado o estado inicial, por exemplo uma string "F" que chamaremos de string_inicial.
- Logo depois são criadas regras, por exemplo, substituir onde há "F" na string_inicial por "F+F-F-F+F".
- Fazemos o processo de substituição por N vezes. Perceba que quanto maior N mais complexo vai ser nossa string.
- Depois de gerar a string final após as N substituições, essa string vai ser interpretada caracter por caracter e gerará uma imagem. O processo mais comum é que "F" seja uma linha reta, "+" seja somar um anglo determinado ao ângulo da última reta para a próxima reta - Por exemplo, a última reta era horizontal (90°) e o ângulo determinado pra esse sistema é 30°, a próxima reta terá um anglo de 120° - e "-" subtrai o ângulo determinado do ângulo da reta anterior.
Segue alguns exemplos:
![]() |
Triângulo de Sierpinski:
|
![]() |
Variante da Curva de Koch:
|
Planta Fractal:
Obs.:As cores das linhas veriam de acordo com o ângulo que elas formam com a base da figura. As duas primeira imagens tem o mesmo início e a mesma regra, o que muda é somente o ângulo, gerando uma imagem bem diferente. A complexidade dos sistemas é quantas substituições consecutivas elas geram. Um exemplo de como o tamanho do sistema cresce de forma exponencial em relação a complexidade está aqui:
Para quem estiver interessado, segue o script em python: script L-System(Necessita da biblioteca PyGame). No próximo post (provavelmente no sábado), postarei novidades usando o L-System. |