位于drd.ufm中:
pseudobrot_generalized {
init:
z = #pixel
v = #pixel
c = #pixel
loop:
d = v^2/c^2
z = fn1(fn2(1-d))
v = #pixel
c = d^z
bailout:
|z| <= 4
default:
title = "pseudobrot_generalized"
method = multipass
maxiter = 100
func fn2
caption = "Primary function"
hint = "This is the first function applied"
default = sqrt()
endfunc
func fn1
caption = "Secondary function"
hint = "This is the second function applied"
default = sqr()
endfunc
init:
z = #pixel
v = #pixel
c = #pixel
loop:
d = v^2/c^2
z = fn1(fn2(1-d))
v = #pixel
c = d^z
改为
init:
z = #pixel
v = #pixel
c = #pixel
loop:
if |c|<10^-2 c=c else c=0.5v
d = v^2/c^2
z = fn1(fn2(1-d))
v = #pixel
c = d^z
红色部分可适当调整,主要是防止d的值太大而溢出。作者: 柳烟 时间: 2011-4-21 19:53
dmj-NovaIJulia {
;
; This is the Nova fractal (Julia form), a
; modified Newtonian-style fractal. The formula
; was first shown to me by Paul Derbyshire (who
; named it Nova). It has also appeared elsewhere
; under other names. If you leave the Julia
; seed at the default (0,0), you can use this as
; a general Newton-style fractal as in FractInt.
;
; This variant uses Kerry Mitchell's inverted
; computation so that it works with coloring
; methods expecting divergent z.
;
init:
complex zsquared = (0,0)
complex zcubed = (0,0)
complex zcurrent = #pixel
z = (0,0)
loop:
IF (@power == (3,0)); special optimized routine for power 3
zsquared = sqr(zcurrent)
zcubed = zsquared * zcurrent
z = @relax * (zcubed-1) / (3*zsquared) - @seed
zcurrent = zcurrent - z
z = 1/z
ELSE
z = @relax * (zcurrent^@power-1) / (@power * zcurrent^(@power-1)) - @seed
zcurrent = zcurrent - z
z = 1/z
ENDIF
IF (@fudge == true &&\
|z| > 4); fudging angle
z = z * zcurrent/cabs(zcurrent)
ENDIF
bailout:
|z| < @bailout
default:
title = "Nova-I (Julia)"
helpfile = "dmj-pub\dmj-pub-uf-ni.htm"
maxiter = 1000
periodicity = 0
center = (0,0)
magn = 1.5
param seed
caption = "Julia Seed"
default = (0,0)
hint = "This is the Julia seed, a constant parameter which \
defines the shape of the fractal."
endparam
param power
caption = "Exponent"
default = (3,0)
hint = "Overall exponent for the equation. (3,0) gives \
the classic NovaM type."
endparam
param bailout
caption = "Bailout"
default = 10000.0
hint = "Bailout value; larger values will cause more \
iterations to be done for each point."
endparam
param relax
caption = "Relaxation"
default = (1,0)
hint = "This can be used to slow down the convergence of \
the formula."
endparam
param fudge
caption = "Fudge z Angle"
default = false
hint = "Modifies angle of z based on starting point. \
Turning this on will make decomposition more \
consistent between iterations, regardless of \
the root converged on."
endparam
这个分形原来做过,与UF中的一比较,总有些差别。这个分形困扰到现在,没获圆满解决,今天我重作此分形,结果差别更加大了,从代码看,并不难解,但就是不成。这是代码:
Carr2382(YAXIS) {
; Updated for UF by Erik Reckase, March 2000
; Modified Sylvie Gallet frm.
init:
pixel2=-abs(real(pixel))+flip(imag(pixel))
c=(-.8006,-.1645)
z=pixel2^6-(atan(1/pixel2)-cabs(acos(2/pixel2)))^-6-.09
d1=flip(-.00060756/pixel2+flip(.0001/pixel2))
iter=0, nextzoom=iterspace=real(p1)
loop:
IF (iter==nextzoom)
z=0, c=p2*c + p3
nextzoom=nextzoom + iterspace
ENDIF
c=c + d1
z=z*z + c
iter=iter + 1
bailout:
|z| <= 16
default:
title="Carr 2382"
periodicity=0
maxiter=2000
magn=1.4
center=(0,0)
method=multipass
param p1
caption="Nextzoom"
default=128
hint="The number of iteration steps between value resets."
endparam
param p2
caption="C-Mult"
default=(1.2,.1)
hint="C is mutliplied by this value when the number of \
iterations equals nextzoom (p1)"
endparam
param p3
caption="C-Add"
default=(-.05,-.06)
hint="This value is added to C when the number of \
iterations equals nextzoom (p1)"
endparam
}作者: 柳烟 时间: 2011-4-28 21:51
手艺回潮了,这样的一个UF分形居然造不出来,位于是standard.ufm中
PhoenixMandel {
;
; Mandelbrot variant of the Phoenix fractal type discovered by
; Shigehiro Ushiki. The general equation is of the form
;
; z(n+1) = z(n)^a + c*z(n)^b + p*z(n-1)
;
; If a=2 and b=0 (classic Phoenix) then this type will
; work with the Smooth and Triangle Inequality coloring
; algorithms.
;
; Written by Damien M. Jones
;
init:
complex y = (0,0)
complex newz = (0,0)
IF (@start == (0,0)); bug in beta 5
z = #pixel
ELSE
z = @start
ENDIF
loop:
newz = z^@power1 + z^@power2 * #pixel + @induct * y
y = z
z = newz
param start
caption = "Start Value"
default = (0,0)
hint = "Starting value for each point. You can use this to \
'perturb' the fractal."
endparam
param power1
caption = "Exponent 1"
default = (2,0)
hint = "Defines the primary exponent for the fractal. The classic \
Phoenix curve uses exponent (2, 0)."
endparam
param power2
caption = "Exponent 2"
default = (0,0)
hint = "Defines the secondary exponent for the fractal. The classic \
Phoenix curve uses exponent (0, 0)."
endparam
param induct
caption = "Distortion"
default = (0.5,0)
hint = "Sets how 'strong' the previous iteration's effect should be \
on the fractal."
endparam
param bailout
caption = "Bailout"
default = 1.0e20
$IFDEF VER40
exponential = true
$ENDIF
hint = "This parameter defines how soon an orbit bails out while \
iterating. Larger values will give smoother outlines."
endparam