#include "functions.inc"
#local H=1.0;
#local Lac=2.0;
#local Octs=1;
#local Offset=0.0;
#local T = 0; // '1/f'
#local F0 = function { f_hetero_mf ( x, y, z, H, Lac, Octs, Offset, T, 1 ) }
#declare bowl =
union {
difference {
isosurface{
function{ x*x + y*y + z*z - 1 - max( 0, .07*cos(y*pi/2)*sin( 20*atan2( x, z ) ) - .02 ) + F0( 50*x,50*y,50*z )/200 }
contained_by{ box{ <-1.1, -.75, -1.1> < 1.1,0,1.1> } }
evaluate 1, 10, 0.99
max_gradient 5
}
sphere { 0, .96 }
}
cylinder { < 0,-.75, 0 > < 0,-.699, 0 > sqrt( 1 - .75*.75 ) }
torus { 0.995, .035 }
translate < 0, .75, 0 >
scale 7
}