POV-Ray : Newsgroups : povray.binaries.images : Noise3d and Megapov 0.5 : Re: Noise3d and Megapov 0.5 Server Time
2 Oct 2024 08:15:06 EDT (-0400)
  Re: Noise3d and Megapov 0.5  
From: Jerome
Date: 26 Jun 2000 09:14:20
Message: <39575724.C88D76B3@iname.com>
Warp wrote:
> 
> Jerome <ber### [at] inamecom> wrote:
> : * it's easier to use for those who are used to the old one
> : (and it doesn't change anything for the others);
> 
>   Why should it be easier to make a (new) object with your function than with
> the current function? I don't understand.
> 
	Well, suppose you want to make an object with a bozo
pigment that goes from red to green to blue, you would
naturally tend to use a color_map like this:
{
  [ 0.0 color Red ]
  [ 0.5 color Green ]
  [ 1.0 color Blue ]
}

	With standard pov (or my patch), it gives what you expect,
but in megapov 0.5 the result is mostly green. Granted, you
*can* use a different color_map to get the same effect, but
you need to know how to change it.

> : * it gives more variation than Nathan's fix
> 
>   But is it a good thing? You say it as if it was an advantage, but I don't
> see why it's that.
	Look at the attached pics...

>   AFAIK, what Nathan did was not to fix the function itself, but the scaling.
> The function is exactly the same as before only that now the "amplitude" is
> correct. So there was nothing wrong with the function itself and thus he
> didn't fix anything about the function.
	He did exactly the same thing I did: he took the result
from the old function before it is truncated and applied a
transformation to it (other than truncating) to force the
result to be between 0 and 1. The only differece between his
patch and mine is that he applied a linear transform and I
applied a non-linear one.

>   As you said, if one want more variation it can be done with the color map.
> What if one does NOT want more variation, but the old regular smooth noise3d?
	Regular and smooth? Mine is as regular and smooth as the
old one and has as much variation as the old one, whereas
Nathan's has less and therefore is more different from the
old one than mine...

> I think it will be a bit hard to do with your function.
	You can do it with mine by changing the color_map too (or
by using a function pigment). On the other hand, once you've
finally mastered the parameters to make a ridged
multifractal mountain range, you won't like it if you're
told that you need to start over because some change in the
bozo pattern (which you don't use) radically alters your
mountain (as posted by somebody recently).

> 
> :       So I guess, my question is: both changes (mine and
> : Nathan's) have advantages and drawbacks
> 
>   Sorry, I don't see any drawbacks in the corrected noise3d in megapov.
	The statistical distribution is very much in favor of the
middle-range values (around 0.5) to the exclusion of the
others (near 0 or 1). This results in the megapov 0.5 sample
to be mostly green while the color_map tends to suggest
something more evenly distributed.

> 
> , which would you
> : prefer to see included in pov?
> 
>   I don't think they are mutually exclusive. Both could be included and
> allowed to be used at the same time. The question is if it's needed.
	I agree.

>   I still think that your function should be renamed if included.
	I disagree, mine has no more reason to be renamed then
Nathan's. (actually, I think it has less reason to be
renamed since it gives nearly the same results than the
old). Moreover, noise3d is used in a *lot* of places (and
not just in isosurfaces) like bozo, bumps, spotted, ridged
multifractals... Remember that the noise3d function was in
povray long before the function patch allowed the user to
have direct access to it. Therefore simply renaming the
function won't work anyway. The easiest way to allow the
user to choose is with a global_settings parameter (which is
very similar to the way megapov 0.5 chooses between old and
new noise3d according to the version number). I'm not sure
how you could go about implementing the choice on a
per-object (or pattern) basis so that it works in *all*
instances where noise3d is used.

		Jerome
-- 

* Doctor Jekyll had something * mailto:ber### [at] inamecom
* to Hyde...                  * http://www.enst.fr/~jberger
*******************************


Post a reply to this message


Attachments:
Download 'noise3d.jpg' (10 KB) Download 'noise3d1.jpg' (13 KB)

Preview of image 'noise3d.jpg'
noise3d.jpg

Preview of image 'noise3d1.jpg'
noise3d1.jpg


 

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