summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/circuit-macros/examples/Koch.m4
blob: faa46dfff8ee516d3e23afbc28b78c839ed59c1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
.PS
# Koch snowflake
gen_init

  leng = 4
  X: 3,5
  nsides = 3; rot[1] = 0; rot[2] = -120; rot[3] = -120
  depth=4

  for i=1 to depth do {
    for j=1 to nsides do { tmp[j] = rot[j] } 
    leng = leng/3
    k = 0
    for j=1 to nsides do {
      rot[k+1] = tmp[j]
      rot[k+2] = 60
      rot[k+3] = -120
      rot[k+4] = 60
      k += 4
      }
    nsides = k
    }

  a = 0
  line from X to X
  for i=1 to nsides do {
   a += rot[i]
   X: X+(Rect_(leng,a))
   continue to X
   }

.PE