Environmentally Affected Tree Growth using LSystems and Voxels
- Slides: 75
Environmentally Affected Tree Growth using L-Systems and Voxels Andrew Leeuwenberg
Contents � Voxelising Objects � Collision & Avoidance � Phototropism �Ambient �Direct � Sorting L-String � Growing multiple trees � Project management
Summary of Intent Dev-Test (proof of concept)
Collision avoidance
Phototropism
Competition
Voxelising Collision Object
Magmax: |5| |3| |4|
Magmax: |5| sub. Divmax: Magmax / voxel. Size + 1
Magmax: |5| sub. Divmax: 6
Getting Voxel Index Scatter. Point = Pxyz �Eg. 100, 60, 100 � Define voxel. Area: Va[3] � Voxel. Array[Va[0] * Va[1] * Va[2]] �Eg. -10, -4, -10 � Define a voxel. Corner: Vc[3] �Eg. 1. 0 f � Define voxel. Size: Vs � Voxel. Point (Vp[3]) = (Pxyz – Vcxyz) / Vs � Index = (Vp[1] * (Va[0] * Va[2])) + (Vp[2] * Va[0]) + Vp[0] � Voxel. Array[Index] �
4: 20
Path finding using voxels
[ [ [ [ When growing a branch [ 1 voxel unit
Collision avoidance
Collision avoidance
Collision avoidance
Phototropism
Phototropism � � Calculated : “F” call Affects : �Growth rate �Growth direction �Leaf growth �Leaf surface area
Luminosity
Ambient (Eamb )
N-Rooks
N-Rooks - Normalized
N-Rooks - Normalized Side Top
Marsaglias Spherical Scatter � V 1 ~U([-1, 1]) � V 2 ~U([-1, 1]) �S= �X V 12 + V 22 < 1 = 2 V 1 ( 1 -S )1/2 � Y = 2 V 2 ( 1 -S )1/2 � Z = 1 - 2 S
Marsaglias Spherical Scatter � V 1 ~U([-1, 1]) � V 2 ~U([ 0, 1]) �S= �X V 12 + V 22 < 1 = 2 V 1 ( 1 -S )1/2 � Y = 2 V 2 ( 1 -S )1/2 � Z = 1 - 2 S
Marsaglias Spherical Scatter � V 1 ~U([-1, 1]) � V 2 ~U([ 0, 1]) �S= �X V 12 + V 22 < 1 = 2 V 1 ( 1 -S )1/2 � Y = 2 V 2 ( 1 -S )1/2 � Z = 1 - 2 S
The effect of increased rays and voxel size on luminosity values 0, 6 Luminosity 0, 4 0, 2 Voxel Size 0 10 50 100 200 -0, 2 -0, 4 -0, 6 -0, 8 Number of Rays 10000 0. 25 0. 1
The effect of increased rays and voxel size on luminosity values 0, 8 0, 6 Luminosity 0, 4 Voxel Size 0, 2 0. 25 0 -0, 2 10 50 100 200 -0, 4 -0, 6 -0, 8 Number of Rays 10000 0. 1
The RSD value when comparing voxel size and number of rays to calculate lumination 70 60 RSD (%) 50 Voxel Size 0. 25 0. 1 0. 01 40 30 20 10 50 100 200 Number of Rays 10000
Ambient light � Eamb = Rterminated / Rtotal
Direct (Edir )
Sun Arch
Sun Arch � Edir = Rterminated / Rtotal
Luminosity � Sun Influence (Si) = 0 - 1 � Etotal = (Edir* Si) + (Eamb* (1 –Si)) � Si = 0. 5
Luminosity � Sun Influence (Si) = 0 - 1 � Etotal = (Edir* Si) + (E* (1 –Si)) � Si = 0. 1
Luminosity � Sun Influence (Si) = 0 - 1 � Etotal = (Edir* Si) + (Eamb* (1 –Si)) � Si = 0. 9
Growth rate
Leaf growth
E affecting growth direction
Rotation � Calculate average luminosity (Ē) �North - South N �East - West E E E ĒN E E W E S
Rotation � Calculate average luminosity (Ē) �North - South �East - West � Max angle rotation = θmax � For each axis: �Rotation θ = θmax * (Ēmax – Ēmin )
Rotation � Calculate average luminosity (Ē) �North > South �East - West � Max angle rotation = θmax � For each axis: �Rotation θ = θmax * (ĒN max – ĒS min )
Rotation
Rotation � Calculate average luminosity �North / South �East / West � Max angle rotation = θmax � For each axis: �Rotation θ = θmax * ( Emax – Emin )
Sorting L-String
Problem with L-String FF[+F[+X][-X]FX[-F[+X][-X]FX] FFF[+X][-X]FX
Sorting string Child 0 FF [+X][-X] FX][-F[+X][-X]FX] FFF[+X][-X] FX 1 2 Ω ψ Id String 0 -1 0 FFFFFFX 2 2 0 0 1 2 +FFX -FFX 5 0 3 +X 5 0 4 -X Ω Start time 4 1 5 +X ψ Parent branch 4 1 6 -X Id Identification num 4 2 7 +X 4 2 8 -X String Branch L-String
Sorting string Ω Ω ψ Id String -1 00 FFFFFFX 22 22 00 00 11 22 +FFX -FFX 55 55 00 00 33 44 +X -X 44 11 55 +X 44 11 66 -X 44 22 77 +X 44 22 88 -X
Sorting string Ω ψ Id String 0 -1 0 FFFFFFX 2 0 1 +FFX 2 0 2 -FFX 5 0 3 +X 5 0 4 4 1 4 0 0 0 1 2 -X 0 1 2 5 +X 0 1 2 5 6 7 8 1 6 -X 0 1 2 3 4 5 6 4 2 7 +X 4 2 8 -X 0 3 4 7 8
Sorting string Ω ψ Id String 0 -1 0 FFFFFFX 2 0 1 +FFX 2 0 2 -FFX 5 0 3 +X 5 0 4 4 1 4 0 0 0 1 2 -X 0 1 2 5 +X 0 1 2 5 6 7 8 1 6 -X 0 1 2 3 4 5 6 4 2 7 +X 4 2 8 -X 0 3 4 7 8
Sorting string 0 0 1 2 0 0 2 1 7 1 5 2 6 0 8 3 6 4 8 0 5 1 4 0 3 7 3
New L-String Interpretation FF[+F[+X][-X]FX[-F[+X][-X]FX] FFF[+X][-X]FX
New L-String Interpretation
Self collision
Geometry Occlusion & Collision
Geometry & Self-Occlusion & Collision
Growing Multiple Trees
Linked-Structures tree. List branch. Info *head branch. Info *temp draw. Index *head draw. Index *temp tree. List *next branch. Info MString L-string draw. Index MInt. Array index. List int id draw. Index *next float matrix[16] …growth variables branch. Info *next
*head *temp *next
Next Stage
Next stage � Improve features �Simultaneous / staggered growth �Add usability control � Proxy visualisation � Experiments �Determined successful if: ○ 3 behaviours achieved
Project management
Gant chart
Blog – aleeuwenberg. com
Summary � Voxelising Objects � Collision & Avoidance � Phototropism �Ambient �Direct � Sorting L-String � Growing multiple trees � Project management � Next stage
Questions please
References � Prusinkiewicz, P. , & Lindenmayer, A. (1990). The Algorithmic Beauty of Plants. New York: Springer-Verlag. � Greene, N. (1989). Voxel Space Automata: Modelling with Stochastic Growth Processes in Voxel Space. SIGGRAPH '89 Proceedings of the 16 th annual conference on Computer graphics and interactive techniques , 23 (3), 175 – 184. � Shirley, P. (1991). Discrepancy as a Quality Measure for Sample Distributions. Proceedings of Eurographics. 183 -193 � G, Marsaglia. (1972). Choosing a point from the surface of a sphere. The Annals of Mathematical Statistics. 43, 2. p 645 646
- Psia unit
- Temperature glide
- Characteristics of an environmentally responsible business
- Environmentally sound drilling practices
- Awgesc asean
- Environmentally friendly pickling
- What is environmentally critical areas
- What is growth analysis
- Monocots eudicots
- Primary growth and secondary growth in plants
- Vascular ray
- Growthchain
- Geometric growth vs exponential growth
- Neoclassical growth theory vs. endogenous growth theory
- Difference between organic and inorganic growth
- Foragry
- Full binary tree in data structure
- Threaded binary tree definition
- Problem tree solution tree
- Objective tree analysis
- Problem tree and objective tree
- Difference between general tree and binary tree
- Ruins provisions
- Fetus and newborn affected by cesarean adalah
- Who are affected by the problem
- Properties of cavity varnish
- Gene tree vs phylogenetic tree
- Tournament trees
- Winner tree and loser trees
- Convert 2-3-4 tree to red black
- What does the tree symbolize in a poison tree
- Bwtree
- H-tree clock tree synthesis
- Parse tree vs syntax tree
- How about the orchid to a tree is a tree benefited
- Mckinsey issue tree
- Using tree diagram
- What is association rules
- Association analysis advanced concepts
- Simplifying radicals with factor tree
- Oldest tree created using
- World oldest tree using
- Priority queue using avl tree
- Using system using system.collections.generic
- Accumulator ac
- Pedigree only males affected
- Fraternal twins pedigree symbol
- Who "still felt the unease of wrongdoing?"
- How is equilibrium constant affected by temperature
- The civil war affected the northern economy by
- Commonly confused words exercises
- Affected or effected
- Which use of western land negatively affected everyone?
- Which is not the “effect of accident on worker”
- The arrow affected the aardvark
- How has globalization affected the lubicon cree
- Facts about zeus the greek god
- What are the two factors momentum depends on
- How can habits modify a human act
- Imperialisml
- Who are affected by the problem
- Different types of people as media
- Individual demand for fashion goods is affected by
- How was the hollywood ten affected by the accusations
- Stages of human growth and development pictures
- St. marys county land use and zoning lawyer
- Ssema
- Growth and development principles
- Stages of human development
- Rice plant stages
- Exponential growth vs decay
- Late childhood mental development
- Homeostasis
- Pretest growth development and sexuality
- Development maturation
- The stages of growth and development