From 749cedb8d78149bd1de04d027138567dd26027e1 Mon Sep 17 00:00:00 2001 From: nojhan Date: Sun, 24 Jul 2011 08:06:06 +0200 Subject: [PATCH] use a L-system to generate a penrose tiling and save it in the TSPlib format --- penrose_tsp.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 penrose_tsp.py diff --git a/penrose_tsp.py b/penrose_tsp.py new file mode 100644 index 0000000..0cb94b0 --- /dev/null +++ b/penrose_tsp.py @@ -0,0 +1,33 @@ +import lindenmayer +import tsplib +import sys + +depth = 1 +if len(sys.argv) > 1: + depth = int( sys.argv[1] ) + +segment_size = 10 +float_rounding = 10 + +import turtle +ttl = turtle.Turtle() +ttl.speed('fastest') +penrose = lindenmayer.DumpTurtleLSystem(ttl, + axiom="[X]++[X]++[X]++[X]++[X]", + rules={ + 'F': "", + 'W': "YF++ZF----XF[-YF----WF]++", + 'X': "+YF--ZF[---WF--XF]+", + 'Y': "-WF++XF[+++YF++ZF]-", + 'Z': "--YF++++WF[+ZF++++XF]--XF" + }, + angle=36, heading=0, size=segment_size, rounding=float_rounding ) + +penrose.draw( depth ) +#print penrose + +#plot_segments( penrose.segments ) + + +tsplib.write_segments( penrose.segments, segment_size, depth, float_rounding, fd=sys.stdout ) +