1 |
ruleset ( G => f; G(s,r) => f(s); G(s,r,t) => f(s); ) |
2 |
|
3 |
define La 5; // initial length - main segment |
4 |
define Ra 1.15; // growth rate - main |
5 |
define Lb 1.3; // initial length - lateral segment |
6 |
define Rb 1.25; // growth rate - lateral |
7 |
define Lc 3; // initial length - marginal notch |
8 |
define Rc 1.19; // growth rate - notch |
9 |
|
10 |
roseleaf(n) => [{A(0,0).}][{A(0,1)}],n; |
11 |
A(t,d) : d=0 => .G(La,Ra).[+B(t)G(Lc,Rc,t).}] |
12 |
[+B(t){.]A(t+1,d); |
13 |
A(t,d) : d=1 => .G(La,Ra).[-B(t)G(Lc,Rc,t).}] |
14 |
[-B(t){.]A(t+1,d); |
15 |
B(t) : t>0 => G(Lb,Rb)B(t-1); |
16 |
G(s,r) => G(s*r,r); |
17 |
G(s,r,t): t>1 => G(s*r,r,t-1); |