3)ブロブ曲線

 線の太さを変化させることができるブロブで描く曲線です。
 //***************************************************************
  入力
   Lr;基本となる線の半径
   V1:媒介変数の範囲<始点,終点,刻み幅>
   V2:太さの変化<始点の比率,終点の比率>
   Fn:式の登録番号
 //***************************************************************
 #macro Blob_line(Lr,V1,V2,Fn)
 #local Ts=V1.x; #local Te=V1.y; #local Ta=V1.z;
  #if(V2.x>0) #local Rs=V2.x; #else #local Rs=1e-10; #end
  #if(V2.y>0) #local Re=V2.y; #else #local Re=1e-9; #end
  #local Ra=(Re-Rs)*Ta/(Te-Ts);
 #local Th=1; #local Sg=1;
 blob { threshold Th
  #local P1=Line_function(Ts,Fn); sphere { P1, Lr Sg*Rs }
  #while( Ts < Te)
  #local P2=Line_function(Ts+Ta,Fn);
  cylinder { P1, P2, Lr Sg*Rs } sphere { P2, Lr Sg*Rs }
  #local P1=P2; #local Rs=Rs+Ra;
  #local Ts=Ts+Ta; #end }
 #end
 //***************************************************************
 例) object { Blob_line(Lr,<-pi,pi,pi/16>,<40,1>,2)
          scale 45 texture { T_hair } translate -90*x }