Mandelbrot Set
A classic visualisation of the Mandelbrot set.
using Bokeh
function mandelbrot(c::Complex, niters=100)
z = zero(c)
for i in 1:niters
if isnan(z) || abs2(z) > 4
return i
else
z = z ^ 2 + c
end
end
return niters+1
end
xmin, xmax = (-2.0, 0.5)
ymin, ymax = (-1.25, 1.25)
resolution = 500
niters = 100
image = [
mandelbrot(Complex(x, y), niters) |> log |> Float32
for x in range(xmin, xmax, length=resolution),
y in range(ymin, ymax, length=resolution)
]
p = figure(
title = "Mandelbrot set",
)
p.ranges.range_padding = 0
plot!(p, Image,
image = [image],
x = xmin,
y = ymin,
dw = xmax - xmin,
dh = ymax - ymin,
palette = "Magma256",
)
p