POV-Ray : Newsgroups : povray.general : Isosurface hills : Re: Isosurface hills Server Time
10 Aug 2024 03:26:32 EDT (-0400)
  Re: Isosurface hills  
From: Lummox JR
Date: 17 Mar 2000 22:01:59
Message: <38D2F2F4.30B8@aol.com>
Mike Williams wrote:
> Rather than using sin waves, you might find it better to start with an
> isosurface of the y plane [ function {abs(y)} ] and then add some random
> hilly bumps by subtracting a noise function or a pigment function, like
> 
>     function { abs(y) - noise3d(x,0,z)*0.5 }
> 
> It's possible to add a suggestion of ground cover (unfortunately, not
> particularly grassy) foliage by subtracting another noise or pigment
> function at a much smaller scale, like
> 
>     function { abs(y) - noise3d(x,0,z)
>                -noise3d(x*100,0,z*100)*0.02
>              }

I took your advice on the basic hill structure (haven't gotten as far as
ground cover yet) and used a formula that was basically
y-noise3d(x,0,z), with a little noise added to x and z as well to
turbulate it a bit.
Unfortunately, although the basic shape is right, I've run into an
interesting problem: Because the noise function is clipped to values of
0 to 1, most of the resulting hills have flat surfaces.
The only good solution I can think of would be to modify the f_func.c
file (I've made extensive modifications already, so this isn't entirely
out of the question) to include an unclipped noise function. (Too bad
the function doesn't allow a user-specified pre-clip scaling to avoid
that.) I'm not particularly anxious to try that tack if something better
can be achieved with the version I'm already using.
I'm going to try some alternate versions like 4*n*(1-n), which should
just give me a lot of valleys instead, and see if that works any better.
In the meantime, suggestions are still much appreciated.

Lummox JR


Post a reply to this message

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