TLEV1 (実数型) 塗り分けるレベルの下限値. TLEV2 (実数型) 塗り分けるレベルの上限値. IPAT (整数型) トーンパターン番号.
i パターンの種類. 0:ドット, 1:横線, 2:斜線(右上がり), 3:縦線, 4:斜線(左上がり), 5:格子(縦横), 6:格子(斜め). j ドットの大きさや斜線の太さ. 0から5まで値が大きくなるにつれて, ドットは大きく, 線は太くなる. k ドットや斜線の密度. 0から5まで値が大きくなるにつれて, 密度が高くなる.
# # u2d4.rb require "narray" require "numru/advanceddcl" include NumRu::AdvancedDCL include NMath nx = 21 ny = 21 xmin = -10.0 xmax = 10.0 ymin = -10.0 ymax = 10.0 kmax = 5 pmin = 0.0 pmax = 1.0 dx = (xmax-xmin)/(nx-1) dy = (ymax-ymin)/(ny-1) dp = (pmax-pmin)/kmax u = NArray.sfloat(nx, ny) v = NArray.sfloat(nx, ny) p = NArray.sfloat(nx, ny) #-- data ---- for j in 0..ny-1 for i in 0..nx-1 xi = xmin + i*dx yj = ymin + j*dy u[i, j] = xi v[i, j] = -yj p[i, j] = exp(-xi**2/64 - yj**2/25) end end #-- graph ---- Dev.open Tone.lsoftf = true Frame.new Fig.window = [xmin, xmax, ymin, ymax] Axis.draw Vector.draw(u, v) Contour.draw(p) for k in 0..kmax-1 tlev1 = k*dp tlev2 = tlev1 + dp ipat = 600 + k Tone.stlv(tlev1, tlev2, ipat) end Tone.draw(p) Dev.closePROGRAM U2D4