#include "functions.inc" #declare C_LOC = <-2, 2, 0.0>; // perspective (default) camera camera { location C_LOC look_at <0.0, 1, 0.0> } light_source { C_LOC, 1 } #declare T_White = texture { pigment { color rgb 1.0 } finish { diffuse 1.0 ambient 0.0 } } #declare O_Stem = difference { box { 0.4, -0.5 } torus { 0.8, 0.7 } translate <0, 0.5, 0> } object { isosurface { function { -f_torus(x*((1+(y+0.5))) + 0.3*sin((y+0.5)*2.5*pi)-0.3*(y+0.5), y*y, z*((1+y+0.5)), 0.8, 0.7) } contained_by { box {<-0.5,-0.5,-0.5>, <0.5,0.0,0.5> } } accuracy 0.001 max_gradient 3 translate <0, 0.5, 0> scale <2, 3, 2> } texture { T_White } rotate y*90 }