Carr2130 {
; Updated for UF2 by Erik Reckase, March 2000
; Modified Sylvie Gallet frm. [101324,3444],1996
init:
d=.3/pixel
z=c=1/(tan(pixel)*pixel) \
/(pixel-sqr(flip(1/pixel)-sqr(conj(1/pixel))))
[柳烟注:这个分形,大家解读代码应该问题不大了,这句中的\是连结符,是紧接着前一行后面写。注意与除号/的区别。z=c=1/(tan(pixel)*pixel) \
/(pixel-sqr(flip(1/pixel)-sqr(conj(1/pixel))))
意思就是z=c=1/(tan(pixel)*pixel) /(pixel-sqr(flip(1/pixel)-sqr(conj(1/pixel))))等价于]
z1=1.5*z+d, z2=2.25*z+d, z3=3.375*z+d, z4=11.0625*z+d
l1=round(real(p1)), l2=round(imag(p1))
l3=round(real(p2)), l4=round(imag(p2))
float bailout=16, int iter=0
loop:
IF (iter==l1)
z=c=z1
ELSEIF (iter==l2)
z=c=z2
ELSEIF (iter==l3)
z=c=z3
ELSEIF (iter==l4)
z=c=z4
ENDIF
z=z*z+c
iter=iter+1
bailout:
|real(z)| <= bailout
default:
title = "Carr 2130"
periodicity = 0
maxiter = 500
magn = .3
center = (0,0)
method = multipass
param p1
caption = "Iter Limits 1,2"
default = (100,150)
hint = "0< Re(P1) < Im(P1) < Re(P2) < Im(P2) <maxiter \
for best results"
endparam
param p2
caption = "Iter Limits 3,4"
default = (200,250)
hint = "0< Re(P1) < Im(P1) < Re(P2) < Im(P2) <maxiter \
for best results"
endparam
} |