|
|
Thanks greatly.
Q1: Here's a math question. For what values of the function will I get "nothing"
to show up? negative?? >>threshold??
For example, if I want the noise3d function to be terminated above y=0, there are a
bunch of ways to do this with CSG. All of these would be a harsh cut. I am
betting there is a way to make a very smooth termination of the function by playing
with the threshold values.
I guess that something like,
isosurface{
fucntion {noise3d( x, y+9.5, z)}
threshold 10
}
might do it, but I'm not sure.
I have actually received advice on the topic before, but I never got a firm handle
on the actual **MATH** behind the function.
Q2: So what are the operational thingies that work with the isosurface?
& is and or intersection,
. . . . . . . . . . .
. . . . . . . . . . .
______________
Greg M. Johnson (Opinions not necessarily those of a povray user).
http://members.xoom.com/gregjohn/animation.html
Ron Parker wrote:
> On Thu, 09 Dec 1999 08:50:23 -0500, Greg M. Johnson wrote:
> >Yes, I'm wondering about the parameters that can go into the equation. I've
> >made things that look OK with just linear modifications to x,y,z. Is there
> >a source doc or source paragraph somewhere? I was told that they just plain
> >forgot to include this in one of the latest releases of superpatch.
>
> "They" would be me. There are a lot of neat tricks you can do with isosurfaces
> that aren't documented with the superpatch.
>
> noise3d takes three parameters, x, y, and z. What you choose to give it for
> those parameters is entirely up to you, and limited only by your imagination.
> If you want a cyclic noise, for example, you can feed it a cyclic function as
> a parameter, such as
>
> #declare x_cyclic_noise = fucntion {noise3d( 20*sin(x/20), y, z)}
>
> There is no way to bound an isosurface with anything but a box or a sphere,
> due to the way the code is written. I may try to fix this one day soon,
> depending on many factors I won't discuss right now. You can, however,
> create a function that intersects two isosurfaces without using CSG. Try
> this and see if it's what you're looking for, but I suspect it'll look
> like what you got with intersect:
>
> #declare noisynoise = function {noise3d( x,y,z) & noise3d(20*x,20*y,20*z)}
>
> --
> These are my opinions. I do NOT speak for the POV-Team.
> The superpatch: http://www2.fwi.com/~parkerr/superpatch/
> My other stuff: http://www2.fwi.com/~parkerr/traces.html
Post a reply to this message
|
|