One of the benefits of 3D tree models is that they allow us to model several growth factors without making simplifying assumptions about the structure of the tree. One such important growth factor is to determine the solar radiation (i.e., sunlight) available in different parts of the tree.
3.1 The Current Light Model
We need to compute the light absorption for each tree segment to determine its photosynthetic activity. This can be achieved by dividing the hemisphere into sectors and then "shooting" a light beam from each sector towards a tree segment.
We compute the total distance the light beams travel in the foliage and then calculate how much solar radiation the tree segment receives. This in turn determines the photosynthetic activity of the tree segment. We don't go into the details of the computatons but basically it can be done with the help of (elementary) linear algebra.
3.2 The Voxel Space
The light model presented in 3.2 requires pairwise comparisons of tree segments and in the long run leads to computational problems. To simplify the computations without giving up too much of the reality one can divide the growth space of the tree into volume elements or voxels. These voxels are usually modelled as isosceles cubes.
Instead of making pairwise comparisons of tree segments to determine light absorption and penetration one can now make computations based on voxels.
Basically one can think two kinds of approaches. For the first, one first computes the amount foliage within in each voxel and then "fills" the voxel with the foliage. Then one is able to determine light absorption and penetration in the voxel. This is so called green voxel.
In the second approach one creates a statistically representative tree segment (e.g., a "mean tree segment" based on sizes and growth directions of the tree segments partially or totally included in the voxel) and then computes light absorption and penetration. This is so called Monte Carlo voxel.
