From: Hiato Xaero Date: 2007-12-28T20:57:15+09:00 Subject: Thought I'd share this and get some advice ------=_Part_20190_28958941.1198843040520 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline I decided to take it upon myself to write a text Mandelbrot Set Generator in Ruby (seeing as I couldn't find any...) Anyway, here is the code, it's procedural style, not entirely utilizing Ruby to its fullest, but hey p ' ' p "NOTE: Do not run this from a console that has less than 128 columns, 130 to be safe! If you fail to do so, then you will see rubbish inplace of the mandelbrot set" p ' ' i = -24.00 until (i>=24) k = -64.00 s = '' until (k>=63) p = 0 x = 0 y = 0 while ((x*x)+(y*y)<4) xt = x*x - y*y + (k-23)/43.5 yt = 2*x*y + i/22 x = xt y = yt p = p + 6 break unless p<260 end case p when 1..10: s << 'A' when 10..20: s << 'B' when 20..30: s << 'C' when 30..40: s << 'D' when 40..50: s << 'E' when 50..60: s << 'F' when 60..70: s << 'G' when 70..80: s << 'H' when 80..90: s << 'I' when 90..100: s << 'J' when 100..110: s << 'K' when 110..120: s << 'L' when 120..130: s << 'M' when 130..140: s << 'N' when 140..150: s << 'O' when 150..160: s << 'P' when 160..170: s << 'Q' when 170..180: s << 'R' when 180..190: s << 'S' when 190..200: s << 'T' when 200..210: s << 'U' when 210..220: s << 'V' when 220..230: s << 'W' when 230..240: s << 'X' when 240..250: s << 'Y' when 250..400: s << ' ' end k = k + 1.00 end p s i = i + 1.00 end p ' ' p "NOTE: Do not run this from a console that has less than 128 columns, 130 to be safe! If you fail to do so, then you will see rubbish inplace of the mandelbrot set" p ' ' gets() Finally, any feedback is welcome, and I'm just wondering if there isn't a more efficient way to do this. Anyway, cheers and thanks for reading ------=_Part_20190_28958941.1198843040520--