Para separar os componentes de um número imaginário da forma 1/(a+bi), multipliquei por (a-bi)/(a-bi) para encontrar (a/(a2+b2))-(bi/(a2+b2)).
Em código, isso significa trocar a função mandel() por:
function mandel(x,y) {
var c=0;
var r=0;
var i=0;
var MAXITER=1000;
while(r*r+i*i<4 && c<MAXITER) {
var nr=r*r-i*i+x;
var ni=2*r*i+y;
r=nr/(nr*nr+ni*ni);
i=-ni/(nr*nr+ni*ni);
c+=1;
}
return c;
}
O resultado foi espetacular, como se pode ver na imagem abaixo (clique sobre ela para vê-la na resolução original).
A recursão nova é, na verdade, z=1/(z2+c), porque z=z-2+c não produz nada interessante.
Nenhum comentário:
Postar um comentário