LegalizeAdulthood / iterated-dynamics

Iterated Dynamics is an open source fractal generator with support for many fractal types.
https://legalizeadulthood.github.io/iterated-dynamics/
GNU General Public License v3.0
24 stars 9 forks source link

Parameter set 30,000-Feet renders incorrectly #103

Open LegalizeAdulthood opened 4 months ago

LegalizeAdulthood commented 4 months ago
30,000-Feet        { ; (c) Robert W. Carr, 1996
   reset type=formula formulafile=example2.frm formulaname=Carr2289
   corners=-0.6675049/0.6648699/-0.50270801/0.49657301
   params=100/150/200/250 float=y maxiter=300 periodicity=0
   colors=00000L012<12>AFSBGUAFS<14>0007Mw<4>e00<4>zz0<4>UFw00`<5>`oz<4>YFw\
   <2>sff0o`000<14>zo`<15>000000<14>KAc<15>0z`<14>Zky`jzaky<14>svc<15>WFx<1\
   5>zo`<15>0F0MMU<13>_mx`hz<30>CHS
}

frm:Carr2289 (YAXIS) { ; Modified Sylvie Gallet frm., 1996
                   ; Modified for if..else logic 3/17/97 by Sylvie Gallet
   ; 0 < real(p1) < imag(p1) < real(p2) < imag(p2) < maxiter, periodicity=0
   pixel = -abs(real(pixel)) + flip(imag(pixel))
   c = pixel + pixel - flip(0.001/pixel) - conj(0.01/pixel)
   z = zorig = pixel - conj(asin(pixel+pixel+0.32))
   d1 = flip(-0.0005935/pixel) , d4 = 4 * d1 , d5 = d1 + d4
   bailout = 4 , iter = 0 :
   if (iter == p1)
      z = c = 1.5 * zorig + d5
   elseif (iter == imag(p1))
      z = c = 2.25 * zorig + d5
   elseif (iter == p2)
      z = c = 3.375 * zorig + d5
   elseif (iter == imag(p2))
      z = c = 5.0625 * zorig + d5
   else
      z = z + d4 , c = c + d4
   endif
   z = z*z + c
   iter = iter + 1
   abs(z) <= bailout
}
LegalizeAdulthood commented 4 months ago

Fixing the asserts yields the wrong image.

Expected image: TEST0002

Actual image: fract001

PaulTheLionHeart commented 2 months ago

ManpWIN gives the correct image. So it is not a parser issue.