|
|
Wasn't it Oleguer Vilella who wrote:
>Hi Mike,
>
>Thanks for your help Mike, but that's not what I was looking for. I'm
>traying to unify all the spheres to obtain an uniform membrane.
Sorry for the late response. I've been unable to establish a link to the
pov newsserver for a few days.
Well, once you've got all the blob components in a single blob object
you can adjust the threshold value, and the strength and radius of the
individual blobs, and the separation between the blobs (like #local
Fons=Fons+0.5), so that they blob together into a bumpy membrane. You
can't do that with your original version because each sphere is a
separate blob object.
Alternatively, you could discard the blobs altogether and use the same
cos and sin waves to drive an isosurface function, which will give you a
perfectly smooth membrane that has exactly the same shape.
#declare F = function {y - 9*cos(x/3/8) - 3*sin(z/3/8)}
#declare Thickness=1.5;
isosurface {
function { abs(F(x,y,z)) - Thickness }
max_gradient 2
contained_by{box{<-36,-20,0><300,20,150>}}
pigment {rgb x}
finish { ambient 0.2 diffuse 0.8 phong 1 }
translate <10,-20,30>
}
If you want, you can put fake blobs back into the isosurface as follows.
The "x+z" and "z-x" bits rotate the fake blobs by 45 degrees, otherwise
the leopard pattern has a diagonal pattern.
camera {location <150,150,-150> look_at <150,50,0> }
background {rgb 1}
light_source {<-30, 100, -30> color rgb 1}
#declare F = function {y - 9*cos(x/3/8) - 3*sin(z/3/8)}
#declare Thickness=1.5;
#include "functions.inc"
isosurface {
function { abs(F(x,y,z)) - Thickness - f_leopard(x+z,0,z-x) }
max_gradient 2
contained_by{box{<-36,-20,0><300,20,150>}}
pigment {rgb x}
finish { ambient 0.2 diffuse 0.8 phong 1 }
translate <10,-20,30>
}
--
Mike Williams
Gentleman of Leisure
Post a reply to this message
|
|