segunda-feira, 7 de novembro de 2016

Mandelbrot com expoentes complexos

Depois de explorar o mandelbrot com expoentes maiores de 2, com números reais, e com números negativos, eu tinha que verificar o que acontece com expoentes complexos.

O cálculo é um pouco mais complicado e também mais demorado.

var pr=2;
var pi=-0.009;    
    
function mandel(x,y) {
  var c=1;
  var r=x;
  var i=y;
  while(r*r+i*i<4 && c<MAXITER) {
    var a=Math.atan2(i,r);
    var b=r*r+i*i;
    var p=Math.pow(b,pr/2)*Math.pow(Math.E,-1*pi*a);
    var nr=p*Math.cos(pr*a+0.5*pi*Math.log(b));
    var ni=p*Math.sin(pr*a+0.5*pi*Math.log(b));
    r=nr+x;
    i=ni+y;
    c+=1;
  }
  return c;
}

O expoente tem uma parte real (pr) e uma parte imaginária (pi).

Valores grandes (maiores de 1) de pi distorcem muito a imagem, então usei valores pequenos. De longe, percebe-se que algo não está certo. A imagem abaixo foi gerada com expoente=2-0.009i.


De perto aparecem detalhes interessantes.


Com 2+0.1i, a distorção já é grave.


Eis algunas detalhes curiosos de 1/pi + i/e.




Clique nas imagens para vê-las no tamanho original.
E i/e merece um lugar num museu de arte moderna.





Nenhum comentário: