|
@@ -7,6 +7,9 @@ import os, glob, errno
|
|
|
import math, random
|
|
|
from PIL import Image, ImageDraw
|
|
|
import svgwrite
|
|
|
+import datetime
|
|
|
+
|
|
|
+
|
|
|
|
|
|
def generatePolygon( ctrX, ctrY, aveRadius, irregularity, spikeyness, numVerts ) :
|
|
|
'''Start with the centre of the polygon at ctrX, ctrY,
|
|
@@ -61,22 +64,28 @@ def clip(x, min, max) :
|
|
|
elif( x > max ) : return max
|
|
|
else : return x
|
|
|
|
|
|
+
|
|
|
+
|
|
|
# create maps export folder
|
|
|
-directory = "maps"
|
|
|
+base = "maps"
|
|
|
+now = datetime.datetime.now()
|
|
|
+now = now.strftime("%Y-%m-%d_%X")
|
|
|
+print(now)
|
|
|
+directory = base + "/" + now
|
|
|
try:
|
|
|
os.makedirs(directory)
|
|
|
except OSError as exception:
|
|
|
if exception.errno != errno.EEXIST:
|
|
|
raise
|
|
|
-# remove old image
|
|
|
-# os.chdir(directory)
|
|
|
-# files=glob.glob('*')
|
|
|
-# for filename in files:
|
|
|
-# os.unlink(filename)
|
|
|
|
|
|
-for i in range(0, 1):
|
|
|
|
|
|
- verts = generatePolygon( ctrX=500, ctrY=500, aveRadius=300, irregularity=1, spikeyness=0.15, numVerts=13 )
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+for i in range(0, 99):
|
|
|
+
|
|
|
+ nv = random.randint(10,20)
|
|
|
+ verts = generatePolygon( ctrX=500, ctrY=500, aveRadius=300, irregularity=1, spikeyness=0.15, numVerts=nv )
|
|
|
|
|
|
index = str(i) if i > 9 else '0'+str(i)
|
|
|
|
|
@@ -88,14 +97,28 @@ for i in range(0, 1):
|
|
|
|
|
|
svg = svgwrite.Drawing(filename = directory+"/map"+index+".svg",size = ("1000px", "1000px"))
|
|
|
|
|
|
- print(len(verts))
|
|
|
+ # print(len(verts))
|
|
|
for v in range(0, len(verts)):
|
|
|
- print('---- '+str(v)+' ----')
|
|
|
- # p1 = verts[v]
|
|
|
- # p2 = verts[0] if v >= len(verts) else verts[v+1];
|
|
|
+ # print('---- '+str(v)+' ----')
|
|
|
+ p1 = verts[v]
|
|
|
+ p2 = verts[0] if v >= len(verts)-1 else verts[v+1];
|
|
|
# print(p1)
|
|
|
# print(p2)
|
|
|
- # svg.add(svg.line(p1, p2))
|
|
|
+
|
|
|
+ if random.randint(0,10) > 8:
|
|
|
+ sda = "4 4"
|
|
|
+ sdo = "5"
|
|
|
+ else:
|
|
|
+ sda = "0 0"
|
|
|
+ sdo = "0"
|
|
|
+
|
|
|
+ line = svg.line(p1, p2,
|
|
|
+ stroke_width = "2",
|
|
|
+ stroke = "black",
|
|
|
+ stroke_linecap = "round",
|
|
|
+ stroke_dasharray = sda,
|
|
|
+ stroke_dashoffset = sdo)
|
|
|
+ svg.add(line)
|
|
|
|
|
|
svg.save()
|
|
|
|