3)円錐による曲線

 円錐と球で、線の太さを変化させながら、曲線を描く。
//****************************************************************
   入力
    Lr:基本となる線の半径
    V1:媒介変数の範囲 <始点,終点,刻み幅>
    V2:太さの変化(cosの角度) <始点,終点>
    Fn:式の登録番号
//****************************************************************
#macro Bio_line(Lr,V1,V2,Fn)
 #local Ts=V1.x; #local Te=V1.y; #local Ta=V1.z;
 #if(vlength(V2)=0) #local V2=<0,0>; #end
 #local Ws=V2.x; #local We=V2.y;
 #local P1=Line_function(Ts,Fn);
 #local R1=cos(Ws+(We-Ws)*Ts/Te);
 #while( Ts < Te )
  #local P2=Line_function(Ts+Ta,Fn);
  #local R2=cos(Ws+(We-Ws)*(Ts+Ta)/Te);
  cone { P1 abs(Lr*R1), P2 abs(Lr*R2) } sphere { P2 abs(Lr*R2) }
  #local P1=P2; #local R1=R2;
 #local Ts=Ts+Ta; #end
#end
//****************************************************************