|
|
On 3 Oct 2001 15:17:11 -0400, dav### [at] intrepidvoygrcom wrote:
>And Not really round I guess, I'm doing:
> function { x - noise3d(x,y,z) }
>And I just want to do the same thing but ont he opposite side..
I think what we have here is a misunderstanding of how isosurfaces work.
The function you give first is a plane displaced by a noise value. That
it happens to resemble a box with noise on one side is an artifact of
MegaPOV: it renders the edges of the bounding box as solid if they would
fall "inside" the function. I think you'll find that POV 3.5 doesn't do
that by default (and by the way, if you're using Windows or MacOS and
starting to learn Isosurfaces, might I suggest that you use the POV 3.5
beta so you don't have to relearn the parts that are different?)
To get a proper noisy box, I think what you want is
function { (x-.5-.1*noise3d(x,y,z)) &
(-x+.5-.1*noise3d(x,y,z)) &
(y-.5-.1*noise3d(x,y,z)) &
(-y+.5-.1*noise3d(x,y,z)) &
(z-.5-.1*noise3d(x,y,z)) &
(-z+.5-.1*noise3d(x,y,z)) }
bounded by a box that's at least as big as box {-.6,.6} and maybe a little
bigger in case noise3d gets outside the 0..1 range a little.
The .1's here are the amount of noise; more will make more noise, as in
Warp's example. The .5's are half the edge of the box.
Disclaimer: I haven't tested any of this. It might not really work. I
don't even have MegaPOV anymore, so I couldn't test it if I wanted to.
--
#local R=rgb 99;#local P=R-R;#local F=pigment{gradient x}box{0,1pigment{gradient
y pigment_map{[.5F pigment_map{[.3R][.3F color_map{[.15red 99][.15P]}rotate z*45
translate x]}]#local H=pigment{gradient y color_map{[.5P][.5R]}scale 1/3}[.5F
pigment_map{[.3R][.3H][.7H][.7R]}]}}}camera{location.5-3*z}//only my opinions
Post a reply to this message
|
|