summaryrefslogtreecommitdiffstats
path: root/src/fractal.jl
diff options
context:
space:
mode:
Diffstat (limited to 'src/fractal.jl')
-rw-r--r--src/fractal.jl15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/fractal.jl b/src/fractal.jl
new file mode 100644
index 0000000..41977c1
--- /dev/null
+++ b/src/fractal.jl
@@ -0,0 +1,15 @@
+type Fractal{T <: FloatingPoint}
+ z::Array{Complex{T}, 2}
+ c::Array{Complex{T}, 2}
+ step::Function
+
+ function Fractal(imgsize, make_c = z -> z, step = (z, c) -> z.^2 + c)
+ line = linspace(-2.0, 2.0, imgsize)
+ plane = [ complex(x, y) for x=line, y=line ]
+ new(plane, make_c(plane), step)
+ end
+end
+
+function step{T <: FloatingPoint}(f::Fractal{T})
+ f.z = f.step(f.z, f.c)
+end