Forum Moderators: Anim8dtoon, msansing
Fractals F.A.Q (Last Updated: 2024 Nov 13 3:03 pm)
I am hoping I understand you correctly and this is what you need. Thank you
Good day to you.
Therese
; Hi all, from DownUnder.
; I'm pretty new to this, having discovered UltraFractal in the last month or
; so but I've been having a great time exploring just what can be done with it.
; Please make allowances for my status as a beginner.
; My algebra and higher mathematics is pretty rusty (or non-existent) so I
; haven't got too much into that yet - but there's plenty of time I guess.
; It was a difficult to know when to stop (as you may gather from some of
; my comments) but heck, it seems there's no end to what you can do with this.
; David. (dacherry@square.net.au)
dac001 {
;3 of a kind (sorta)
init:
z = 0
complex p = #pixel
loop:
z = @factor1fn1(z)+@factor2fn2(#pixel)+@factor3*fn3(#pixel)
bailout:
|z| < 10000
default:
title = "Triplets"
func fn1
caption = "Function 1"
default = sqr()
endfunc
func fn2
caption = "Function 2"
default = recip()
endfunc
func fn3
caption = "Function 3"
default = sqr()
endfunc
float param factor1
default = 0.44
endparam
float param factor2
default = 0.855
endparam
float param factor3
default = 1
endparam
}
dac002 {
;Eat your heart out Robin Hood?
init:
z = 0
complex p = #pixel
loop:
z = @factor1fn1(z)+@factor2fn2(z)+@factor3fn3(p)+@factor4fn4(p)
bailout:
|z| < 10000
default:
title = "Archer's dream"
angle = 90.0
center = (0.0,0.5)
magn = 0.6
func fn1
caption = "Function 1"
default = sqr()
endfunc
func fn2
caption = "Function 2"
default = conj()
endfunc
func fn3
caption = "Function 3"
default = flip()
endfunc
func fn4
caption = "Function 4"
default = sqr()
endfunc
float param factor1
default = 0.9
endparam
float param factor2
default = 0.7
endparam
float param factor3
default = 0.7
endparam
float param factor4
default = 0.5
endparam
}
dac003 {
;...marks the spot?
init:
z = 0
complex p = #pixel ;I did this so long lines will fit on the screen
loop:
z = @factor1fn1(z+@factor2fn2(p))+@factor3fn3(z+@factor4*fn4(p+@factor3fn3(z+@factor4*fn4(p)))
bailout:
|z| <= @bailout
default:
title = "XXXX"
angle = 0.0
center = (0.1,0.05)
magn = 0.6
func fn1
caption = "Function 1"
default = sin()
endfunc
func fn2
caption = "Function 2"
default = sqr()
endfunc
func fn3
caption = "Function 3"
default = conj()
endfunc
func fn4
caption = "Function 4"
default = sqr()
endfunc
float param bailout
default = 10000
endparam
float param factor1
default = 0.5
endparam
float param factor2
default = 0.8
endparam
float param factor3
default = 1.1
endparam
float param factor4
default = 0.5
endparam
}
dac004 {
;Two-headed cat?
init:
z = 0
complex p = #pixel
loop:
z = @factor1fn1(z)^@factor2fn2(z)+@factor3fn3(p)^@factor4fn4(p)
bailout:
|z| < 10000
default:
title = "Binary Feline"
angle = 180.0
center = (0.097,-0.7)
magn = 0.6
func fn1
caption = "Function 1"
default = sin()
endfunc
func fn2
caption = "Function 2"
default = sqrt()
endfunc
func fn3
caption = "Function 3"
default = flip()
endfunc
func fn4
caption = "Function 4"
default = flip()
endfunc
float param factor1
default = 1
endparam
float param factor2
default = 0.7
endparam
float param factor3
default = 0.5
endparam
float param factor4
default = 0.3
endparam
}
dac005 {
;...dripping with fractals?
init:
z = 0
complex p = #pixel
loop:
z = @factor1fn1(z)/@factor2fn2(z)+@factor3fn3(p)/@factor4fn4(p)
bailout:
|z| < 1000
default:
title = "Mandel Overflow"
angle = 0.0
center = (1.5,-0.4)
magn = 2.3
func fn1
caption = "Function 1"
default = sin()
endfunc
func fn2
caption = "Function 2"
default = tan()
endfunc
func fn3
caption = "Function 3"
default = abs()
endfunc
func fn4
caption = "Function 4"
default = exp()
endfunc
float param factor1
default = 1
endparam
float param factor2
default = 0.7
endparam
float param factor3
default = 0.5
endparam
float param factor4
default = 0.3
endparam
}
dac006 {
;...fractal jammed into a corner?
init:
z = 0
complex p = #pixel
loop:
z = @factor1fn1(z)-@factor2fn2(p)+@factor3fn3(z)-@factor4fn4(p)
bailout:
|z| < 1000
default:
title = "Cornered Mandelbrot?"
angle = 37.0
center = (-0.8,-0.07)
magn = 0.6
func fn1
caption = "Function 1"
default = sqr()
endfunc
func fn2
caption = "Function 2"
default = abs()
endfunc
func fn3
caption = "Function 3"
default = sqr()
endfunc
func fn4
caption = "Function 4"
default = conj()
endfunc
float param factor1
default = 1
endparam
float param factor2
default = 0.7
endparam
float param factor3
default = 0.5
endparam
float param factor4
default = 0.3
endparam
heading
caption = "Suggestions:"
text = "Try other inside colours and other functions for interesting effects."
endheading
}
dac007 {
;2 of a kind
init:
z = 0
complex p = #pixel
loop:
z = @factor1fn1(z)+p+@factor2fn2(p)+@factor3*fn3(p)
bailout:
|z| < 10000
default:
title = "Twins"
center = (-1.0,0)
func fn1
caption = "Function 1"
default = sqr()
endfunc
func fn2
caption = "Function 2"
default = recip()
endfunc
func fn3
caption = "Function 3"
default = sin()
endfunc
float param factor1
default = 0.6
endparam
float param factor2
default = 0.855
endparam
float param factor3
default = 1
endparam
}
dac008 {
;...star of the show?
init:
z = 0
complex p = #pixel
loop:
z = @factor1fn1(z)+p+@factor2fn2(p)+@factor3*fn3(p)
bailout:
|z| < 10000
default:
title = "Fractalstar?"
center = (-2.6,0)
magn = 0.55
func fn1
caption = "Function 1"
default = sqr()
endfunc
func fn2
caption = "Function 2"
default = recip()
endfunc
func fn3
caption = "Function 3"
default = sin()
endfunc
float param factor1
default = 0.57
endparam
float param factor2
default = 0
endparam
float param factor3
default = 1
endparam
heading
caption = "Suggestions:"
text = "Use eyedropper to try other values for factors
1, 2 & 3 for interesting effects"
endheading
}
dac009 {
;Poseidon's was here...
init:
z = 0
complex p = #pixel
loop:
z = @factor1fn1(z)+p+@factor2fn2(p)+@factor3*fn3(p)
bailout:
|z| < 10000
default:
title = "Trident"
angle = -38.0
center = (-0.448,0.0276)
magn = 0.9
func fn1
caption = "Function 1"
default = cabs()
endfunc
func fn2
caption = "Function 2"
default = recip()
endfunc
func fn3
caption = "Function 3"
default = sinh()
endfunc
float param factor1
default = 2
endparam
float param factor2
default = 0.855
endparam
float param factor3
default = 0.5
endparam
}
;The followng are variations on a theme I managed to nut out (after a lot of
;trial and error) with pleasing results, especially when you try different
;functions.
dac010 {
;8 multidirectional fractals v1, not fully shown in preview window ------------>
init:
z = 0
float x = #x
float y = #y
complex p = #pixel
int h = #height
int w = #width
float ratio = h/w
loop:
if @Switch == 0
s = 1
else
s = -1
endif
if ((w/2)-x)^2+((h/2)-y)^2 < @radius^2 ;INSIDE CIRCLE... (radius @cons)
if xy < ratiox^2 && (w-x)(h-y) > xy ;TopCentre
z = -s*@shrink1*@inFn(z)-flip(p)+@shift1
elseif xy > ratiox^2 && (w-x)(h-y) < xy ;BottomCentre
z = -s*@shrink1*@inFn(z)+flip(p)+@shift1
elseif xy < ratiox^2 && (w-x)(h-y) < xy ;CentreRight
z = s*@shrink1*@inFn(z)+p-@shift1
elseif xy > ratiox^2 && (w-x)(h-y) > xy ;CentreLeft
z = -s*@shrink1*@inFn(z)+p+@shift1
endif
else ;OUTSIDE CIRCLE...
if x > #width/2
if y > #height/2 ;BottomRight
z = [ s*@shrink2*@outFn(z)+p+flip(conj(p)-flip(@shift2))-1.25*@shift2](mailto:s*@shrink2*@outFn(z)+p+flip(conj(p)-flip(@shift2))-1.25*@shift2)
else ;TopRight
z = [ s*@shrink2*@outFn(z)+p-flip(conj(p)+flip(@shift2))-1.25*@shift2](mailto:s*@shrink2*@outFn(z)+p-flip(conj(p)+flip(@shift2))-1.25*@shift2)
endif
else
if y < #height/2 ;TopLeft
z = [ s*@shrink2*@outFn(z)-p-flip(conj(p)+flip(@shift2))-1.25*@shift2](mailto:s*@shrink2*@outFn(z)-p-flip(conj(p)+flip(@shift2))-1.25*@shift2)
else ;BottomLeft
z = [ s*@shrink2*@outFn(z)-p+flip(conj(p)-flip(@shift2))-1.25*@shift2](mailto:s*@shrink2*@outFn(z)-p+flip(conj(p)-flip(@shift2))-1.25*@shift2)
endif
endif
endif
bailout:
|z| < 10000
default:
float param radius
caption = "Circle radius"
default = 250
endparam
func inFn
caption = "Inner function"
default = sqr()
endfunc
func outFn
caption = "Outer function"
default = sqr()
endfunc
float param shrink1
caption = "Shrink inner"
default = 4
endparam
float param shift1
caption = "Shift inner"
default = 0.3
endparam
float param shrink2
caption = "Shrink outer"
default = 2
endparam
float param shift2
caption = "Shift outer"
default = 0.8
endparam
param Switch
enum = "Point in" "Point out"
default = 1 ; "Point in" is the default
caption = "Switch in/out"
endparam
title = "Mandel x8(i)"
}
dac011 {
;8 multidirectional fractals v2, ditto -------------->
init:
z = 0
float x = #x
float y = #y
complex p = #pixel
int h = #height
int w = #width
float ratio = h/w
loop:
if @Switch == 0
s = 1
else
s = -1
endif
if ((w/2)-x)^2+((h/2)-y)^2 < @radius^2 ;INSIDE CIRCLE... (radius @cons)
if xy < ratiox^2 && (w-x)(h-y) > xy ;TopCentre
z = -s*@shrink1*@inFn(z)-flip(p)+@shift1
elseif xy > ratiox^2 && (w-x)(h-y) < xy ;BottomCentre
z = -s*@shrink1*@inFn(z)+flip(p)+@shift1
elseif xy < ratiox^2 && (w-x)(h-y) < xy ;CentreRight
z = s*@shrink1*@inFn(z)+p-@shift1
elseif xy > ratiox^2 && (w-x)(h-y) > xy ;CentreLeft
z = -s*@shrink1*@inFn(z)+p+@shift1
endif
else ;OUTSIDE CIRCLE...
if x > #width/2
if y > #height/2 ;BottomRight
z = [ s*@shrink2*@outFn(z)+p+ratioflip(conj(p)-flip(@shift2))-1.25@shift2](mailto:s*@shrink2*@outFn(z)+p+ratioflip(conj(p)-flip(@shift2))-1.25@shift2)
else ;TopRight
z = [ s*@shrink2*@outFn(z)+p-ratioflip(conj(p)+flip(@shift2))-1.25@shift2](mailto:s*@shrink2*@outFn(z)+p-ratioflip(conj(p)+flip(@shift2))-1.25@shift2)
endif
else
if y < #height/2 ;TopLeft
z = [ s*@shrink2*@outFn(z)-p-ratioflip(conj(p)+flip(@shift2))-1.25@shift2](mailto:s*@shrink2*@outFn(z)-p-ratioflip(conj(p)+flip(@shift2))-1.25@shift2)
else ;BottomLeft
z = [ s*@shrink2*@outFn(z)-p+ratioflip(conj(p)-flip(@shift2))-1.25@shift2](mailto:s*@shrink2*@outFn(z)-p+ratioflip(conj(p)-flip(@shift2))-1.25@shift2)
endif
endif
endif
bailout:
|z| < 10000
default:
float param radius
caption = "Circle radius"
default = 200
endparam
func inFn
caption = "Inner function"
default = sqr()
endfunc
func outFn
caption = "Outer function"
default = sqr()
endfunc
float param shrink1
caption = "Shrink inner"
default = 4
endparam
float param shift1
caption = "Shift inner"
default = 0.3
endparam
float param shrink2
caption = "Shrink outer"
default = 2
endparam
float param shift2
caption = "Shift outer"
default = 0.8
endparam
param Switch
enum = "Point in" "Point out"
default = 1 ; "Point in" is the default
caption = "Switch in/out"
endparam
title = "Mandel x8(ii)"
}
dac012 {
;8 multidirectional fractals v3, ditto -------------->
init:
z = 0
float x = #x
float y = #y
complex p = #pixel
int h = #height
int w = #width
float ratio = h/w
loop:
if @Switch == 0
s = 1
else
s = -1
endif
if ((w/2)-x)^2+((h/2)-y)^2 < @radius^2 ;INSIDE CIRCLE... (radius @cons)
if x > #width/2
if y > #height/2 ;BottomRight
z = [ s*@shrink2*@outFn(z)+p+ratioflip(conj(p)-flip(@shift2))-1.25@shift2](mailto:s*@shrink2*@outFn(z)+p+ratioflip(conj(p)-flip(@shift2))-1.25@shift2)
else ;TopRight
z = [ s*@shrink2*@outFn(z)+p-ratioflip(conj(p)+flip(@shift2))-1.25@shift2](mailto:s*@shrink2*@outFn(z)+p-ratioflip(conj(p)+flip(@shift2))-1.25@shift2)
endif
else
if y < #height/2 ;TopLeft
z = [ s*@shrink2*@outFn(z)-p-ratioflip(conj(p)+flip(@shift2))-1.25@shift2](mailto:s*@shrink2*@outFn(z)-p-ratioflip(conj(p)+flip(@shift2))-1.25@shift2)
else ;BottomLeft
z = [ s*@shrink2*@outFn(z)-p+ratioflip(conj(p)-flip(@shift2))-1.25@shift2](mailto:s*@shrink2*@outFn(z)-p+ratioflip(conj(p)-flip(@shift2))-1.25@shift2)
endif
endif
else ;OUTSIDE CIRCLE..
if xy < ratiox^2 && (w-x)(h-y) > xy ;TopCentre
z = -s*@shrink1*@inFn(z)-flip(p)+@shift1
elseif xy > ratiox^2 && (w-x)(h-y) < xy ;BottomCentre
z = -s*@shrink1*@inFn(z)+flip(p)+@shift1
elseif xy < ratiox^2 && (w-x)(h-y) < xy ;CentreRight
z = s*@shrink1*@inFn(z)+p-@shift1
elseif xy > ratiox^2 && (w-x)(h-y) > xy ;CentreLeft
z = -s*@shrink1*@inFn(z)+p+@shift1
endif
endif
bailout:
|z| < 10000
default:
float param radius
caption = "Circle radius"
default = 200
endparam
func inFn
caption = "Inner function"
default = sqr()
endfunc
func outFn
caption = "Outer function"
default = sqr()
endfunc
float param shrink2
caption = "Shrink inner"
default = 4
endparam
float param shift2
caption = "Shift inner"
default = 0.2
endparam
float param shrink1
caption = "Shrink outer"
default = 2
endparam
float param shift1
caption = "Shift outer"
default = 1.1
endparam
param Switch
enum = "Point in" "Point out"
default = 1 ; "Point in" is the default
caption = "Switch in/out"
endparam
title = "Mandel x8(iii)"
}
dac013 {
;8 multidirectional fractals v4, ditto -------------->
init:
z = 0
float x = #x
float y = #y
complex p = #pixel
int h = #height
int w = #width
float ratio = h/w
loop:
if @Switch == 0
s = 1
else
s = -1
endif
if ((w/2)-x)^2+((h/2)-y)^2 < @radius^2 ;INSIDE CIRCLE...
if xy < ratiox^2 && (w-x)(h-y) > xy ;TopCentre
z = -s*@shrink2*@inFn(z)-flip(p)+@shift2
elseif xy > ratiox^2 && (w-x)(h-y) < xy ;BottomCentre
z = -s*@shrink2*@inFn(z)+flip(p)+@shift2
elseif xy < ratiox^2 && (w-x)(h-y) < xy ;CentreRight
z = s*@shrink2*@inFn(z)+p-@shift2
elseif xy > ratiox^2 && (w-x)(h-y) > xy ;CentreLeft
z = -s*@shrink2*@inFn(z)+p+@shift2
endif
else ;OUTSIDE CIRCLE..
if xy < ratiox^2 && (w-x)(h-y) > xy ;TopCentre
z = -s*@shrink1*@inFn(z)-flip(p)+@shift1
elseif xy > ratiox^2 && (w-x)(h-y) < xy ;BottomCentre
z = -s*@shrink1*@inFn(z)+flip(p)+@shift1
elseif xy < ratiox^2 && (w-x)(h-y) < xy ;CentreRight
z = s*@shrink1*@inFn(z)+p-@shift1
elseif xy > ratiox^2 && (w-x)(h-y) > xy ;CentreLeft
z = -s*@shrink1*@inFn(z)+p+@shift1
endif
endif
bailout:
|z| < 10000
default:
float param radius
caption = "Circle radius"
default = 200
endparam
func inFn
caption = "Inner function"
default = sqr()
endfunc
func outFn
caption = "Outer function"
default = sqr()
endfunc
float param shrink2
caption = "Shrink inner"
default = 4
endparam
float param shift2
caption = "Shift inner"
default = 0.4
endparam
float param shrink1
caption = "Shrink outer"
default = 3
endparam
float param shift1
caption = "Shift outer"
default = 1.35
endparam
param Switch
enum = "Point in" "Point out"
default = 0 ; "Point in" is the default
caption = "Switch in/out"
endparam
title = "Mandel x8(iv)"
}
dac014 {
;8 multidirectional fractals v5 - OK, enough of that...
init:
z = 0
float x = #x
float y = #y
complex p = #pixel
int h = #height
int w = #width
float ratio = h/w
loop:
if @Switch == 0
s = 1
else
s = -1
endif
if ((w/2)-x)^2+((h/2)-y)^2 < @radius^2 ;INSIDE CIRCLE...
if x > #width/2
if y > #height/2 ;BottomRight
z = [ s*@shrink2*@outFn(z)+p+ratioflip(conj(p)-flip(@shift2))-@shift2](mailto:s@shrink2*@outFn(z)+p+ratioflip(conj(p)-flip(@shift2))-@shift2)
else ;TopRight
z = [ s@shrink2*@outFn(z)+p-ratioflip(conj(p)+flip(@shift2))-@shift2](mailto:s@shrink2*@outFn(z)+p-ratioflip(conj(p)+flip(@shift2))-@shift2)
endif
else
if y < #height/2 ;TopLeft
z = [ s@shrink2*@outFn(z)-p-ratioflip(conj(p)+flip(@shift2))-@shift2](mailto:s@shrink2*@outFn(z)-p-ratioflip(conj(p)+flip(@shift2))-@shift2)
else ;BottomLeft
z = [ s@shrink2*@outFn(z)-p+ratioflip(conj(p)-flip(@shift2))-@shift2](mailto:s@shrink2*@outFn(z)-p+ratioflip(conj(p)-flip(@shift2))-@shift2)
endif
endif
else ;OUTSIDE CIRCLE..
if x > #width/2
if y > #height/2 ;BottomRight
z = [ s@shrink1*@outFn(z)+p+ratioflip(conj(p)-flip(@shift1))-1.25@shift1](mailto:s*@shrink1*@outFn(z)+p+ratioflip(conj(p)-flip(@shift1))-1.25@shift1)
else ;TopRight
z = [ s*@shrink1*@outFn(z)+p-ratioflip(conj(p)+flip(@shift1))-1.25@shift1](mailto:s*@shrink1*@outFn(z)+p-ratioflip(conj(p)+flip(@shift1))-1.25@shift1)
endif
else
if y < #height/2 ;TopLeft
z = [ s*@shrink1*@outFn(z)-p-ratioflip(conj(p)+flip(@shift1))-1.25@shift1](mailto:s*@shrink1*@outFn(z)-p-ratioflip(conj(p)+flip(@shift1))-1.25@shift1)
else ;BottomLeft
z = [ s*@shrink1*@outFn(z)-p+ratioflip(conj(p)-flip(@shift1))-1.25@shift1](mailto:s*@shrink1*@outFn(z)-p+ratioflip(conj(p)-flip(@shift1))-1.25@shift1)
endif
endif
endif
bailout:
|z| < 10000
default:
float param radius
caption = "Circle radius"
default = 200
endparam
func inFn
caption = "Inner function"
default = sqr()
endfunc
func outFn
caption = "Outer function"
default = sqr()
endfunc
float param shrink2
caption = "Shrink inner"
default = 4
endparam
float param shift2
caption = "Shift inner"
default = 0.3
endparam
float param shrink1
caption = "Shrink outer"
default = 2
endparam
float param shift1
caption = "Shift outer"
default = 0.8
endparam
param Switch
enum = "Point in" "Point out"
default = 1 ; "Point in" is the default
caption = "Switch in/out"
endparam
title = "Mandel x8(v)"
}
dac015 {
;horizontal split mandel
init:
z = 0
float x = #x
float y = #y
float ratio = #height/#width
int reverse = 1
loop:
if @Switch == 0
reverse = 1
else
reverse = -1
endif
if y > #height/2
z = -reversefn1(z)+#pixel
else
z = reversefn1(z)+#pixel
endif
bailout:
|z| < 1000
default:
title = "Split Personality"
func fn1
default = sqr()
endfunc
param Switch
enum = "Top left" "Top right"
default = 1 ; "Point in" is the default
caption = "Switch in/out"
endparam
}
dac016 {
;double hyperbola
init:
z = 0
int x = #x
int y = #y
float ratio = #height/#width
a = #width/2
b = #height/2
loop:
if @factorsqrt(|(#width/2-x)^2/a^2-(#height/2-y)^2/b^2|) > |ratio|
if sqrt(|x|) < a
z = @shrinkouterfn1(z)+#pixel+@shiftouter
else
z = -@shrinkouter*fn1(z)+#pixel-@shiftouter
endif
else
if sqrt(|x|) < a
z = @shrinkmiddle*fn2(z)+#pixel+@shiftmiddle
else
z = -@shrinkmiddle*fn2(z)+#pixel-@shiftmiddle
endif
endif
bailout:
|z| < 100000
default:
title = "Too hyper"
func fn1
caption = "Outer function"
default = cos()
endfunc
func fn2
caption = "Centre function"
default = sqr()
endfunc
float param shrinkmiddle
caption = "Shrink inside"
default = 3
endparam
float param shrinkouter
caption = "Shrink outside"
default = 2
endparam
float param shiftmiddle
caption = "Shift inside"
default = 0.15
endparam
float param shiftouter
caption = "Shift outside"
default = -1
endparam
float param factor
caption = "Hyperfactor"
default = 4
endparam
}
dac017 {
;Another one not fully represented in the preview shot in 'Select Fractal Formula' ----------->
;See what you think...
init:
z = 0
int y = #y
int x = #x
float ratio = y/x
loop:
if (#width/2-x)^2+(#height/2-y)^2 < @circleSize1000 ;center circle
if x < #width/2 ;L half
z = @shrink1fn4(z)+#pixel+@shift1a
else ;R half
z = -@shrink1*fn4(z)+#pixel-@shift1a
endif
elseif x^2+y^2 < @cornerSize10000 ;LU corner
z = @shrink2fn3(z)+#pixel+@shift2
elseif (#width-x)^2+(#height-y)^2 < @cornerSize10000 ;RL corner
z = -@shrink2*fn3(z)+#pixel-@shift2
elseif x^2+(#height-y)^2 < @cornerSize10000 ;LL corner
z = @shrink2fn3(z)+#pixel+@shift2
elseif (#width-x)^2+y^2 < @cornerSize10000 ;RU corner
z = -@shrink2*fn3(z)+#pixel-@shift2
elseif y < #height/2 ;upper half
if x < #width/2 ;L half
z = @shrink3conj(fn1(z))+#pixel+@shift1
else ;R half
z = [-@shrink3conj(fn1(z))+#pixel-@shift1](mailto:-@shrink3conj(fn1(z))+#pixel-@shift1)
endif
else ;lower half
if x < #width/2 ;L half
z = @shrink3conj(fn2(z))+#pixel+@shift1
else ;R half
z = [-@shrink3conj(fn2(z))+#pixel-@shift1](mailto:-@shrink3conj(fn2(z))+#pixel-@shift1)
endif
endif
bailout:
|z| < 1000
default:
title = "MandelFever"
func fn1
caption = "Upper inner function"
default = sqr()
endfunc
func fn2
caption = "Lower inner function"
default = sqr()
endfunc
func fn3
caption = "Corner function"
default = sqr()
endfunc
func fn4
caption = "Center function"
default = sqr()
endfunc
float param shift1
caption = "Shift inner"
default = 1
endparam
float param shift1a
caption = "Shift inner circle"
default = 0.15
endparam
float param shift2
caption = "Shift outer"
default = 1
endparam
float param shrink1
caption = "Shrink center circle"
default = 3
endparam
float param shrink2
caption = "Shrink outer"
default = 1
endparam
float param shrink3
caption = "Shrink inner"
default = 1
endparam
float param cornerSize
default = 14.5
min = 0
max = 25
endparam
float param circleSize
default = 35
min = 0
endparam
}
dac018 {
;bisected quadrants 1
init:
z = 0
int x = #x
int y = #y
a = #width/2
b = #height/2
float h = #height
float ratio = #height/#width
loop:
;left upper quadrant:
if y < b && x < a
if x*(b-y) > 1/ratio*(b-y)^2
if @reverseCentre == "reverse"
z = -@shrink1*fn1(z)+#pixel
else
z = @shrink1fn1(z)+#pixel
endif
else
if @reverseOuter == "reverse"
z = @shrink2fn2(z+#pixel)
else
z = -@shrink2*fn2(z+#pixel
endif
endif
;right upper quadrant:
elseif y < b && x > a
if (x-a)y > ratio(x-a)^2
if @reverseCentre == "reverse"
z = -@shrink1*fn1(z)+#pixel
else
z = @shrink1fn1(z)+#pixel
endif
else
if @reverseOuter == "reverse"
z = @shrink2fn2(z)+#pixel
else
z = -@shrink2*fn2(z)+#pixel
endif
endif
;right lower quadrant:
elseif y > b && x > a
if (x-a)(h-y) > 1/ratio(h-y)^2
if @reverseOuter == "reverse"
z = -@shrink2*fn2(z)+#pixel
else
z = @shrink2fn2(z)+#pixel
endif
else
if @reverseCentre == "reverse"
z = @shrink1fn1(z)+#pixel
else
z = -@shrink1*fn1(z)+#pixel
endif
endif
;left lower quadrant:
elseif y > b && x < a
if x*(y-b) > ratiox^2
if @reverseOuter == "reverse"
z = -@shrink2*fn2(z+#pixel
else
z = @shrink2fn2(z+#pixel)
endif
else
if @reverseCentre == "reverse"
z = @shrink1*fn1(z)+#pixel
else
z = -@shrink1*fn1(z)+#pixel
endif
endif
else
z = ident(z)+#pixel
endif
bailout:
|z| < 100
default:
title = "4x2"
func fn1
caption = "Centre function"
default = ident()
endfunc
func fn2
caption = "Outer function"
default = sqr()
endfunc
float param shrink1
caption = "Shrink centre"
default = 2
endparam
float param shrink2
caption = "Shrink outer"
default = 2
endparam
param reverseCentre
enum = "reverse" "normal"
default = 1
endparam
param reverseOuter
enum = "reverse" "normal"
default = 1
endparam
}
dac019 {
;12 (4x3) radiating functions - 1 for each row
init:
z = 0
float x = #x
float y = #y
float h = #height
float w = #width
complex p = #pixel
loop:
if y < h/4 ;Row1
if x < w/4 ;col1
z = @shrink1fn1(z)+p+0.7flip(conj(p)-flip(@shift1))+3*@shift1
elseif x > w/4 && x < w/2 ;col2
z = @shrink1fn1(z)+p+1.9flip(conj(p)+flip(@shift1))+@shift1
elseif x > w/2 && x < w-w/4 ;col3
z = [ -@shrink1fn1(z)+p-1.9flip(conj(p)+flip(@shift1))-@shift1](mailto:-@shrink1fn1(z)+p-1.9flip(conj(p)+flip(@shift1))-@shift1)
elseif x > w-w/4 ;col4
z = [ -@shrink1fn1(z)+p-0.7flip(conj(p)-flip(@shift1))-3*@shift1](mailto:-@shrink1fn1(z)+p-0.7flip(conj(p)-flip(@shift1))-3*@shift1)
endif
elseif y > h/4 && y < h/2 ;Row2
if x < w/4 ;col1
z = @shrink2fn2(z)+p+1.5@shift2
elseif x > w/4 && x < w/2 ;col2
z = @shrink2fn2(z)+p+0.5@shift2
elseif x > w/2 && x < w-w/4 ;col3
z = -@shrink2fn2(z)+p-0.5@shift2
elseif x > w-w/4 ;col4
z = -@shrink2fn2(z)+p-1.5@shift2
endif
elseif y > h/2 && y < #height-h/4 ;Row3
if x < w/4 ;col1
z = @shrink2fn3(z)+p+1.5@shift2
elseif x > w/4 && x < w/2 ;col2
z = @shrink2fn3(z)+p+0.5@shift2
elseif x > w/2 && x < w-w/4 ;col3
z = -@shrink2fn3(z)+p-0.5@shift2
elseif x > w-w/4 ;col4
z = -@shrink2fn3(z)+p-1.5@shift2
endif
elseif y > #height-h/4 ;Row4
if x < w/4 ;col1
z = @shrink1fn4(z)+p-0.7flip(conj(p)+flip(@shift1))+3*@shift1
elseif x > w/4 && x < w/2 ;col2
z = @shrink1fn4(z)+p-1.9flip(conj(p)-flip(@shift1))+@shift1
elseif x > w/2 && x < w-w/4 ;col3
z = [ -@shrink1fn4(z)+p+1.9flip(conj(p)-flip(@shift1))-@shift1](mailto:-@shrink1fn4(z)+p+1.9flip(conj(p)-flip(@shift1))-@shift1)
elseif x > w-w/4 ;col4
z = [ -@shrink1fn4(z)+p+0.7flip(conj(p)+flip(@shift1))-3*@shift1](mailto:-@shrink1fn4(z)+p+0.7flip(conj(p)+flip(@shift1))-3*@shift1)
endif
endif
bailout:
|z| < 1000
default:
title = "Radiant Functions 1"
func fn1
caption = "1st row func"
default = sqr()
endfunc
func fn2
caption = "2nd row func"
default = sqr()
endfunc
func fn3
caption = "3rd row func"
default = sqr()
endfunc
func fn4
caption = "4th row func"
default = sqr()
endfunc
float param shift1
caption = "Shift Top/Bottom"
default = 0
endparam
float param shift2
caption = "Shift Middle"
default = 0
endparam
float param shrink1
caption = "Shrink Top/Bottom"
default = 1
endparam
float param shrink2
caption = "Shrink Middle"
default = 1
endparam
heading
caption = "Tips"
text = "In 'shrink', 1 = no shrinkage; >1 = make smaller and keep shape;
>0, <1 = make larger ; <0 = make smaller (and change shape).
In 'shift', 0 = no shift."
endheading
}
dac019a {
;16 (4x4) radiating functions (2 to choose from, inner and outer)
init:
z = 0
float x = #x
float y = #y
float ratio = #height/#width
float h = #height
float w = #width
complex p = #pixel
loop:
if @Switch == 0
s = 1
else
s = -1
endif
if y <= h/4 ;Row1
if x <= w/4 ;col1
z = [ s*@shrink1fn1(z)+p+ratioflip(conj(p)-flip(@shift1))+3.2*@shift1](mailto:s*@shrink1fn1(z)+p+ratioflip(conj(p)-flip(@shift1))+3.2*@shift1)
elseif x > w/4 && x <= 2w/4 ;col2
z = [ s@shrink1fn1(z)+p+2.8ratioflip(conj(p)+flip(@shift1))+@shift1](mailto:s@shrink1fn1(z)+p+2.8ratioflip(conj(p)+flip(@shift1))+@shift1)
elseif x > 2w/4 && x <= 3w/4 ;col3
z = [ -s@shrink1fn1(z)+p-2.8ratioflip(conj(p)+flip(@shift1))-@shift1](mailto:-s@shrink1fn1(z)+p-2.8ratioflip(conj(p)+flip(@shift1))-@shift1)
elseif x > 3w/4 ;col4
z = [ -s*@shrink1fn1(z)+p-ratioflip(conj(p)-flip(@shift1))-3.2*@shift1](mailto:-s*@shrink1fn1(z)+p-ratioflip(conj(p)-flip(@shift1))-3.2*@shift1)
endif
elseif y > h/4 && y <= 2h/4 ;Row2
if x <= w/4 ;col1
z = [s@shrink1fn1(z)+p+0.4ratioflip(conj(p))+1.6@shift1](mailto:s*@shrink1fn1(z)+p+0.4ratioflip(conj(p))+1.6@shift1)
elseif x > w/4 && x <= 2w/4 ;col2
z = [s@shrink2fn2(z)+p+ratioflip(conj(p))+0.8*@shift2](mailto:s*@shrink2fn2(z)+p+ratioflip(conj(p))+0.8*@shift2)
elseif x > 2w/4 && x <= 3w/4 ;col3
z = [-s*@shrink2fn2(z)+p-ratioflip(conj(p))-0.8*@shift2](mailto:-s*@shrink2fn2(z)+p-ratioflip(conj(p))-0.8*@shift2)
elseif x > 3w/4 ;col4
z = [-s@shrink1fn1(z)+p-0.4ratioflip(conj(p))-1.6@shift1](mailto:-s*@shrink1fn1(z)+p-0.4ratioflip(conj(p))-1.6@shift1)
endif
elseif y > 2h/4 && y <= 3h/4 ;Row3
if x <= w/4 ;col1
z = [s*@shrink1fn1(z)+p-0.4ratioflip(conj(p))+1.6@shift1](mailto:s*@shrink1fn1(z)+p-0.4ratioflip(conj(p))+1.6@shift1)
elseif x > w/4 && x <= 2w/4 ;col4
z = [s@shrink2fn2(z)+p-ratioflip(conj(p))+0.8*@shift2](mailto:s*@shrink2fn2(z)+p-ratioflip(conj(p))+0.8*@shift2)
elseif x > 2w/4 && x <= 3w/4 ;col3
z = [-s*@shrink2fn2(z)+p+ratioflip(conj(p))-0.8*@shift2](mailto:-s*@shrink2fn2(z)+p+ratioflip(conj(p))-0.8*@shift2)
elseif x > 3w/4 ;col4
z = [-s@shrink1fn1(z)+p+0.4ratioflip(conj(p))-1.6@shift1](mailto:-s*@shrink1fn1(z)+p+0.4ratioflip(conj(p))-1.6@shift1)
endif
elseif y > 3h/4 ;Row4
if x <= w/4 ;col1
z = [ s@shrink1fn1(z)+p-ratioflip(conj(p)+flip(@shift1))+3.2*@shift1](mailto:s*@shrink1fn1(z)+p-ratioflip(conj(p)+flip(@shift1))+3.2*@shift1)
elseif x > w/4 && x <= 2w/4 ;col2
z = [ s@shrink1fn1(z)+p-2.8ratioflip(conj(p)-flip(@shift1))+@shift1](mailto:s@shrink1fn1(z)+p-2.8ratioflip(conj(p)-flip(@shift1))+@shift1)
elseif x > 2w/4 && x <= 3w/4 ;col3
z = [ -s@shrink1fn1(z)+p+2.8ratioflip(conj(p)-flip(@shift1))-@shift1](mailto:-s@shrink1fn1(z)+p+2.8ratioflip(conj(p)-flip(@shift1))-@shift1)
elseif x > 3w/4 ;col4
z = [ -s*@shrink1fn1(z)+p+ratioflip(conj(p)+flip(@shift1))-3.2*@shift1](mailto:-s*@shrink1fn1(z)+p+ratioflip(conj(p)+flip(@shift1))-3.2*@shift1)
endif
endif
bailout:
|z| < 1000
default:
title = "Radiant Functions 2a"
func fn1
caption = "Outer function"
default =
"One Oneness One"
Ok I'm just running a liitle slow today and read the post wrong opps,. Forgive.me.
Here ya' go.
Thank you.
Therese
ForumHelpDac.MandelX8I... {
fractal:
title="Forum help dac. mandel x 8(i)..." width=640 height=480
layers=1 credits="mom;9/24/2006"
layer:
caption="Background" opacity=100
mapping:
center=0/0 magn=1
formula:
maxiter=100 filename="dac.ufm" entry="dac010" p_radius=250
f_inFn=sqr f_outFn=sqr p_shrink1=4 p_shift1=0.3 p_shrink2=2
p_shift2=0.8 p_Switch="Point out"
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes index=0 color=8716288 index=100 color=16121855 index=200
color=46591 index=300 color=156
opacity:
smooth=no index=0 opacity=255
}
"One Oneness One"
After examining both the formulas and the parameters, it's clear the problem is in the dac010 formula, which relies on #width and #height in its calculations. This is almost always a serious problem when trying to render images larger. You can either write to the author (David Cherry) and try to get a fix, or you can find another formula which does essentially the same thing, but scales properly.
Unfortunately it's not often clear, without looking at the formula source code, whether or not an untried formula will properly scale. It's certainly possible to use #width and #height in a formula in "correct" ways that will scale properly, but many of the people who write formulas aren't thinking about large-size images when they write, they're just writing to try out an idea. So unless you know what to look for, it can be hit-or-miss. This is a general, recognized problem with UF, since there are now so many formulas in the database.
--Damien
This site uses cookies to deliver the best experience. Our own cookies make user accounts and other features possible. Third-party cookies are used to display relevant ads and to analyze how Renderosity is used. By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.
Hi There,
I am having a problem with a few formulas that I have combined( on different layers) from “dma” public files”. I am using Ultra Fractal 4. I am trying to enlarge the image . After enlarging the image it looks completely different from the smaller image. As if not all the layers were not enlarged. All the layers are marked as editable. Both the smaller and the enlarge image shows that all are in the same location and have the same magnification. What am I doing wrong? Or is this some type of weird formula that I am working with?
I am at lost here. I want the smaller image to be enlarge and to look the same. What am I missing here? Can you be of some help?
Good day and thank you for your help.
Therese
"One Oneness One"