POV-Ray : Newsgroups : povray.binaries.images : Noise3d and Megapov 0.5 Server Time
2 Oct 2024 12:22:59 EDT (-0400)
  Noise3d and Megapov 0.5 (Message 4 to 13 of 43)  
<<< Previous 3 Messages Goto Latest 10 Messages Next 10 Messages >>>
From: Moon47
Subject: Re: Noise3d and Megapov 0.5
Date: 20 Jun 2000 20:38:43
Message: <394EC004.AD34BECC@earthlink.net>
I like your fix much better... I miss the drastic affects made by the old
N3D... How does it work...? Will you be sharing the patch soon...?

Jerome wrote:

> As you all know, Nathan fixed noise3d in megapov 0.5 to get
> rid of the plateau effect. But his fix makes for radically
> different scenes (unless you modify your source to
> compensate). I'm suggesting another way to fix it that makes
> for much less difference in existing code.
>
> Pros:
> - the results are very similar to those of the old noise3d
> making for easier adaptation (in particular, any scene made
> with the original should render nearly the same unless it
> relied on the plateau effect).
>
> Cons:
> - it's slightly slower
> - the statistical distribution is heavily distorted (who
> cares?)
>
>         Attached are 3 pics:
> * noise3d isosurface rendered with megapov 0.4
> * the same rendered with my modified version of megapov 0.4
> * the same rendered with megapov 0.5
>
>         What do you think?
>
>                 Jerome
> --

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


Post a reply to this message

From: Warp
Subject: Re: Noise3d and Megapov 0.5
Date: 21 Jun 2000 06:33:59
Message: <39509a16@news.povray.org>
Why does this happen so often? Someone makes a (good) proposition and
everyone says that it's good, that they like it, that it's marvelous, that it's
better than the original, and so on and so on, and I am the only one who
dares to disagree with everyone else.

  Your solution certainly looks better than those flat plateaus, but in my
opinion it's not the right solution.
  The original noise3d generates smooth curves, where the curvature of the
surface is never too high. The fixed version on mp0.5 just scales the amplitude
of the curve so that it doesn't exceed the limits.
  You solution, however, changes the shape of the curve. It's not the same
function anymore. The curvature of the surface is very high in some places
making the shape different from the regular noise3d.

  Think about a simple example:
  Let's suppose that we have a sine curve which amplitude is for some reason
higher than 1 (like 1.2 or so). This generates a problem when the curve is
needed in a place where the amplitude should not exceed 1. The default solution
in povray is to clamp the values that are too high or too low.
  Now a fix is made so that the sine curve amplitude is lowered to 1. Now the
amplitude is lower, resulting in a visibly different result, but there's no
need to clamp anymore, so we get a perfect sine wave.
  Your fix (as far as I can deduce from the images) would be to keep the
wrong amplitude of the sine curve, but when it approaches 1 it's multiplied
with a correcting factor that lowers the highest parts of the curve so that
it fits under the amplitude of 1. This results in an apparently smooth curve,
but it's wrong in one sense: It's not a sine wave anymore. It doesn't have
the properties of the sine wave and the curvature of the curve is artificially
modified so that it breaks the original curvature. This new curve can't be
used as a sine wave anymore.
  The consecuences of your fix may not be as drastical as I made it sound, but
in my opinion it changes the function so much that it's not the same noise3d
function anymore, but it's a completely different function.
  It might sound a bit offending, but the fix is more or less a kludge.
  The correct way of fixing a buggy feature is make it right and change the
scene to use it in the right way.
  For example if a scene uses buggy normal modifier scaling in the wrong way,
the right solution is to change the scene to use it as it should and not
use the buggy version anymore.

  Of course your function looks good, but if it's added in megapov, in my
