#declare chrome = texture { pigment { color rgbf < 0.5 0.5 0.5 0>} finish { diffuse 0.1 specular 0.5 reflection 0.7 roughness 0.005 metallic } } #declare tp_spare = union { cylinder { <0,0,0> <0,0,0.2> 1.3 } torus { 1.3 0.1 rotate 90*x translate 0.1*z } cylinder { <0,0,0> <0,0,0.3> 1.15 } torus { 1.15 0.1 rotate 90*x translate 0.2*z } cylinder { <0,0,0> <0,0,0.4> 1.0 } torus { 1.0 0.1 rotate 90*x translate 0.3*z } sphere_sweep { b_spline 8 <0,0,0> 0.4 <0,0,0.10> 0.55 <0,0,0.4> 0.35 <0,0,0.7> 0.35 <0,0,1.1> 0.55 <0,0,1.8> 0.20 <0,0,2.5> 0.25 <0,0.0,4> 0.4 } sphere { <0,0,3.0> 0.41 } cone { <0,0.2,3> 0 <0,0.5,3> 0.42 } difference { cylinder { <0,0.5,3> <0,0.55,3> 1.3 } //put a hole in the disk, so that there will be a seam showing cylinder { <0,0.4,3> <0,0.6,3> 0.41 } } cylinder { <0,0.5,3> <0,5.2,3> 0.4 } cylinder { <0,5.1,3> <0,5.2,3> 0.6 } difference { sphere { <0,4.75,3> 0.7 } box { <-2,0,2> <2,5.2,4> } } cone { <0,5.2,3> 0.58 <0,5.3,3> 0.4 } //the roll of toilet paper // union { // difference { // cylinder { <0,0,0> <0,4,0> 2.0 texture { whitepaper } } // cylinder { <0,-1,0> <0,6,0> 0.6 texture { whitepaper } } // } // difference { // cylinder { <0,0,0> <0,4,0> 0.6 texture { brownpaper } } // cylinder { <0,-1,0> <0,6,0> 0.58 texture { brownpaper } } // } // rotate 1*x // translate <0.1,0.53,3.2> // } texture { chrome } }