1 |
#!/usr/bin/python |
2 |
|
3 |
def normal(kord1,kord2): |
4 |
x1,y1= kord1 |
5 |
x2,y2= kord2 |
6 |
x3= 0.5*(x2-x1+(y2-y1)/2)+x1 |
7 |
y3= 0.5*(y2-y1-(x2-x1)/2)+y1 |
8 |
return x3, y3 |
9 |
|
10 |
def transform(inbase): |
11 |
outbase= [] |
12 |
for it in range(len(inbase)-1): |
13 |
(x1,y1)= inbase[it] |
14 |
(x2,y2)= inbase[it+1] |
15 |
outbase.append((x1,y1)) |
16 |
if it%2 == 0: |
17 |
outbase.append(normal((x1,y1),(x2,y2))) |
18 |
else: |
19 |
outbase.append(normal((x2,y2),(x1,y1))) |
20 |
outbase.append(inbase[-1]) |
21 |
return outbase |
22 |
|
23 |
def draw(inbase): |
24 |
print "#PLOT 2" |
25 |
print "o" |
26 |
print "e" |
27 |
for it in range(len(inbase)-1): |
28 |
x1,y1= inbase[it] |
29 |
x2,y2= inbase[it+1] |
30 |
print "l", x1, y1, x2, y2 |
31 |
print "x" |
32 |
|
33 |
base= [(142,142), normal((142,142),(426,142)), |
34 |
(426,142), normal((426,142),(285,389)), |
35 |
(285,389), normal((285,389),(142,142)), (142,142)] |
36 |
|
37 |
for i in range(10): |
38 |
base= transform(base) |
39 |
|
40 |
draw(base) |
41 |
|