#!/usr/bin/ruby
cols,lines = 79, 30
minre,minim = -2.0, -1.0
maxre,maxim = 1.0, 1.0
chars = ' .,-:/=HOAM%&$#@_'
maxiter = chars.length-1
im=minim
lines.times do |y|
re=minre
cols.times do |x|
zr,zi = re,im
n=0
maxiter.times do |n|
a,b = zr*zr, zi*zi
break if a+b > 4.0
zr,zi = a-b+re, 2*zr*zi+im
n += 1
end
print chars.slice(n,1)
re += (maxre-minre)/cols
end
im += (maxim-minim)/lines
puts
end
=begin
(This is a comment)
This program outputs the following diagram:
......,,,,,,,,,,,,,,,,,,,,,--------:::/=O#O_#/:-----,,,,,,.............
.....,,,,,,,,,,,,,,,,,,,,,---------:::/==HM_AH=/:------,,,,,,...........
....,,,,,,,,,,,,,,,,,,,,,---------::::/H%%&__#AA/::::-----,,,,,,.........
...,,,,,,,,,,,,,,,,,,,,,---------::///==O&______&H=/::::----,,,,,,,.......
...,,,,,,,,,,,,,,,,,,,,--------::////===HA$______%HH=////::---,,,,,,,......
..,,,,,,,,,,,,,,,,,,-------::::/H_##OOM_%_@______#_M@%H==H%=:--,,,,,,,.....
..,,,,,,,,,,,,,,,,,-----:::::://=H%___#_______________@M%____/:--,,,,,,,....
..,,,,,,,,,,,,,,,,---::::::::///=HOM________________________$H/::-,,,,,,,,...
.,,,,,,,,,,,,,---://:::::::////=&__________________________#A=/::--,,,,,,,,..
,,,,,,,,,-----::/OA===========HHA$__________________________#AOH:---,,,,,,,,.
.,,,,,-------::://O$MMAO&$OOOHHOA_______________________________H:---,,,,,,,,.
,,,--------:::::/=HO&_________MM&______________________________O/:---,,,,,,,,,
,--------::::::===%M___________#_______________________________@/:----,,,,,,,,
-------:::///=HMOA%____________________________________________=::----,,,,,,,,
:::::==///===OO&______________________________________________=/::----,,,,,,,,
#____________________________________________________________MH=/::----,,,,,,,,
:::::==///===OO&______________________________________________=/::----,,,,,,,,
-------:::///=HMOA%____________________________________________=::----,,,,,,,,
,--------::::::===%M___________#_______________________________@/:----,,,,,,,,
,,,--------:::::/=HO&_________MM&______________________________O/:---,,,,,,,,,
.,,,,,-------::://O$MMAO&$OOOHHOA_______________________________H:---,,,,,,,,.
,,,,,,,,,-----::/OA===========HHA$__________________________#AOH:---,,,,,,,,.
.,,,,,,,,,,,,,---://:::::::////=&__________________________#A=/::--,,,,,,,,..
..,,,,,,,,,,,,,,,,---::::::::///=HOM________________________$H/::-,,,,,,,,...
..,,,,,,,,,,,,,,,,,-----:::::://=H%___#_______________@M%____/:--,,,,,,,....
..,,,,,,,,,,,,,,,,,,-------::::/H_##OOM_%_@______#_M@%H==H%=:--,,,,,,,.....
...,,,,,,,,,,,,,,,,,,,,--------::////===HA$______%HH=////::---,,,,,,,......
...,,,,,,,,,,,,,,,,,,,,,---------::///==O&______&H=/::::----,,,,,,,.......
....,,,,,,,,,,,,,,,,,,,,,---------::::/H%%&__#AA/::::-----,,,,,,.........
.....,,,,,,,,,,,,,,,,,,,,,---------:::/==HM_AH=/:------,,,,,,...........
=end