diff options
Diffstat (limited to 'mandelgen2.py')
-rwxr-xr-x | mandelgen2.py | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/mandelgen2.py b/mandelgen2.py new file mode 100755 index 0000000..26a3baa --- /dev/null +++ b/mandelgen2.py @@ -0,0 +1,83 @@ +#!/bin/python +#written for py3.5.2 +from drawille import Canvas +import cmath +import math +import curses +from PIL import Image +import argparse +def init () : + global args + parser = argparse.ArgumentParser() + parser.add_argument("-xm", help="max x", + type=int) + parser.add_argument("-ym", help="max y", + type=int) + parser.add_argument("-xt", help="tran x", + type=float) + parser.add_argument("-yt", help="tran y", + type=float) + parser.add_argument("-s", help="scale", + type=float) + parser.add_argument("-b", help="braile", + action="store_true") + parser.add_argument("-t", help="threshhold of calcs", + type=int) + args = parser.parse_args() + global xt + xt = args.xt + global yt + yt = args.yt + global xs + xs = args.s + global ys + ys = args.s + global xm + xm = args.xm + global ym + ym = args.ym + global thr + thr = args.t + global vals + vals = [[]] + if (args.b) : + global canvas + canvas = Canvas() + else : + global img + global pix + img = Image.new('RGB', (xm, ym)) + pix = img.load() +def end () : + if (args.b) : + print(canvas.frame()) + else : + img.save("mandel","PNG") + return +print("initializing....") +init() +print("crunching....") +for xi in range(0, xm, 1) : + for yi in range(0, ym, 1) : + c = complex(xt + (xs * xi), yt - (ys * yi)) + n = complex(0, 0) + t = thr + for i in range(0, thr, 1) : + if (math.sqrt((n.real * n.real) + (n.imag * n.imag)) >= 2 ) : + t = i + break + else : + n = n * n + c + if (args.b) : + if (t != thr) : + canvas.unset(xi, yi) + else : + canvas.set(xi, yi) + else : + color = int(255 - (255 * t / thr)) + pix[xi, yi] = (color, color, color) + if (xi % 100 == 0) : + print(xi) + print(t) +print("saving....\b") +end() |