Zaktualizuj 'populus_nigra_italica.lpy'

This commit is contained in:
Przemysław Owczarczyk 2019-05-16 09:47:32 +00:00
parent ccd9672796
commit bd03efb650

View File

@ -1,30 +1,31 @@
import random
a = 50
length = 0.75
dl = 0.01
globalwidth = 0.5
degree = 70
def Start():
#random.seed(150)
pass
Axiom: _(0.3)@GsG(0.5)A(1,1.0)
derivation length: 50
Axiom: SetGuide(treepath,90)_(1)@GsG(0.5)A(1,0.30)
derivation length: 100
production:
A(x,k) :
if x >= a-20:
produce [-(a-x)F(1,0.05+0.25/k)C(1,k)]/(75)F(0.7,0.05+0.25/k)A(x+1,k+0.1)
elif x <= 5:
produce F(0.7,0.05+0.25/k)A(x+1,k+0.1)
else:
produce[-(30)F(1,0.05+0.25/k)B(1,k)]/(75)F(0.5,0.05+0.25/k)A(x+1,k+0.1)
if x%7 == 0:
produce /(96)F(6,1-k/5)A(x+1,k+0.1)
elif x <= 35:
produce /(degree)F(0.7,1-k/5)[SetGuide(treepath2,8)_(0.3)&(90)-(60)B(1,1.0)]A(x+1,k+0.1)
B(x,k):
if x <= 5:
r1 = random.random()
r2 = random.random()
produce [^(r1*50)F(1,0.05+0.25/k)-(20);Leaf(1)][&(r2*50)F(1,0.05+0.25/k)-(20);Leaf(1)]F(1,0.05+0.25/k)[-(20);Leaf(1)]B(x+1,k+1)
r = random.random()
if x <= 20:
produce F(0.8,0.05+0.25/k)[/(r*500)+(20)_(0.02)F(1)C(1,1.0)]B(x+1,k+1)
C(x,k):
if x <= 5:
r1 = random.random()
r2 = random.random()
produce [^(r1*50)F(1,0.05+0.25/k)-(20);Leaf(1)]F(1,0.05+0.25/k)[-(20);Leaf(1)]C(x+1,k+1)
r = random.random()
if x <= 10:
produce F(0.6)C(x+1,k+1)
Leaf(x):
produce ~l(1)
produce Sweep(path,section,length,dl,globalwidth,leafwidth)
interpretation:
endlsystem