//-------------------------------------------------------------------------- #declare Pigment_1 = pigment{ radial frequency 36 sine_wave color_map{ [0.00 color rgb<1,1,1>*0.1 ] [1.00 color rgb<1,1,1>] } // end of color_map } // end of pigment #declare fn_Pigment_1 = function {pigment{ Pigment_1} } isosurface { //------------------------------------------------------------- function{ f_helical_torus ( x,y,z, 1, //P0: major radius, 1 , //P1: number of winding loops 1, //P2: Twistiness of winding. When zero, each winding loop is separate. // When set to one, each loop twists into the next one // When set to two, each loop twists into the one after next 0.5, //P3: Fatness of winding? 0.15,//P4: Threshold. Setting this parameter to 1 and the threshold to zero has s similar effect // as setting this parameter to zero and the threshold to 1 -0.00,//P5: Negative minor radius? Reducing this parameter increases the minor radius of the central torus. //Increasing it can make the torus disappear and be replaced by a vertical column. //The value at which the surface switches from one form to the other depends on several other parameters 0, //P6: Another fatness of winding control? 1, // P7: Groove period. Increase this for more grooves 2.00, // P8: Groove amplitude. Increase this for deeper grooves 0 // P9: Groove phase. Set this to zero for symmetrical grooves ) - fn_Pigment_1(x,y,z).gray*0.1 } // end function contained_by {box {<-1.5,-1,-1.5>*1.2,<1.5,1,1.5> * 1.2}} max_gradient 10 texture{ pigment{ color rgb <0.8,0.5,0.25>*0.55} // color rgb <1,1,1>} // normal { radial 0.5 frequency 36 sine_wave } finish { specular 0.1 roughness 0.005 phong 1 phong_size 20 reflection {0.35 metallic } } } rotate<0,0,0> scale <1,1,1> translate< 0,1.00, 0> } // end of isosurface -------------------------------------------------------