/[cvs]/fract/koch.py
ViewVC logotype

Contents of /fract/koch.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1.1.1 - (show annotations) (vendor branch)
Sat Feb 24 15:57:15 2001 UTC (23 years, 8 months ago) by teddy
Branch: masse, MAIN
CVS Tags: start, HEAD
Changes since 1.1: +0 -0 lines
File MIME type: text/x-python
Imported sources (take 2)

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

root@recompile.se
ViewVC Help
Powered by ViewVC 1.1.26