// create a isosurface object - the equipotential surface // of a 3D math function f(x, y, z) #declare fn_X = function(x,y,z) { x*x + y*y - 1 } // cylinder function isosurface { function { x*x + y*y - 1 } // function (can also contain declared functions //function { fn_X(x, y, z) } // alternative declared function contained_by { box { -1.2, 1.2 } } // container shape //threshold 0.0 // optional threshold value for isosurface [0.0] accuracy 0.001 // accuracy of calculation [0.001] max_gradient 4 // maximum gradient the function can have [1.1] //evaluate 5, 1.2, 0.95 // evaluate the maximum gradient //max_trace 1 // maybe increase for use in CSG [1] //all_intersections // alternative to 'max_trace' //open // remove visible container surface texture { pigment{ color rgb<1,1.0,0.95>*1.1} finish { phong 1} } // end texture scale 0.5 rotate<0,45,0> translate <0,0.5,0> } // end isosurface