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