Lily of the Lake
How the 3DA#21 Contents Page was Created
|
|
By Cees van der Mark, Jr.
Editor's note: Here is the Lparser code used by the author to create the 3DA#21 Contents page image. The first thing you need to understand is that L-systems are coded bottom-up rather than top-down, and the second thing you need to understand is that this is three-dimensional turtle graphics. Much more about L-systems can be found at the Web site of Laurens J. Lapre, author of Lparser, and also in the now out-of-print 3DA#17 with a lengthy tutorial.
###___3D ARTIST.LS___C.J.van der Mark, Jr.
10
20
10
X
X=[""W'(0.95)D"(0.95)"ArTisT']c-(135)zzzzzzzc-(135)>(140)&(1)pzzzzzzzzzz>(20)pw
#---> changing "p" into "P" makes big leafs behind the text visible
w=-(180)zzzzzzzz+(180)czzz-(90)cz^(90)<(-180)zz-(90)???ZpZZpZZpZZpZZpZZpZZpZZZpZZpZZpZZpZZqZZqZZqqqqZq?ZqZqZ!!!
#---The "3" form
W=+(90)uu+(45)u+(55)u+(80)uu+(180)zz+(80)u+(55)u+(45)uu
#---The "D" letter form
D=-(180)'''zzzzzz"""-(90)"(1.2)xuuu'(.87)''''''''''z""""""""""-(115)u-(180)z-(65)+(88)u+(47)u+(45)uu+(45)u+(45)u''-(30)u-(15)u+(180)zz+(45)-(180)""
#---The "A" letter form
A=-(180)"zzz'u-(66)uuuu-(114)u''-(22.5)u-(22.5)u-(180)u+(22.5)u+(22.5)""u+(66)uu+(114)''uu-(180)zz""+(66)uu #---------The "r" letter form
r=-(66)'''''''zz"""""""-(90)xuu+(70)''''''''''u+(20)u+(20)u-(180)z-(20)z-(20)z""""""""""-(70)zx"
#---The "t" letter form, it will be used twice T=-(90)z''''''''''z''''''"""""u-(45)u'''''-(180)z+(45)""z""""""""""+(90)uu[-(100)'''''''''''''u][+(90)''u""]u""
#---The "i" letter form
i=-(180)zzz-(90)"""z'''-(90)xxx'uu''''''''''''z[-(90)?????''''''u][+(90)?????''''''u]-(180)z""""""""""""zz
#---The "s" letter form
s=-(90)''''z"''-(90)xx+(90)u''''-(45)u-(45)u-(45)u-(45)u+(45)u+(45)u+(45)u+(45)""""u+(90)''zzz+(90)zz-(180)'''''''z+(90)"""""""""""""""
#---Shrunken z length to move between the letter forms.
x=''''''''''''''z""""""""""""""
#---Tropism definitions used for the arc drawn in front of the "3D Artist" text.
p=t(0.03)
q=t(-0.05)
#---Big leafs, this is a more complex definition, which is not explained here.
P=[ZZZZZZZZZZ[E][B][e][b]] E=[+RE{.][+RG{.].C.}}
B=[-RB{.][-RG{.].C.}}
C=t(0.05)ff(0.95)C
G=t(0.05)gg(0.52)G
e=[+Re{.][+Rd{.].h.}} b=[-Rb{.][-Rd{.].h.}}
h=t!(0.8)F(0.95)h
d=t!(0.8)F(0.72)d
R=(10)
#---Turn the spiral into the final position and change the vector to make them fit nicely together.
#---Add the "Z" length axis to complete the building block.
u=[v]+(90)^(105)''''''''''z-(90)""""""""""????>(-15)Z>(15)!!!!-(90)''''''''''z""""""""""+(90)<(105)
#---Create the spiral form and shrink it to make it just as big as a "Z" length.
v='''''''''''&(45)+(72)kkkkkkk[-(54)o]kkkkkkk[-(54)o]
#---Building part for the spiral form.
#---Changing "Z" at the end of the definition to "z" makes the spiral invisible.
#---
k=+(36.57)^(36.8)Z
#---Flower
#---Completed flower model.
o='''''''''''''''''''''[[-(180)Z]&!ccZ>y>>y>>y>>y>>y>>y>>y>>y>>y>]
#---Colored flower leafs, two sets are defined here.
y=[[ZZccc&(80)'''{-ff+ff|-ff+ff}]>(20)[ZZ&(60)'c(3){-f+f|-f+f}]]
@
![[3DA#21]](b21cov50.gif)
Revised: 21 Aug 00
http://www.3dartist.htm/3dao/s/21/vclpars.htm
© Copyright 1995-96, 2000 Columbine, Inc. - All Rights Reserved
3D ARTIST magazine / Columbine, Inc. - P.O. Box 4787, Santa Fe, NM 87502 USA
505/424-8945 voice - 505/424-8946 fax - E-mail: webmaster@3dartist.com
Any mentioned trademarks are the property of their respective owners.