POV-Ray : Newsgroups : povray.general : 3dnoise: help me understand. Server Time
11 Aug 2024 05:18:49 EDT (-0400)
  3dnoise: help me understand. (Message 4 to 13 of 13)  
<<< Previous 3 Messages Goto Initial 10 Messages
From: Jerome M  BERGER
Subject: Re: 3dnoise: help me understand.
Date: 5 Oct 1999 19:18:39
Message: <37FA8744.3901A72C@enst.fr>
"Greg M. Johnson" wrote:
> 
> I'm having fun making flythroughs of the 3dnoise function in the
> superpatch for povray.
> 
> I am trying to understand this mathematically.   If I use:
> 3dnoise(x,y,z)
> I get something with a uniform distribution of porosity.  As the
> threshold approaches 1.0, the percent porosity approaches 0 (% density
> approaches 1.0).  However, if the threshold is 0.0, there is not 100%
> porosity.
> 
> I want to understand how to change the radial density of the noise
> function.  Suppose I want to make a sphere where the density approaches
> 0 at r=R.  How would I do this?  Intuitively, I might try:
> 3dnoise(x^0.5,y^0.5,z^0.5)
> . So far, nothing is yielding precisely the results I'm looking for.

	noise3d (x*f, y*f, z*f)*(R-sqrt(x^2+y^2+z^2)) where f adjusts the
regularity of the noise (the smaller, the smoother). Note that this will
give you some noise outside the sphere too, to avoid this, you could use
noise3d (...)*max(0, R-sqrt(...)) instead.

		Jerome

-- 
*******************************

* they'll tell you what can't * mailto:ber### [at] inamecom
* be done and why...          * http://www.enst.fr/~jberger
* Then do it.                 *
*******************************


Post a reply to this message

From: Ron Parker
Subject: Re: 3dnoise: help me understand.
Date: 5 Oct 1999 21:09:03
Message: <slrn7vkn7t.56p.parkerr@linux.parkerr.fwi.com>
On Tue, 05 Oct 1999 19:13:26 -0400, Greg M. Johnson wrote:
>Where does 3dnoise come from? It's not in the superpatch docs or documented
>anywhere that I know of...

That must be an omission.  It's been in there since the original isosurface
patch, where it was (marginally) documented.  I must have just missed it,
along with cool things like &, |, and %.


Post a reply to this message

From: Greg M  Johnson
Subject: Re: 3dnoise: help me understand.
Date: 5 Oct 1999 21:18:16
Message: <37faa358@news.povray.org>
noise3d (x*f, y*f, z*f)*(R-sqrt(x^2+y^2+z^2))

Nope.  This is a solid sphere.
I've used R=500 and a dozen orders of magnitude for f.

I've had a little luck with adding an "*f" term to the right side.  But this
is not the concept, although intuitively the math must be VERY CLOSE....


"Jerome M. BERGER" wrote:

> "Greg M. Johnson" wrote:
> >
> > I'm having fun making flythroughs of the 3dnoise function in the
> > superpatch for povray.
> >
> > I am trying to understand this mathematically.   If I use:
> > 3dnoise(x,y,z)
> > I get something with a uniform distribution of porosity.  As the
> > threshold approaches 1.0, the percent porosity approaches 0 (% density
> > approaches 1.0).  However, if the threshold is 0.0, there is not 100%
> > porosity.
> >
> > I want to understand how to change the radial density of the noise
> > function.  Suppose I want to make a sphere where the density approaches
> > 0 at r=R.  How would I do this?  Intuitively, I might try:
> > 3dnoise(x^0.5,y^0.5,z^0.5)
> > . So far, nothing is yielding precisely the results I'm looking for.
>
>         noise3d (x*f, y*f, z*f)*(R-sqrt(x^2+y^2+z^2)) where f adjusts the
> regularity of the noise (the smaller, the smoother). Note that this will
> give you some noise outside the sphere too, to avoid this, you could use
> noise3d (...)*max(0, R-sqrt(...)) instead.
>
>                 Jerome
>
> --
> *******************************

