POV-Ray : Newsgroups : povray.binaries.images : Yet Another Ecosystem WIP ... (~240KB) Server Time
7 Aug 2024 01:19:05 EDT (-0400)
  Yet Another Ecosystem WIP ... (~240KB) (Message 1 to 3 of 3)  
From: Mike Andrews
Subject: Yet Another Ecosystem WIP ... (~240KB)
Date: 28 Jul 2006 12:00:01
Message: <web.44ca3432e3f31a435e1e98150@news.povray.org>
Hi Folks,

I've been playing with the auto-ecosystem and plant placement ideas since
Norbert showed his vegetation WIPs and the link to the paper (thanks
Norbert!).

The vigour and competitive ability of the plants in my eco-WIP are
determined by two environmental variables - 'wetness' and 'suniness' -
derived from the base terrain function, with each plant type liking a
different environmental niche.

The initial seeding was 500 randomly scattered plants and the picture is
after 20 iterations of local seeding and self thinning, giving 5260 plants
that have grouped into their prefered niches.

The last few iterations took about 160 seconds each on a 1GHz PIII and
rendered in about an hour and a half. The bushes were created with
POV-Tree.

Bye for now,

Mike Andrews.


Post a reply to this message


Attachments:
Download 'ecosystem.jpg' (242 KB)

Preview of image 'ecosystem.jpg'
ecosystem.jpg


 

From: Norbert Kern
Subject: Re: Yet Another Ecosystem WIP ... (~240KB)
Date: 28 Jul 2006 14:55:00
Message: <web.44ca5d7dfccadda994998c130@news.povray.org>
"Mike Andrews" <nomail@nomail> wrote:
> Hi Folks,
>
> I've been playing with the auto-ecosystem and plant placement ideas since
> Norbert showed his vegetation WIPs and the link to the paper (thanks
> Norbert!).
>
> The vigour and competitive ability of the plants in my eco-WIP are
> determined by two environmental variables - 'wetness' and 'suniness' -
> derived from the base terrain function, with each plant type liking a
> different environmental niche.
>
> The initial seeding was 500 randomly scattered plants and the picture is
> after 20 iterations of local seeding and self thinning, giving 5260 plants
> that have grouped into their prefered niches.
>
> The last few iterations took about 160 seconds each on a 1GHz PIII and
> rendered in about an hour and a half. The bushes were created with
> POV-Tree.
>
> Bye for now,
>
> Mike Andrews.


Interesting approach!

How you implemented self thinning? I didn't implemented it yet.
How large was the number of plants at the start?
How did you define suniness?

Norbert Kern


Post a reply to this message

From: Mike Andrews
Subject: Re: Yet Another Ecosystem WIP ... (~240KB)
Date: 31 Jul 2006 06:30:00
Message: <web.44cddaf1fccadda95e1e98150@news.povray.org>
Hi Norbert,

I'll intersperse answers below ...

"Norbert Kern" <nor### [at] t-onlinede> wrote:
> Interesting approach!
>
> How you implemented self thinning? I didn't implemented it yet.

This is just killing plants which are encroached upon too much. The function
that I use for encroachment is quite arbitrary - see if each local plant
overlaps the plant under test and has higher competitive ability, if so
then add a value related to the overlap. Each plant species has an
encroachment survival value, so I use this, the calculated encroachment and
a random to see if the plant dies. I'm just trying a new test condition
which seems to give a better thinning ...

> How large was the number of plants at the start?

That image had 500 initial seeds. I ran one over the weekend on a larger
patch (15 by 15 units, max plant size 0.3 units) for thirty iterations that
started with 5000 seeds and ended (twelve hours parsing later) with 55000
plants. I'll attach the image.

> How did you define suniness?

Easiest to paste the code:

#declare fBase = function {
  pigment {
    bozo
    colour_map{[0.2 rgb 0][0.7 rgb 1]}
    scale 2
    warp { turbulence 0.15 }
    warp { turbulence 0.15 }
    scale 3
  }

}

#declare Lor = function {1/(1+4*pow((x-y)/z,2))}

#declare Logistic = function (_A) {1/(1+exp(-_A))}

#declare fTerrain = function { fBase(x,y,0).x }

#declare fWet     = function { 1-fTerrain(x,y,z) }

#declare fSun     = function {
  Logistic(
    10*sum(
      I,
      0,
      5,
      cos(I*pi/3)*fTerrain(x+0.1*sin(I*pi/3),y+0.1*cos(I*pi/3),z)
    )
    /(0.1*sum(I,0,5,abs(cos(I*pi/3))))
  )
}

#declare fViability = function (x,y,z,SW,SS,SA)
  { Lor(SW,fWet(x,y,z),SA)*Lor(SS,fSun(x,y,z),SA) }

So, fSun()is function giving 'south'-facing slope value.

In the fViability() function SW is the species 'wetness' preference, SS the
'suniness' preference and SA the species environmental adaptability. This
viability value is randomised slightly for each individual plant.

>
> Norbert Kern

How is your system progressing?

Bye for now,

Mike Andrews.


Post a reply to this message


Attachments:
Download 'ecosystem2.jpg' (207 KB)

Preview of image 'ecosystem2.jpg'
ecosystem2.jpg


 

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.