|
|
"Rafal 'Raf256' Maj" <raf### [at] raf256com> wrote in
news:Xns### [at] 204213191226
> function { x*x+y*y+z*z - 1 + f_noise3d(x,y,z)*e }
> contained_by { sphere { 0 1+e } }
> inner_bound { sphere { 0 1-e } }
function { x*x+y*y+z*z - 1 + f_noise3d(x,y,z)*e }
contained_by { sphere { 0 1 } }
inner_bound { sphere { 0 1-e } }
-or-
function { x*x+y*y+z*z - 1 - f_noise3d(x,y,z)*e }
contained_by { sphere { 0 1+e } }
inner_bound { sphere { 0 1 } }
oh and I forgot, Imho for shapes where calculations are *very* expensive
(like isosurfaces) we whould use comples shapes to bound them, or even
hierarchies, like :
isosurface is bounded with:
..a very complex mesh (10,000 faces[1])
..and this compelx mesh is bounded with simple mesh (100 faces)
..and simple mesh is finaly bounded by box
[1] - this complex mesh can be builded automaticly i.e. by trace funcion,
and results may be saved to some file and re-calculated only when
isosurface will change.
--
#macro g(U,V)(.4*abs(sin(9*sqrt(pow(x-U,2)+pow(y-V,2))))*pow(1-min(1,(sqrt(
pow(x-U,2)+pow(y-V,2))*.3)),2)+.9)#end#macro p(c)#if(c>1)#local l=mod(c,100
);g(2*div(l,10)-8,2*mod(l,10)-8)*p(div(c,100))#else 1#end#end light_source{
y 2}sphere{z*20 9pigment{function{p(26252423)*p(36455644)*p(66656463)}}}//M
Post a reply to this message
|
|