1 / 75

Environmentally Affected Tree Growth using L-Systems and Voxels

Andrew Leeuwenberg. Environmentally Affected Tree Growth using L-Systems and Voxels. Contents. Voxelising Objects Collision & Avoidance Phototropism Ambient Direct Sorting L-String Growing multiple trees Project management. Summary of Intent. Dev -Test (proof of concept).

zed
Download Presentation

Environmentally Affected Tree Growth using L-Systems and Voxels

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Andrew Leeuwenberg Environmentally Affected Tree Growth using L-Systems and Voxels

  2. Contents • Voxelising Objects • Collision & Avoidance • Phototropism • Ambient • Direct • Sorting L-String • Growing multiple trees • Project management

  3. Summary of Intent Dev-Test (proof of concept)

  4. Collision avoidance

  5. Phototropism

  6. Competition

  7. Voxelising Collision Object

  8. Magmax: |5| • |3| • |4|

  9. Magmax: |5| subDivmax: Magmax / voxelSize + 1

  10. Magmax: |5| subDivmax: 6

  11. Getting Voxel Index • ScatterPoint = Pxyz • Define voxelArea: Va[3] • VoxelArray[Va[0] * Va[1] * Va[2]] • Define a voxelCorner: Vc[3] • Define voxelSize: Vs • VoxelPoint(Vp[3]) = (Pxyz– Vcxyz) / Vs • Index = • VoxelArray[Index] • Eg. 100, 60, 100 • Eg. -10, -4, -10 • Eg. 1.0f (Vp[1] * (Va[0] * Va[2])) + (Vp[2] * Va[0]) + Vp[0]

  12. 4:20

  13. Path finding using voxels

  14. When growing a branch [ [ [ [ [ [ [ 1 voxel unit [

  15. Collision avoidance

  16. Collision avoidance

  17. Collision avoidance

  18. Phototropism

  19. Phototropism • Calculated : “F” call • Affects : • Growth rate • Growth direction • Leaf growth • Leaf surface area

  20. Luminosity

  21. Ambient(Eamb)

  22. N-Rooks

  23. N-Rooks - Normalized

  24. N-Rooks - Normalized Side Top

  25. Marsaglias Spherical Scatter • V1 ~U([-1,1]) • V2 ~U([-1,1]) • S= V12 + V22 < 1 • X = 2V1 ( 1-S )1/2 • Y = 2V2 ( 1-S )1/2 • Z = 1 - 2S

  26. Marsaglias Spherical Scatter • V1 ~U([-1,1]) • V2 ~U([ 0,1]) • S= V12 + V22 < 1 • X = 2V1 ( 1-S )1/2 • Y = 2V2 ( 1-S )1/2 • Z = 1 - 2S

  27. Marsaglias Spherical Scatter • V1 ~U([-1,1]) • V2 ~U([ 0,1]) • S= V12 + V22 < 1 • X = 2V1 ( 1-S )1/2 • Y = 2V2 ( 1-S )1/2 • Z = 1 - 2S

  28. The effect of increased rays and voxel size on luminosity values

  29. The effect of increased rays and voxel size on luminosity values

  30. The RSD value when comparing voxel size and number of rays to calculate lumination

  31. Ambient light • Eamb = Rterminated/ Rtotal

  32. Direct(Edir)

  33. Sun Arch

  34. Sun Arch • Edir = Rterminated/ Rtotal

  35. Luminosity • Sun Influence (Si) = 0 - 1 • Etotal = (Edir* Si) + (Eamb* (1 –Si)) • Si = 0.5

  36. Luminosity • Sun Influence (Si) = 0 - 1 • Etotal = (Edir* Si) + (E* (1 –Si)) • Si = 0.1

  37. Luminosity • Sun Influence (Si) = 0 - 1 • Etotal = (Edir* Si) + (Eamb* (1 –Si)) • Si = 0.9

  38. Growth rate

  39. Leaf growth

  40. E affecting growth direction

  41. Rotation • Calculate average luminosity (Ē) • North - South • East - West ĒN

  42. Rotation • Calculate average luminosity (Ē) • North - South • East - West • Max angle rotation = θmax • For each axis: • Rotation θ = θmax * (Ēmax – Ēmin)

  43. Rotation • Calculate average luminosity (Ē) • North > South • East - West • Max angle rotation = θmax • For each axis: • Rotation θ = θmax * (ĒN max – ĒS min )

  44. Rotation

More Related