傘布の形状をCSGの difference により生成します。
//**********************************************************************************
#local Tz=-0.4; #local Ty=sqrt(1-pow(0,2)-pow(Tz,2));
#local Top_seg = sphere { 0,1 clipped_by { plane { z, 0 translate Tz*z } } }
#local Nmax=10;
#local Cloth =
difference {
object { Top_seg }
#local N=0; #while ( N < Nmax )
sphere { 0, 2*pi/Nmax scale <1,1/3,1>
translate < 0,Ty,Tz > rotate z*360*N/Nmax pigment { color rgbt 1 } }
#local N=N+1; #end
pigment { P_map } }
//**********************************************************************************