// Last edited on 2005-08-28 11:10:37 by stolfi // Almost spherical profile #macro heater_profile_num_points() 8 #end #macro heater_profile_radius() 1.0 #end #macro heater_profile_height() 1.0 #end #macro heater_profile_points() #local N = heater_profile_num_points(); #local BB = array[N] #local h = sqrt(0.5); #local su = 1 - h; #local sv = 2*h - 1; #local beta = 0.667; // To be adjusted #local BB[0] = < 00, -1 >; #local BB[3] = < +h, -h >; #local BB[4] = BB[3]; #local BB[7] = < +1, 00 >; #local BB[1] = BB[0] + beta * < sv, 00 >; #local BB[2] = BB[3] - beta * < su, su >; #local BB[5] = BB[4] + beta * < su, su >; #local BB[6] = BB[7] - beta * < 00, sv >; BB #end