7)滑らかな曲面の生成

  三角形の頂点における法ベクトルを用いて、滑らかな曲面を生成します。
 //**********************************************************************************
    入力
     V1:第一変数Uの範囲 <始点,終点,刻み幅>
     V2:第二変数Vの範囲 <始点,終点,刻み幅>
     Fn:式の登録番号
 //**********************************************************************************
  #macro Smooth_surface2(V1,V2,Fn)
  mesh {
   #local V=V2.x; #while(V < V2.y)
   #local U=V1.x; #while(U < V1.y)
    #local N=Nvector(U, V, Fn);
    #local Pd11=N[0]; #local Nv11=N[1];
    #local N=Nvector(U, V+V2.z, Fn);
    #local Pd12=N[0]; #local Nv12=N[1];
    #local N=Nvector(U+V1.z, V+V2.z, Fn);
    #local Pd22=N[0]; #local Nv22=N[1];
    #local N=Nvector(U+V1.z, V, Fn);
    #local Pd21=N[0]; #local Nv21=N[1];
    smooth_triangle { Pd11,Nv11, Pd12,Nv12, Pd22,Nv22 }
    smooth_triangle { Pd11,Nv11, Pd22,Nv22, Pd21,Nv21 }
   #local U=U+V1.z; #end
   #local V=V+V2.z; #end
  }
  #end
 //**********************************************************************************

 ここでは、二個の三角形で構成した曲面を単位として、全体の曲面を生成します。