summaryrefslogtreecommitdiffstats
path: root/fractal.jl
blob: e46b8bac0ac3f7ea57e53d9cf4b43c7cdbd3c8d1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using Tk
using Images
using ImageView

mandelbrot(z, c) = z.^2 + c

img = [ Color.HSV(0, 0, 0) for x=1:1000, y=1:1000 ]
c   = [ x + y*im for x=linspace(-2, 2, 1000), y=linspace(-2, 2, 1000) ]
z   = c

imgc, imgslice = view(img)

for i = 1:90
  z = mandelbrot(z, c)
  img[abs(z) .> 50] = Color.HSV(i * 4, 1, 1)
  view(imgc, img)
end

#If we are not in a REPL
if (!isinteractive())

    # Create a condition object
    c = Condition()

    # Get the main window (A Tk toplevel object)
    win = toplevel(imgc)

    # Notify the condition object when the window closes
    bind(win, "<Destroy>", e->notify(c))

    # Wait for the notification before proceeding ... 
    wait(c)
end