Julia fractal em Python
Introdução ao conjunto julia
No contexto da dinâmica complexa, um tópico da matemática, o conjunto Julia e o conjunto Fatou são dois conjuntos complementares (Julia 'laços' e Fatou 'poeiras') definidos a partir de uma função. Informalmente, o conjunto Fatou da função consiste em valores com a propriedade de que todos os valores próximos se comportam de maneira semelhante sob iteração repetida da função, e o conjunto Julia consiste em valores tais que uma perturbação arbitrariamente pequena pode causar mudanças drásticas na sequência da função iterada valores. Assim, o comportamento da função no conjunto Fatou é "regular", enquanto no conjunto Julia seu comportamento é "caótico".
O conjunto Julia de uma função f é comumente denotado J (f), e o conjunto Fatou é denotado F (f). Esses conjuntos foram nomeados em homenagem aos matemáticos franceses Gaston Julia e Pierre Fatou, cujo trabalho deu início ao estudo da dinâmica complexa durante o início do século XX. [Source Wiki ]
A equação para gerar o fractal Julia é:
onde c é um parâmetro complexo. O conjunto Julia para este sistema é o subconjunto do plano complexo dado por:
Então, agora vamos tentar criar um dos fractais da imagem acima.
Para fazer isso, precisamos do módulo Pillow do python, que torna mais fácil lidar com imagens e outras coisas.
Para instalar o pillow por meio de pip, digite o seguinte comando no prompt de comando.
pip instalar pillow
Agora, usando esta biblioteca para criar a imagem fractal.
from
PIL
import
Image
if
__name__
=
=
"__main__"
:
w, h, zoom
=
1920
,
1080
,
1
bitmap
=
Image.new(
"RGB"
, (w, h),
"white"
)
pix
=
bitmap.load()
cX, cY
=
-
0.7
,
0.27015
moveX, moveY
=
0.0
,
0.0
maxIter
=
255
for
x
in
range
(w):
for
y
in
range
(h):
zx
=
1.5
*
(x
-
w
/
2
)
/
(
0.5
*
zoom
*
w)
+
moveX
zy
=
1.0
*
(y
-
h
/
2
)
/
(
0.5
*
zoom
*
h)
+
moveY
i
=
maxIter
while
zx
*
zx
+
zy
*
zy <
4
and
i >
1
:
tmp
=
zx
*
zx
-
zy
*
zy
+
cX
zy,zx
=
2.0
*
zx
*
zy
+
cY, tmp
i
-
=
1
pix[x,y]
=
(i <<
21
)
+
(i <<
10
)
+
i
*
8
bitmap.show()
Resultado:
Consulte também este vídeo por numberphile para obter mais informações.
Depois de entender o código, tente desenhar os outros fractais alterando o valor das variáveis e poste seu link do github para o código na seção de comentários e ficarei feliz em ajudá-lo se houver algum erro.
Este artigo é uma contribuição de Subhajit Saha . Se você gosta de GeeksforGeeks e gostaria de contribuir, você também pode escrever um artigo usando contribute.geeksforgeeks.org ou enviar o seu artigo para contribute@geeksforgeeks.org. Veja o seu artigo que aparece na página principal do GeeksforGeeks e ajude outros Geeks.
Escreva comentários se encontrar algo incorreto ou se quiser compartilhar mais informações sobre o tópico discutido acima.
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva