dmj-PhoenixJulia {
;
; This type implements the Phoenix types discovered by
; Shigehiro Ushiki. It is somewhat generalized over
; the FractInt implementation. The general equation is
; of the form
;
; z(n+1) = z(n)^a + c*z(n)^b + p*z(n-1)
;
; In FractInt, choices for b are restricted to a-1 and
; a-2. This implementation allows arbitrary choices
; for both a and b.
;
; If a=2 and b=0 (classic Phoenix) then this type will
; work with the dmj-Smooth and dmj-Triangle coloring
; types.
;
init:
complex y = (0,0)
complex newz = (0,0)
z = #pixel
loop:
newz = z^@power1 + z^@power2 * @seed + @induct * y
y = z
z = newz
bailout:
|z| < @bailout
default:
title = "Phoenix (Julia)"
helpfile = "dmj-pub\dmj-pub-uf-phoenix.htm"
maxiter = 1000
center = (0,0)
param seed
caption = "Julia Seed"
default = (0.56667,0)
hint = "This is the Julia seed, a constant parameter which \
defines the shape of the fractal."
endparam
param power1
caption = "Primary Exponent"
default = (2,0)
hint = "Defines the primary exponent for the fractal. The classic \
Phoenix curve uses exponent 2."
endparam
param power2
caption = "Secondary Exponent"
default = (0,0)
hint = "Defines the secondary exponent for the fractal. The classic \
Phoenix curve uses exponent 0."
endparam
param induct
caption = "Phoenix 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
hint = "Defines how soon an orbit bails out, i.e. doesn't belong \
to the Phoenix set anymore."
endparam
switch:
type = "dmj-PhoenixMandel"
bailout = @bailout
power1 = @power1
power2 = @power2
induct = @induct
}
dmj-PhoenixJulia.gsp (22.74 KB)
|