summaryrefslogtreecommitdiff
path: root/L-system/models/abop-4/abop-4.factor
blob: 71cf32d4d7da1d05e045978739c32b23621efc5d (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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
USING: accessors ui L-system ;

IN: L-system.models.abop-4

! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

: abop-4 ( <L-system> -- <L-system> )

  L-parser-dialect >>commands

  [ 18 >>angle ] >>turtle-values

  "c(12)&(20)N" >>axiom

  {
    {
      "N"
      "FII[&(60)rY]>(90)[&(45)'(0.8)rA]>(90)[&(60)rY]>(90)[&(45)'(0.8)rD]!FIK"
    }
    { "Y" "[c(4){++l.--l.--l.++|++l.--l.--l.}]" }
    { "l" "g(.2)l" }
    { "K" "[!c(2)FF>w>(72)w>(72)w>(72)w>(72)w]" }
    { "w" "[c(2)^!F][c(5)&(72){-(54)f(3)+(54)f(3)|-(54)f(3)+(54)f(3)}]" }
    { "f" "_" }

    { "A" "B" }
    { "B" "C" }
    { "C" "D" }
    { "D" "E" }
    { "E" "G" }
    { "G" "H" }
    { "H" "N" }

    { "I" "FoO" }
    { "O" "FoP" }
    { "P" "FoQ" }
    { "Q" "FoR" }
    { "R" "FoS" }
    { "S" "FoT" }
    { "T" "FoU" }
    { "U" "FoV" }
    { "V" "FoW" }
    { "W" "FoX" }
    { "X" "_" }

    { "o" "$t(-0.03)" }
    { "r" "~(30)" }
  }
    >>rules ;

! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

: main ( -- ) [ L-system abop-4 "L-system" open-window ] with-ui ;

MAIN: main