Conjunto de Mandelbrot
Este artigo apresenta apenas uma fonte. |
Em matemática, conjunto de Mandelbrot é um fractal definido como o conjunto de pontos c no plano complexo para o qual a sucessão (sequência, no Brasil) definida recursivamente:
não tende ao infinito.
Para cada ponto c do plano complexo, a sequência se expande como:
e assim por diante.
Se reescrevermos a sequência em termos das partes real e imaginária (coordenadas x e y do plano complexo), a cada iteração n, substituindo zn pelo ponto xn + yni e c pelo ponto a + bi, temos:
e
O conjunto de Mandelbrot, em sua representação gráfica, pode ser dividido em um conjunto infinito de figuras pretas, sendo a maior delas um cardióide localizado ao centro do plano complexo. Existe uma infinidade (contável) de quase-círculos (o maior deles é a única figura que, de fato, é um círculo exato e localiza-se à esquerda do cardióide) que tangenciam o cardióide e variam de tamanho com raio tendendo assintoticamente a zero.
Cada um desses círculos tem seu próprio conjunto infinito (contável) de pequenos círculos cujos raios também tendem assintoticamente a zero. Esse processo se repete infinitamente, gerando uma figura fractal que roda em varios graus de rotação anti horário e a figura se move como na sequência abaixo, dos destaques ampliados:
Quando se explora o Conjunto de Mandelbrot com mais resolução (fazendo «zoom») encontram-se sempre réplicas e mais réplicas do conjunto ad infinitum. É uma característica dos objectos fractais. Só a limitada precisão das computações possíveis faz com que, a partir de certa altura, isso deixe de acontecer.
História
[editar | editar código-fonte]O conjunto tem o nome de Benoit B. Mandelbrot, um matemático do IBM Thomas J. Watson Research Center. Ele é mais conhecido por cunhar o termo fractal para descrever fenômenos (como litorais, flocos de neve, montanhas e árvores) cujos padrões se repetem em escalas cada vez menores. Mandelbrot afirma que ele e ele sozinho descobriram o conjunto de Mandelbrot – que tem propriedades fractais – cerca de uma década atrás. Ele se refere à sua imagem como sua "assinatura". Em seu livro Les Objets Fractals: Forme, Hasard et Dimension, Mandelbrot usou o termo fractal para descrever um número de fenômenos matemáticos que pareciam exibir comportamento caótico ou surpreendente. Todos estes fenômenos envolviam a definição de alguma curva ou algum conjunto através do uso de algumas funções ou algoritmos recursivos. O conjunto de Mandelbrot é um desses fenômenos e leva o nome de seu descobridor.
Mandelbrot descreveu seus primeiros passos em direção ao set em 1979 como "diversão irracional". Ele começou a usar um computador para mapear conjuntos de Julia, que são gerados pela inserção de números complexos em funções iterativas. As propriedades peculiares dos conjuntos foram descritas já em 1906 pelo matemático francês Pierre Fatou. Eles foram nomeados mais tarde para Gaston Julia, que afirmou com sucesso que seu trabalho nos sets cerca de doze anos depois teve maior significado do que o de Fatou. Mandelbrot, que nasceu [em 1924] na Polônia, leu o trabalho de ambos e estudou com Julia na década de 1940.
As primeiras imagens de computador de Mandelbrot serviram para confirmar sua suspeita de que os conjuntos de Julia têm propriedades fractais. Ele diz que começou a produzir imagens reconhecíveis do conjunto de Mandelbrot, que em certo sentido é uma versão generalizada de todos os conjuntos de Julia, no final de 1979. Mandelbrot posteriormente exibiu imagens do conjunto e elaborou seu significado em discursos, artigos e livros. Essa descoberta e seu outro trabalho em fractais também foram celebrados na mídia, em vários livros e em anúncios da IBM.
As fotos e descrições de Mandelbrot estimularam outros matemáticos a estudar o conjunto. Dois exemplos proeminentes são John H. Hubbard da Universidade de Cornell e Adrien Douady da Universidade de Paris. No início da década de 1980 - ao provar que pequenas "ilhas" ao redor do corpo principal do conjunto estão ligadas a ele por filamentos infinitesimais - eles batizaram o conjunto em homenagem a Mandelbrot. Mandelbrot foi o primeiro a produzir fotos dele, usando um computador, e começar a dar uma descrição do conjunto.
Relação com os conjuntos de Julia
[editar | editar código-fonte]O conjunto de Mandelbrot foi criado por Benoît Mandelbrot como um índice ao conjunto de Julia: cada ponto no plano complexo corresponde a um conjunto de Julia diferente. Os pontos que pertencem ao conjunto de Mandelbrot correspondem precisamente aos conjuntos de Julia conexos, e os pontos fora do conjunto de Mandelbrot correspondem aos conjuntos de Julia desconexos.
Intuitivamente, os conjuntos de Julia mais "interessantes" correspondem aos pontos próximos à fronteira do conjunto de Mandelbrot; pontos mais internos ao conjunto de Mandelbrot correspondem a formas geométricas relativamente simples, enquanto os pontos mais externos lembram poeira rodeada por manchas de cores. Alguns programas, como o Fractint, permitem que o usuário escolha um ponto e veja o conjunto de Julia correspondente, tornando fácil a navegação. Um dos descansos de tela do pacote xscreensaver apresenta uma animação dos diversos conjuntos de Julia relativos a um ponto que fica dançando na tela.
O conjunto de Mandelbrot também "contém" estruturas muito semelhantes aos conjuntos de Julia; de fato, para qualquer valor c, a região do conjunto de Mandelbrot ao redor de c lembra o centro do conjunto de Julia com parâmetro c.
Ciclos Periódicos no conjunto de Mandelbrot
[editar | editar código-fonte]Dentro do conjunto de Mandelbrot, a iteração da sequência zn+1= zn²+c evolui de modo diferente para diferentes valores de c. Para valores de c no centro da grande cardióide, as iterações convergem para um ponto. Para valores de c dentro do grande bolbo à esquerda do cardióide, as iterações convergem para um ciclo de período 2. Para os outros bolbos, as iterações convergem para ciclos com diferentes períodos, de acordo com o número mostrado na figura seguinte.
Note que no bolbo que fica exatamente no meio entre o bolbo com n=2 e o bolbo com n=3, o período do ciclo é n=2+3=5; no bolbo entre o bolbo com n=2 e o bolbo com n=5, o período do ciclo é n=2+5=7; no bolbo entre o bolbo com n=2 e o bolbo com n=7, o período do ciclo é n=2+7=9. De fato, há nesse quadrante do cardióide tantos bolbos quanto a quantidade de números reais entre 2 e 3!
Se observarmos o movimento dos pontos num ciclo do bolbo com n=5, vemos que o ciclo salta sempre 2 componentes no sentido anti-horário em cada iteração. Podemos então designar esse ciclo pelo número racional 2/5 e dizer que o ciclo roda em torno de um ponto central numa rotação de 2/5 de revolução por cada iteração. E esse bolbo pode ser designado por «bolbo 2/5».
Usando esta designação, torna-se claro que os bolbos primários estão ordenados em ordem crescente em relação a este número de rotação: 1/7, 1/6, 1/5, 1/4, 2/7, 1/3, 3/8, 2/5, 3/7, 1/2. Para sabermos o número de rotação de um bolbo intermédio, basta somar os numeradores e os denominadores separadamente:
entre o bolbo 2/5 e o bolbo 1/2, há o bolbo 3/7. Existe também um outro bolbo 4/9 ainda menor entre o bolbo 1/2 e o bolbo 3/7.
Os bolbos estão ordenados exatamente como os números racionais pois há um bolbo p/q para cada número racional entre 0 e 1 e, além disso, estão ordenados corretamente à volta do bolbo principal no sentido anti-horário, começando em zero na cúspide. Na parte de baixo, os ciclos rodam no sentido horário.
Na figura à esquerda, representa-se sobre o conjunto de Mandelbrot a evolução da sequência zn+1= zn²+c a partir de diferentes valores de c.
(Note-se que, embora sejam interessantes do ponto de vista gráfico, estas representações das diferentes evoluções sobrepostas ao conjunto de Mandelbrot não são muito correctas conceptualmente visto estas ocorrerem no espaço de fase de um sistema dinâmico e não no espaço de parâmetros de polinômios quadráticos, como o conjunto de Mandelbrot.)
Desenhando o conjunto
[editar | editar código-fonte]Pode-se mostrar que uma vez que o valor absoluto de z n é maior que 2 (na forma cartesiana, quando xn² + yn² > 2²) a sequência tenderá ao infinito e, portanto, c não pertence ao conjunto de Mandelbrot. Este valor, conhecido como valor de fuga, permite o término dos cálculos para pontos que não pertencem ao conjunto de Mandelbrot. Para aqueles que pertencem ao conjunto, ou seja, valores de c para os quais zn não tende ao infinito, o cálculo nunca irá terminar. Portanto, o cálculo deve ser terminado após um certo número de iterações determinado pelo programa. Isso resulta numa imagem que é apenas uma representação aproximada do conjunto verdadeiro. Hobbistas aprendem rapidamente a reconhecer as imperfeições nas imagens geradas, onde pontos que não pertencem ao conjunto de Mandelbrot são incluídos na representação do conjunto devido ao número insuficiente de iterações executadas pelo algoritmo. Nestas situações, é possível reajustar o programa para que seja executado um número maior de iterações ao custo de tornar o processo mais lento devido ao aumento da quantidade de cálculos para os pontos que pertencem ao conjunto.
Infelizmente, o número de iterações necessárias para a representação perfeita do conjunto é infinito. Além disso, o conjunto ocupa uma região contínua do plano de Argand-Gauss que, portanto, é impossível de ser representada fielmente em uma imagem pixelizada (espaço discretizado).
Adicionando cor
[editar | editar código-fonte]Matematicamente falando, as imagens dos conjuntos de Mandelbrot e de Julia são em "branco e preto", no sentido de que um ponto está ou dentro ou fora do conjunto em questão. Entretanto, a maioria das imagens geradas por computador são desenhadas em cores. No método de renderização mais comum, para os pontos que divergem para o infinito e que, portanto, não fazem parte do conjunto, as cores refletem o número de iterações necessárias para atingirem uma certa distância da origem. Isso cria formas concêntricas, cada uma sendo uma melhor aproximação para o conjunto de Mandelbrot em relação à camada exterior.
Um esquema de cores possível é pintar de preto os pontos que divergem rapidamente, ter as cores mais claras ao centro da imagem e um gradiente de tons de cinza (ou de qualquer outra cor de preferência) sendo que os pontos mais próximos de branco são os que divergem mais vagarosamente.
Para determinar se o ponto Z0 pertence ao conjunto de Mandelbrot (tradicionalmente representado em preto) ou se está fora do conjunto (colorido de acordo com sua velocidade de escape), a distância de Zi deve ser calculada a cada iteração:
Se , então . Note que uma das muitas otimizações possíveis no cálculo de mandelbrots pode se aplicar aqui. Em vez de testar se , podemos simplesmente testar se evitando, desse modo, a operação de cálculo da raiz quadrada.
Otimização
[editar | editar código-fonte]Uma forma de melhorar o desempenho dos cálculos é achar de antemão se um dado ponto está dentro do cardióide. A equação polar do cardióide é
mas com o centro das coordenadas polares em (1/4,0) — a ponta do cardióide — em vez de estar na origem.
Dado um ponto (x,y), calcule o seguinte:
Se então o ponto (x,y) pertence ao conjunto de Mandelbrot (pinte-o de preto, por exemplo), e pode-se saltar os cálculos para este ponto.
Para outros pontos, é possível evitar uma grande quantidade de operações fazendo-se "testes de periodicidade" - verificar se um ponto alcançado numa iteração de um pixel já foi alcançado anteriormente. Se já, a seqüência não pode divergir, e o ponto deve pertencer ao conjunto.
Alguns detalhes do conjunto de Mandelbrot
[editar | editar código-fonte]feitos com base num applet de JAVA
-
lado=0.582; ponto-inferior-esquerdo=-0.4+0.5i
-
lado=0.0017815; ponto-inferior-esquerdo=-0.75+0.06i
-
lado=0.004402; ponto-inferior-esquerdo=0.28+0.0084i
-
lado=0.000191; ponto-inferior-esquerdo=-0.78-0.136i
-
lado=0.00004; ponto-inferior-esquerdo=-1.595+0.000095i
-
lado=0.0001558; ponto-inferior-esquerdo=-0.75+0.064i
-
lado=0.0000829; ponto-inferior-esquerdo=0.253-0.0031i
-
lado=0.0166; ponto-inferior-esquerdo=-1.042-0.0346i
Arte e o Conjunto de Mandelbrot
[editar | editar código-fonte]Algumas pessoas têm o hobby de buscar no conjunto de Mandelbrot figuras interessantes. Elas têm coleções de figuras, junto com as respectivas cordenadas utilizadas para gerá-las. Por exemplo, a imagem à direita é um close centrado nas coordenadas (0.282, -0.01). Abaixo há mais exemplos de belas regiões do conjunto de Mandelbrot:
Há muitos programas para geração de fractais disponíveis gratuitamente na internet assim como implementações livres. Há, por exemplo, aqueles feitos por Stephen Ferguson (Sterling Fractal e a série Tierazon). Muitas pessoas escrevem seus próprios programas de geração de fractais para que possam ter a maior mobilidade possível no processo de geração das imagens.
Outros Conjuntos de Mandelbrot
[editar | editar código-fonte]Quando as pessoas falam sobre o conjunto de Mandelbrot, elas frequentemente se referem ao conjunto descrito acima. Entretanto, qualquer função mapeada a partir de, ou para, o campo complexo possui um conjunto de Mandelbrot que indica, para cada ponto, se o conjunto de Julia correspondente àquela função é ou não conexo.
Exemplo:
Seja .
Para cada valor de c, desenhamos o conjunto de Julia de , e determinamos se ele é conexo ou não. Se for conexo, então c pertence ao conjunto de Mandelbrot de {}, senão, c não pertence ao conjunto.
Isto também pode ser generalizado para conjuntos de Julia parametrizados por mais de dois números reais. Por exemplo, uma família de conjuntos de Julia parametrizada por três números reais será associada a um conjunto de Mandelbrot tridimensional. Claramente, as figuras geradas nos casos bidimensionais são, em geral, mais facilmente visualizáveis.
O Conjunto de Mandelbrot e a música
[editar | editar código-fonte]A banda australiana GangGajang tem uma música Time (and the Mandelbrot set), ou Tempo (e o conjunto de Mandelbrot), onde o termo Mandelbrot set (Conjunto de Mandelbrot) é livremente usado.
O cantor americano Jonathan Coulton tem uma canção intitulada Mandelbrot Set, ou Conjunto de Mandelbrot, versando sobre a história do conjunto de Mandelbrot assim como a do próprio Benoît Mandelbrot.
Ver também
[editar | editar código-fonte]- Buddhabrot, uma representação gráfica alternativa para os conjuntos de Mandelbrot.
Referências
Ligações externas
[editar | editar código-fonte]- "Mandelbrot set - online generator" (em inglês)
- Conjuntos de Mandelbrot e Julia Página em português com applet de JAVA para explorar os conjuntos de Mandelbrot e Julia.
- Aplicação para explorar o conjunto de Mandelbrot
- Mu-Ency - Enciclopédia do conjunto de Mandelbrot
- Fractal Explorer
- Explore e Descubra
- Explorador do conjunto de Julia e Mandelbrot
- The Fractal Microscope provê uma interface Java para visualização do conjunto de Mandelbrot. Diferentemente de algumas outras interfaces disponíveis na internet, esta funciona em browsers para computadores Macintosh (testado nos seguintes browsers para Mac OS X: Safari, Mozilla, Camino, Internet Explorer).
- Conjunto de Mandelbrot detalhado, ver abaixo
- 3D Applet para explorar o conjunto de Mandelbrot
- Uma galeria de imagens de fractais e programas de geração de fractais.
- Realtime Mandelbrot Set Generator - Explorador Web do conjunto de Mandelbrot
- Circulação de cores no conjunto de Mandelbrot
- Iterações e o conjunto de Mandelbrot
- Conjuntos de Mandelbrot e Julia
- Xaos, um explorador fractal em código aberto para conjuntos de Mandelbrot/Julia e outres, com autopilot para facilitar na exploração
- Fract: software livre para explorar o conjunto de Mandelbrot na web
- A anatomia do conjunto de Mandelbrot e Julia
- Código em Python do Mandrelbrot
- (em português)Applets java que desenham os conjuntos de mandelbrot e seus respectivos códigos fonte
- Zoom em um fractal de Mandelbrot maior que o universo