//-----spline test macro //----- 1 November 2001 #macro test_lathe (_type,points_array,sturm_switch) #local num=dimension_size (points_array,1); #local i=0; #local max_y=0; #local max_x=0; #while (i}} pigment {gradient z color_map {[0 rgb 0][1 rgb 1]} scale max_x} } #local c=0; #while (c #if (max_y>max_x) up max_y*1.1*y right max_y*1.1*4/3*x #else right max_x*2*1.1*x up max_x*2*1.1*3/4*y #end look_at <0,max_y/2,0> } #end #declare pa1=array[14] #declare pa1[0]=<-10,0>; #declare pa1[1]=<0,0>; #declare pa1[2]=<10,1>; #declare pa1[3]=<15,15>; #declare pa1[4]=<13,20>; #declare pa1[5]=<15,23>; #declare pa1[6]=<15,23.5>; #declare pa1[7]=<14,23.5>; #declare pa1[8]=<14,23>; #declare pa1[9]=<12,20>; #declare pa1[10]=<14,15>; #declare pa1[11]=<9,2>; #declare pa1[12]=<0,1>; #declare pa1[13]=<-5,1>; #declare pa2=array[14] #declare pa2[0]=<-10,0>; #declare pa2[1]=<0,0>; #declare pa2[2]=<4,1>; #declare pa2[3]=<6,7>; #declare pa2[4]=<2,10>; #declare pa2[5]=<2,15>; #declare pa2[6]=<2,16.5>; #declare pa2[7]=<1.5,17>; #declare pa2[8]=<1.5,15>; #declare pa2[9]=<1.5,10>; #declare pa2[10]=<5.5,7>; #declare pa2[11]=<3.5,1>; #declare pa2[12]=<0,0.7>; #declare pa2[13]=<-5,1>; test_lathe (3,pa2,off) //-------------- #macro make_lathe (_type,points_array,sturm_switch) #local num=dimension_size (points_array,1); lathe { #switch (_type) #case (1) linear_spline #break #case (2) quadratic_spline #break #case (3) cubic_spline #break #case (4) bezier_spline #break #else linear_spline #end num, #local j=0; #while (j