opinion it should be added with just another name, not noise3d.

  (Darn, how do I manage every time to sound so aggressive, so attacking?
My intention is not to attack you nor to say that I do not appreciate
your work; I just try to express my opinion, although I often fail to do it
in a way that doesn't sound so aggressive...)

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Glen Berry
Subject: Re: Noise3d and Megapov 0.5
Date: 21 Jun 2000 14:58:55
Message: <Fg9ROdbJ=P+c3datnMiZhfLRE2if@4ax.com>
On 21 Jun 2000 06:33:59 -0400, Warp <war### [at] tagpovrayorg> wrote:

>  It might sound a bit offending, but the fix is more or less a kludge.
>  The correct way of fixing a buggy feature is make it right and change the
>scene to use it in the right way.

I agree totally with this. Please, let's keep the new noise3d as it
is. 

Perhaps someone would like to write some sort of utility or tutorial
for updating old texures to work better with the new noise3d? This is
what *should* be attempted, not "patching the patch."

Later,
Glen Berry

( Remove the "7" from 7no### [at] ezwvcom to email me. )


Post a reply to this message

From: Kari Kivisalo
Subject: Re: Noise3d and Megapov 0.5
Date: 22 Jun 2000 10:33:37
Message: <3952244E.F948D909@kivisalo.net>
Warp wrote:
> <rautalankaa> ... </rautalankaa>

I agree completely.



_______________________________________________________________________
Kari Kivisalo                                          www.kivisalo.net


Post a reply to this message

From: Fabian BRAU
Subject: Re: Noise3d and Megapov 0.5
Date: 22 Jun 2000 10:46:51
Message: <395226CC.C7D3E3FF@umh.ac.be>
> My intention is not to attack you nor to say that I do not appreciate
> your work; I just try to express my opinion, although I often fail to do it
> in a way that doesn't sound so aggressive...)
> 

You should perhaps put this in your signature instead of the code below
;).

Fabian.

> --
> main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
> ):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Jerome
Subject: Re: Noise3d and Megapov 0.5
Date: 23 Jun 2000 10:23:26
Message: <395372DB.DDDFB826@iname.com>
Warp wrote:
> 
> Lots of interesting stuff
>
	You're right, that's what I meant when I said that the
statistical distribution is heavily distorted. On the other
hand, does it matter so much since it is basically a random
function anyway? My correction ensures that the function
gets changed as little as possible (in value as well as in
slope) which has two advantages in my eyes:
* it's easier to use for those who are used to the old one
(and it doesn't change anything for the others);
* it gives more variation than Nathan's fix (ok, you can get
as much variation by using a color_map where it is possible,
but what about the way it changes other functions such as
ridged multifractal for example?)

	So I guess, my question is: both changes (mine and
Nathan's) have advantages and drawbacks, which would you
prefer to see included in pov? Or would you like to see both
with an option? (that would also allow to keep the old
noise3d) knowing that I think this option would have to
affect the whole scene...

		Jerome
PS: 
> Your fix (as far as I can deduce from the images) would be to keep the
> wrong amplitude of the sine curve, but when it approaches 1 it's multiplied
> with a correcting factor that lowers the highest parts of the curve so that
> it fits under the amplitude of 1.
	You're basically right. I'd just like to add that the
change is continuous (so you won't see a line in your pic
with the old moise3d on one side and a scaled version on the
other).

-- 

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


Post a reply to this message

From: Greg M  Johnson
Subject: Re: Noise3d and Megapov 0.5
Date: 23 Jun 2000 13:26:52
Message: <39539CC2.E2A8AD6B@my-dejanews.com>
Please use my algorithm to compute the vol% vs. threshold for your new
function. See my algorithm at:

p.b.i

Subject: Volume fraction of noise3d vs threshold vs. mega version 39kbbu)
Date:    Thu, 18 May 2000 13:51:08 -0400

Jerome wrote:

> As you all know, Nathan fixed noise3d in megapov 0.5 to get
> rid of the plateau effect. But his fix makes for radically
> different scenes (unless you modify your source to
> compensate). I'm suggesting another way to fix it that makes
> for much less difference in existing code.
>
> Pros:
> - the results are very similar to those of the old noise3d
> making for easier adaptation (in particular, any scene made
> with the original should render nearly the same unless it
> relied on the plateau effect).
>
> Cons:
> - it's slightly slower
> - the statistical distribution is heavily distorted (who
> cares?)
>
>         Attached are 3 pics:
> * noise3d isosurface rendered with megapov 0.4
> * the same rendered with my modified version of megapov 0.4
> * the same rendered with megapov 0.5
>
>         What do you think?
>
>                 Jerome
> --

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


Post a reply to this message

From: Warp
Subject: Re: Noise3d and Megapov 0.5
Date: 24 Jun 2000 11:13:16
Message: <3954d00c@news.povray.org>
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.

: * 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.
  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.
  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?
I think it will be a bit hard to do with your function.

: 	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.

, 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 still think that your function should be renamed if included.

  I don't see any need for this function to replace the current noise3d,
as well as I don't see any need for keeping the old buggy normal pattern
scale.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Jerome
Subject: Re: Noise3d and Megapov 0.5
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


 

From: Jerome
Subject: Re: Noise3d and Megapov 0.5
Date: 26 Jun 2000 09:16:18
Message: <3957579B.DDA77DEC@iname.com>
Greg M. Johnson wrote:
> 
> Please use my algorithm to compute the vol% vs. threshold for your new
> function. See my algorithm at:
> 
> p.b.i
> 
> Subject: Volume fraction of noise3d vs threshold vs. mega version 39kbbu)
> Date:    Thu, 18 May 2000 13:51:08 -0400
> 
	I've downloaded it and I'll check it. I'll post the results
later this week.

		Jerome
-- 

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


Post a reply to this message

<<< Previous 3 Messages Goto Latest 10 Messages Next 10 Messages >>>

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