マンデルブロ集合を描いてみる(Ruby)
このサイトのそのままパクリです(ありがとうございます!)。やったのは Java から Ruby へ移植しただけ。
def mandelbrot_count(c) z = Complex(0) 100.times do |i| z = z ** 2 + c return i if z.abs > 10 end 100 end Diff = 0.001 io = open("mandelbrot_data.dat", "w+") -2.step(1, Diff) do |r| -1.step(1, Diff) do |i| value = mandelbrot_count(Complex(r, i)) next if value.zero? io.puts "#{r}\t#{i}\t#{value}" end io.print "\n" end io.close
自分の環境では 4分あまりかかりました。
gnuplot で描画します。これは上サイトそのまま。
set pm3d set pm3d map set palette defined(0"#000099",1"#ffffff",2"black") set terminal png size 1024,768 set output 'mandelbrot-pm3d.png' splot 'mandelbrot_data.dat' notitle
追記。こちらもどうぞ。(2019/7/28)
obelisk.hatenablog.com