Modelowanie_Wirtualnych_Swi.../Assets/LSystem/FruitTree.txt
2021-07-09 23:35:24 +02:00

74 lines
2.6 KiB
Plaintext

#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 -> 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<w -> Z(x+0.025,w,t)
# rosniecie srodka, przeskalowywanie od rozmiaru x do w z zadanym krokiem
B(x,w,t) : x<w;t<150 -> 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<w -> \(x+1.0,w)
# otwieranie, rozkladanie od kata x stopni do w stopni z zadanym krokiem
#end rules