#ignore + - \ / ^ & #axiom C(1,3,0)F(0,1)F(0,1)F(0,1)F(0,1)[+(45)G]F(0,1)/(137.5)[+(45)G]F(0,1)/(137.5)[+(45)G]F(0,1)/(137.5)[+(45)G]F(0,1)/(137.5)[+(45)G]F(0,1)/(137.5)[+(45)G]F(0,1)/(137.5)[+(45)G]F(0,1)/(137.5)[+(45)G]F(0,1)/(137.5)[+(45)G]F(0,1)G # stworzenie przyciętego drzewka, pień plus zalążki gałęzi ułożone w filotakszji spiralnej (czyli wiosna) #rules C(a,b,t) : t>=100 -> C(a,4,t+1) # okreslenie ilosci kroków do osiągnięcia których drzewo będzie rosło (czyli ilość czasu do końca lata), po jego osiagnieciu wystawina jest wartość "4", która nie odpowiada za wysyłanie sygnału wzrostu C(a,b,t) > F(x,w) : b<3 -> C(a,b+1,t+1) # zwiększanie czasu o 1 w każdym kroku C(a,b,t) > F(x,w) : b==3 -> #stochastic p=1 C(1,0,t+1) p=2 C(2,0,t+1) p=2 C(3,0,t+1) #stochastic end # zwiększanie czasu o 1 w każdym kroku, wybieranie typu sygnału wzrostu C(a,b,t) < F(x,w) : b==3 -> F(a,w) F(x,w) < F(y,w1) : x>0 -> F(x,w1) F(x,w) : x>0 -> F(0,w) F(x,w) < G : x==1 -> F(0,1)[^(90)-(180)\(45,95)B(0,1,0)]+(25)G # tworzenie nowej galęzi wraz z liściem F(x,w) < B(0,1,t) : x==2 -> #stochastic p=3 B(0,1,t) p=1 G #stochastic end # wybór liść lub zalązek F(x,w) < G : x==3 -> [+(45)F(x,1)W(0,1)][/(137.5)+(25)F(x,1)^(90)-(90)\(5,45)B(0,1,0)]-(90)\(15,50)B(0,1,0) # teorzenie gałęzi z kwatostanem z któego powstanie później owoc W(x,w) : x>=1 -> Z(0.3,1,0) # jeśli wielkość kwatu osiągnie odpowiedznią wielkość podmień go na rozwijający się owoc (czyli lato) S(x,w,t) : t>=30 -> S(0.01,w,t) # jeśli czas istnienia owocu przekroczy zadaną wartość to niech zniknie (zostanie zastąpiony przez mini model) S(x,w,t) : x>=1 -> S(x,w,t+1) # jeśli dojrzały owoc osiągnął zadaną wielkość to zacznij mu liczyć czas istnienia Z(x,w,t) : x>=1 -> S(x,w,t) # jeśli owoc osiągnął zadaną wielkość to niech zmieni kolor na dojrzały F(x,w) > [F(x1,w1)]F(x2,w2) -> F(x,(w1^2+w2^2)^0.5) # zwiększanie grubości gałęzi w przypadku wystąpienia rozgałęzienia F(x,w) > F(x1,w1) -> F(x,w1) W(x,w) : x W(x+0.05,w) # rosniecie platkow, tak długo jak pierwszy parametr jest mniejszy od drugiego to rob przeskalowywanie od rozmiaru x do w z zadanym krokiem Z(x,w,t) : x Z(x+0.025,w,t) # rosniecie srodka, przeskalowywanie od rozmiaru x do w z zadanym krokiem B(x,w,t) : x B(x+0.1,w,t) # rosniecie lisci, przeskalowywanie od rozmiaru x do w z zadanym krokiem B(x,w,t) : t<150 -> B(x,w,t+1) # zwiększzanie licznika czasu istnienia liścia B(x,w,t) : t>=150 -> B(0.01,w,t) # opadanie liści \(x,w) : x \(x+1.0,w) # otwieranie, rozkladanie od kata x stopni do w stopni z zadanym krokiem #end rules