summaryrefslogtreecommitdiff
path: root/mandelgen2.py
diff options
context:
space:
mode:
Diffstat (limited to 'mandelgen2.py')
-rwxr-xr-xmandelgen2.py83
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()