二次近似曲線の描画マクロです。
//**********************************************************************************
#macro Contact_line(Lr,E1,E2)
#local Px0=0; #local Pz0=0; #local Ox0=0; #local Oz0=0;
#local i=0; #while( i < Pmax-2 )
#local X0=Vp[i].x; #local Z0=Vp[i].y;
#local Xc=Vp[i+1].x; #local Zc=Vp[i+1].y;
#local X1=Vp[i+2].x; #local Z1=Vp[i+2].y;
#local Sp=0; #local Ep=1;
#local Ap=1/(10-1e-14); #local Mx=(Zc-Z0-1e-14)/(Xc-X0-1e-14);
#while( Sp < Ep )
Contact_curve_function(Sp,E1,E2,X0,Z0,Xc,Zc,X1,Z1,Px0,Pz0)
#local Px1=Px0; #local Pz1=Pz0;
Contact_curve_function(Sp+Ap,E1,E2,X0,Z0,Xc,Zc,X1,Z1,Px0,Pz0)
#local Px2=Px0; #local Pz2=Pz0;
#if(Sp=0) Beginning_center(Mx,Px1,Pz1,Px2,Pz2,Ox0,Oz0) #end
Curve_element(Lr,Px1,Pz1,Px2,Pz2,Ox0,Oz0)
#local Sp=Sp+Ap; #end
#local i=i+2; #end
#end
//**********************************************************************************