
require 'narray'
require 'nimage'
def mandel(w,h)
zoom=3.5
z = ( NArray.scomplex(w,1).indgen!/w-0.65 )*zoom +
( NArray.scomplex(1,h).indgen!/h-0.5 )*(zoom*1.im)
c = z.dup
a = NArray.sint(h,w)
idx = NArray.int(h,w).indgen!
for i in 1..30
z = z**2+c
idx_t,idx_f = (z.abs>2).where2
a[idx[idx_t]] = i
break if idx_f.size==0
idx = idx[idx_f]
z = z[idx_f]
c = c[idx_f]
end
a
end
NImage.show mandel(400,400)
print "Hit return key..."
STDIN.getc