> * they'll tell you what can't * mailto:ber### [at] inamecom
> * be done and why...          * http://www.enst.fr/~jberger
> * Then do it.                 *
> *******************************


Post a reply to this message

From: Ron Parker
Subject: Re: 3dnoise: help me understand.
Date: 5 Oct 1999 21:25:22
Message: <slrn7vko6h.56p.parkerr@linux.parkerr.fwi.com>
On Tue, 05 Oct 1999 20:44:13 -0400, Greg M. Johnson <> wrote:
>noise3d (x*f, y*f, z*f)*(R-sqrt(x^2+y^2+z^2))
>
>Nope.  This is a solid sphere.
>I've used R=500 and a dozen orders of magnitude for f.
>
>I've had a little luck with adding an "*f" term to the right side.  But this
>is not the concept, although intuitively the math must be VERY CLOSE....

Try adding some linear function of the radius instead of multiplying.
As you shift the "field" of noise3d through the threshold value it 
will appear to cause the "solid" chunks to grow and shrink.  

What you get also depends on what threshold you use; if you use zero 
with the above formula you'll always get a solid sphere.


Post a reply to this message

From: Jerome M  BERGER
Subject: Re: 3dnoise: help me understand.
Date: 5 Oct 1999 21:32:20
Message: <37FAA694.62A743B4@enst.fr>
"Greg M. Johnson" wrote:
> 
> noise3d (x*f, y*f, z*f)*(R-sqrt(x^2+y^2+z^2))
> 
> Nope.  This is a solid sphere.
> I've used R=500 and a dozen orders of magnitude for f.
> 
> I've had a little luck with adding an "*f" term to the right side.  But this
> is not the concept, although intuitively the math must be VERY CLOSE....
> 
	What about noise3d(...)-sqrt(...)/R ?

		Jerome

-- 
*******************************

* they'll tell you what can't * mailto:ber### [at] inamecom
* be done and why...          * http://www.enst.fr/~jberger
* Then do it.                 *
*******************************


Post a reply to this message

From: Greg M  Johnson
Subject: Re: 3dnoise: help me understand.
Date: 5 Oct 1999 21:36:43
Message: <37faa7ab@news.povray.org>
Whaaaaa. I give up.  Could you or Jerome provide an idiot's version that I could
just cut and paste, including threshold, etc.etc.etc.etc.

Even more confused.  I either get

A) cool-looking uniform coral-like(*) stuff, OR
B) a solid sphere.

Nothing inbetween.

Ron Parker wrote:

> On Tue, 05 Oct 1999 20:44:13 -0400, Greg M. Johnson <> wrote:
> >noise3d (x*f, y*f, z*f)*(R-sqrt(x^2+y^2+z^2))
> >
> >Nope.  This is a solid sphere.
> >I've used R=500 and a dozen orders of magnitude for f.
> >
> >I've had a little luck with adding an "*f" term to the right side.  But this
> >is not the concept, although intuitively the math must be VERY CLOSE....
>
> Try adding some linear function of the radius instead of multiplying.
> As you shift the "field" of noise3d through the threshold value it
> will appear to cause the "solid" chunks to grow and shrink.
>
> What you get also depends on what threshold you use; if you use zero
> with the above formula you'll always get a solid sphere.

(*) Whoa: cool idea for underwater scene........


Post a reply to this message

From: Greg M  Johnson
Subject: Re: 3dnoise: help me understand.
Date: 5 Oct 1999 21:39:48
Message: <37faa864@news.povray.org>
SPHERE!

"Jerome M. BERGER" wrote:

> "Greg M. Johnson" wrote:
> >
> > noise3d (x*f, y*f, z*f)*(R-sqrt(x^2+y^2+z^2))
> >
> > Nope.  This is a solid sphere.
> > I've used R=500 and a dozen orders of magnitude for f.
> >
> > I've had a little luck with adding an "*f" term to the right side.  But this
> > is not the concept, although intuitively the math must be VERY CLOSE....
> >
>         What about noise3d(...)-sqrt(...)/R ?
>
>                 Jerome
>
> --
> *******************************

