トラメルにより楕円を描画するマクロです。
//**********************************************************************************
#macro Trammel(Lr,Tl,Vl)
#local Sp=-pi; #local Ep= pi; #local Ap= pi/42;
#if(Vl=0) #local Vl=1e-6; #end
#local Mx=-(Tl-Vl)/Vl*cos(Sp)/sin(Sp);
#local Px0=0; #local Pz0=0; #local Ox0=0; #local Oz0=0;
#while( Sp < Ep )
Trammel_function(Sp,Tl,Vl,Px0,Pz0) #local Px1=Px0; #local Pz1=Pz0;
Trammel_function(Sp+Ap,Tl,Vl,Px0,Pz0)#local Px2=Px0; #local Pz2=Pz0;
#if(Sp=-pi) Beginning_center(Mx,Px1,Pz1,Px2,Pz2,Ox0,Oz0) #end
Curve_element(Lr,Px1,Pz1,Px2,Pz2,Ox0,Oz0)
#local Sp=Sp+Ap; #end
#end
//**********************************************************************************