summaryrefslogtreecommitdiffstats
path: root/src/fractal.jl
diff options
context:
space:
mode:
Diffstat (limited to 'src/fractal.jl')
-rw-r--r--src/fractal.jl19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/fractal.jl b/src/fractal.jl
index f2a9bec..1819df4 100644
--- a/src/fractal.jl
+++ b/src/fractal.jl
@@ -2,6 +2,7 @@ type Fractal{T <: FloatingPoint}
z::Array{Complex{T}, 2}
c::Array{Complex{T}, 2}
step::Function
+ bb::Base.Graphics.BoundingBox
function Fractal(
imgsize::(Integer, Integer),
@@ -12,20 +13,24 @@ type Fractal{T <: FloatingPoint}
(size_x, size_y) = imgsize
aspect_ratio = size_y / size_x
if size_x < size_y
- range_x = (bb.xmin, bb.xmax)
- range_y = (bb.ymin, bb.ymin + (bb.ymax - bb.ymin) * aspect_ratio)
+ scaled_bb = Base.Graphics.BoundingBox(
+ bb.xmin, bb.xmax,
+ bb.ymin, bb.ymin + (bb.ymax - bb.ymin) * aspect_ratio
+ )
else
- range_x = (bb.xmin, bb.xmin + (bb.xmax - bb.xmin) / aspect_ratio)
- range_y = (bb.ymin, bb.ymax)
+ scaled_bb = Base.Graphics.BoundingBox(
+ bb.xmin, bb.xmin + (bb.xmax - bb.xmin) / aspect_ratio,
+ bb.ymin, bb.ymax,
+ )
end
- line_x = linspace(range_x[1], range_x[2], size_x)
- line_y = linspace(range_y[1], range_y[2], size_y)
+ line_x = linspace(scaled_bb.xmin, scaled_bb.xmax, size_x)
+ line_y = linspace(scaled_bb.ymin, scaled_bb.ymax, size_y)
plane = [ complex(x, y) for y=line_y, x=line_x ]
c = make_c(plane)
if !isa(c, Array)
c = ones(plane) .* c
end
- new(plane, c, step)
+ new(plane, c, step, scaled_bb)
end
end