|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I am probably the wrong person to answer this, since I don't understand the
question. But I just figured out something about noise3d that maybe you
already know but if not.. maybe it will help, it might even be correct.
noise3d<x,y,z> gives one iteration of noise acros each face.
noise3d<x*3, y*3, z*3> gives three.
noise3d<x*3, y*3, z*3> *0.5 gives half the depth,
noise3d<x*3, y*3, z*3> *5.0 gives five times the depth
At least that is what it seems like. See "Noise3d" in p.b.i.
Greg M. Johnson <gre### [at] my-dejanewscom> wrote in message
news:37FA64D8.6F1532FE@my-dejanews.com...
> 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.
>
>
>
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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.
Where does 3dnoise come from? It's not in the superpatch docs or documented
anywhere that I know of...
Buckaroo Bill wrote:
> I am probably the wrong person to answer this, since I don't understand the
> question. But I just figured out something about noise3d that maybe you
> already know but if not.. maybe it will help, it might even be correct.
>
> noise3d<x,y,z> gives one iteration of noise acros each face.
> noise3d<x*3, y*3, z*3> gives three.
> noise3d<x*3, y*3, z*3> *0.5 gives half the depth,
> noise3d<x*3, y*3, z*3> *5.0 gives five times the depth
>
> At least that is what it seems like. See "Noise3d" in p.b.i.
>
> Greg M. Johnson <gre### [at] my-dejanewscom> wrote in message
> news:37FA64D8.6F1532FE@my-dejanews.com...
> > 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.
> >
> >
> >
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
|
|