|
|
Hi,
I want to share the first results of my planned plant distribution tool.
In principle it's an solvable problem, see
http://graphics.stanford.edu/papers/ecosys/ecosys.pdf for a basic procedure
example.
First you have to check distances to all neighbors of each plant. Dependent
of the distance and whether the neighbor is another species or not,
increase or decrease the size of the plants. A plant will be replaced after
several iterations or if the size becomes too small.
The problem is to avoid checking each plant against each other on each
iteration, because this leads to n*(n-1) checks, if n is the number of
plants.
My idea is to use my favorite povray commands - 'trace' and 'eval_pigment'.
For each plant a disc is defined with a cylindrical pigment. Then you search
for neighbors by conducting traces. If you hit a neighboring disc, you check
the pigment at this point. This way I 'linearized' the problem, at least I
hope so.
So I implemented aging and influences of several species - light, water,
roots, (soils, slope...) will be considered next.
The image shows distributions of four species after 1, 10 and 40 iterations,
each with equal plant parameters. A regular start distribution pattern was
chosen to show the effect. After 40 iterations representing 2.5 average
lifetimes no pattern is recognizable anymore.
A simple render with four different plants shows this result.
Norbert Kern
Post a reply to this message
Attachments:
Download 'vegetation wip1.jpg' (332 KB)
Preview of image 'vegetation wip1.jpg'
|
|