> * they'll tell you what can't * mailto:ber### [at] inamecom
> * be done and why...          * http://www.enst.fr/~jberger
> * Then do it.                 *
> *******************************


Post a reply to this message

From: Greg M  Johnson
Subject: Re: 3dnoise: help me understand.
Date: 5 Oct 1999 21:46:38
Message: <37faa9fe@news.povray.org>
Hey man, why don't you just try:

#declare f=.040;
#declare R=399;
isosurface {
         function
          {noise3d(x*f,y*f,z*f)+((x^2+y^2+z^2)/R^2)
           }
         accuracy 0.01
               threshold 1
                bounded_by {
                sphere{0,500}
                    }
        pigment{Green}
        finish{ambient 0.1}
        normal {crackle}

        }


And then sleep on the results??

"Greg M. Johnson" wrote:

> SPHERE!
>
> "Jerome M. BERGER" wrote:
>
> > "Greg M. Johnson" wrote:
> > >
> > > noise3d (x*f, y*f, z*f)*(R-sqrt(x^2+y^2+z^2))
> > >
> > > Nope.  This is a solid sphere.
> > > I've used R=500 and a dozen orders of magnitude for f.
> > >
> > > I've had a little luck with adding an "*f" term to the right side.  But this
> > > is not the concept, although intuitively the math must be VERY CLOSE....
> > >
> >         What about noise3d(...)-sqrt(...)/R ?
> >
> >                 Jerome
> >
> > --
> > *******************************

> > * they'll tell you what can't * mailto:ber### [at] inamecom
> > * be done and why...          * http://www.enst.fr/~jberger
> > * Then do it.                 *
> > *******************************


Post a reply to this message

From: Peter Popov
Subject: Re: 3dnoise: help me understand.
Date: 6 Oct 1999 14:16:36
Message: <HQr7N1l2odvbF64yU9CGl3JJviVJ@4ax.com>
On Tue, 05 Oct 1999 19:13:26 -0400, "Greg M. Johnson"
<gre### [at] my-dejanewscom> wrote:

>Yes, you are linearly scaling the structure. Your density will not change as a
>function of position if you make scalar operations like those.  I want to make
>a sphere that is "100% dense" at r=0, but gradually tapers off to zero or a
>minimum density at r=some R.   This is easy to do with media.

noise3d + min(0,1-sqrt(x*x+y*y+z*z)) 

and play with the threshold. I have only used the superpatch once but
I can guess that this formula will be 100% dense below a certain
radius (probably sqrt(threshold) ) and fade to noise3d at a distance 1
from the origin. Try it out.


Peter Popov
ICQ: 15002700


Post a reply to this message

From: SamuelT 
Subject: Re: 3dnoise: help me understand.
Date: 6 Oct 1999 23:07:31
Message: <37FC0FA4.6A1BCDC9@aol.com>
I posted a message regarding your questions at the images section of this
newsgroup.

"Greg M. Johnson" wrote:

> I'm having fun making flythroughs of the 3dnoise function in the
> superpatch for povray.
>
> I am trying to understand this mathematically.   If I use:
> 3dnoise(x,y,z)
> I get something with a uniform distribution of porosity.  As the
> threshold approaches 1.0, the percent porosity approaches 0 (% density
> approaches 1.0).  However, if the threshold is 0.0, there is not 100%
> porosity.
>
> I want to understand how to change the radial density of the noise
> function.  Suppose I want to make a sphere where the density approaches
> 0 at r=R.  How would I do this?  Intuitively, I might try:
> 3dnoise(x^0.5,y^0.5,z^0.5)
> . So far, nothing is yielding precisely the results I'm looking for.

--
Samuel Benge

E-Mail: STB### [at] aolcom
Website: http://members.aol.com/stbenge


Post a reply to this message

<<< Previous 3 Messages Goto Initial 10 Messages

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