From 01f0a762e30f5161f40ae5840c7c0cc009f80864 Mon Sep 17 00:00:00 2001 From: Bachir Soussi Chiadmi Date: Tue, 14 Mar 2017 16:11:16 +0100 Subject: [PATCH] svg line with some attributes ok --- mapgen.py | 49 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/mapgen.py b/mapgen.py index b2a8acd..28cb60d 100755 --- a/mapgen.py +++ b/mapgen.py @@ -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()