home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 11 / 11.iso / m / m401 / 5.ddi / PLANTS.EXE / TREE2.LS < prev    next >
Encoding:
Text File  |  1992-11-05  |  2.7 KB  |  108 lines

  1. name 'Simple Deciduous Trees'
  2. objname 'Decid01'
  3. radius .15
  4. detail 9
  5. mindetail 3
  6. scale 15
  7. smooth ON
  8. taper ON
  9. rfactor .7
  10. dfactor .5
  11. etrop .003
  12. pen type *
  13.  
  14. #define j 8 as "Age,Young,Old  ",5,11
  15.  
  16. iterations   j
  17. axiom     UY(1)A(2,20)
  18.  
  19. #define    u  21 as "Orientation,Skinny,Wide  ",0,30
  20. #define    r  .90
  21. #define    t  (u+60/100)
  22. #define    a  (u+60/2)
  23. #define    d   137.5
  24. #define    x   .707
  25. #define    s   .3
  26. #define    v 0 as "Species,Cherry,Maple,Birch"
  27. #define    e 1 as "Season,Winter,Spring/Summer,Fall"
  28. #define    y 0 as "Leaf Detail,Low,Medium,High"
  29. #define    i (.15+(.2*v))
  30. #define    m (13+v)
  31. rules
  32.  
  33. U : v=2 >> !(.15)'(m)
  34. U >> !(i)'(m)
  35. Y(q) >> Y(q+1)
  36. A(l,w) >> !Q(l)[&.30(a)B(l*t,w*x)]/.30(d)A(l*r,w*x)
  37. B(l,w) >> !Q(l)[-.30(a)$C(l*t,w*x)]C(l*r,w*x)
  38. C(l,w) >> !Q(l)[+.30(a)$B(l*t,w*x)]B(l*r,w*x)
  39. N >> ^(4)
  40.  
  41. // This puts some leaves along the nodes
  42.  
  43. Q(z) >> [f.3(z/4)/.99(8)$-.25(70)G(3)]R(z/2)[\.99(8)$+.25(70)G(3)]N[f.3(z/4)/.99(8)$-.25(70)G(0)]R(z/2)[\.99(8)$+.25(70)G(0)]
  44. R(z) >> F.1(z)
  45.  
  46. // Age the leaves and if they are young enough at the end and it isn't winter
  47. // then give them geometry.
  48.  
  49. // leafy
  50. // detail low
  51. // spring/summer
  52. G(p) : p<5&q=j&e=1&y=0&v=0 >> '(1)[{:-(30)f.3(s):^(20)+(60)f.3(s):+(120)f.3(s):}]'(m)
  53. // fall
  54. G(p) : p<5&q=j&e=2&y=0&v=0 >> '(3)[{:-(30)f.3(s):^(20)+(60)f.3(s):+(120)f.3(s):}]'(m)
  55.  
  56. // detail medium
  57. // spring/summer
  58. G(p) : p<5&q=j&e=1&y=1&v=0 >> ~(plants\leaf0gt.3ds)  
  59. // fall
  60. G(p) : p<5&q=j&e=2&y=1&v=0 >> ~(plants\leaf0rt.3ds) 
  61.  
  62. // detail high
  63. // spring/summer
  64. G(p) : p<5&q=j&e=1&y=2&v=0 >> ~(plants\leaf0gh.3ds)
  65. // fall
  66. G(p) : p<5&q=j&e=2&y=2&v=0 >> ~(plants\leaf0rh.3ds)
  67.  
  68. // maple
  69. // detail low
  70. // spring/summer
  71. G(p) : p<5&q=j&e=1&y=0&v=1 >> '(1)[{:-(30)f.3(s):^(20)+(60)f.3(s):+(120)f.3(s):}]'(m)
  72. // fall
  73. G(p) : p<5&q=j&e=2&y=0&v=1 >> '(3)[{:-(30)f.3(s):^(20)+(60)f.3(s):+(120)f.3(s):}]'(m)
  74.  
  75. // detail medium
  76. // spring/summer
  77. G(p) : p<5&q=j&e=1&y=1&v=1 >> ~(plants\leaf14gt.3ds)
  78. // fall
  79. G(p) : p<5&q=j&e=2&y=1&v=1 >> ~(plants\leaf16rt.3ds) 
  80.  
  81. // detail high
  82. // spring/summer
  83. G(p) : p<5&q=j&e=1&y=2&v=1 >> ~(plants\leaf14gh.3ds)
  84. // fall
  85. G(p) : p<5&q=j&e=2&y=2&v=1 >> ~(plants\leaf14rh.3ds)
  86.  
  87. // Birch
  88. // detail low
  89. // spring/summer
  90. G(p) : p<5&q=j&e=1&y=0&v=2 >> '(1)[{:-(30)f.3(s):^(20)+(60)f.3(s):+(120)f.3(s):}]'(m)
  91. // fall
  92. G(p) : p<5&q=j&e=2&y=0&v=2 >> '(3)[{:-(30)f.3(s):^(20)+(60)f.3(s):+(120)f.3(s):}]'(m)
  93.  
  94. // detail medium
  95. // spring/summer
  96. G(p) : p<5&q=j&e=1&y=1&v=2 >> ~(plants\leaf1gt.3ds)
  97. G(p) : p<5&q=j&e=2&y=1&v=2 >> ~(plants\leaf1rt.3ds)
  98.  
  99. // detail high
  100. // spring/summer
  101. G(p) : p<5&q=j&e=1&y=2&v=2 >> ~(plants\leaf1gh.3ds)
  102. G(p) : p<5&q=j&e=2&y=2&v=2 >> ~(plants\leaf1rh.3ds)
  103.  
  104.  
  105. // winter (no leaves)
  106. G(p) >> G(p+1)
  107.  
  108.