書式:
vfill FILE using x:y:z:radius:(<expression>)
vgfill FILE using x:y:z:radius:(<expression>)
コマンド vfill は、それがグラフを生成する代わりに現在有効なボクセル
格子データを変更する以外は、コマンド plot と同様に作用します。入力フ
ァイルから読み込んだ各点に対して、その点を含むボクセル、及び中心が
(x,y,z) で指定半径 (radius) の球に含まれるその他すべてのボクセルが以下
のように増やされます:
- (x,y,z) からそのボクセルのユーザ座標での原点 (vx,vy,vz) までの距離を
ユーザ変数 VoxelDistance にセットします。
- (x,y,z) からそのボクセルの格子座標での原点までの距離をユーザ変数
GridDistance にセットします。
- using 指定の 5 番目に指定した数式を評価します。この数式は、新しい
VoxelDistance や GridDistance の値を使用できます。
- voxel(vx,vy,vz) += その数式 <expression> の評価結果
例:
vfill "file.dat" using 1:2:3:(3.0):(1.0)
このコマンドは、file.dat 内の各点の半径 3.0 の球の中にあるすべてのボク
セル値を 1 増やします。この球と重なるボクセルの個数は、ユーザ座標での
格子の間隔に依存します。
vgfill "file.dat" using 1:2:3:(2):(1.0)
このコマンドは、現在の点を中心とするボクセルの 5x5x5 の立方体内のボク
セルの値を 1 増やします。半径の "2" は、x の両方向、y の両方向、z の両
方向に丁度 2 ボクセルずつ広げることと解釈し、これはそれらの軸に関する
ユーザ座標の相対的なスケールとは無関係です。
例:
vfill "file.dat" using 1:2:3:4:(VoxelDistance < 1 ? 1 : 1/VoxelDistance)
このコマンドは、各点の 4 列目で決まる半径の円内のすべてのボクセル値を
変更します。各ボクセルに追加される増分値は、データ点からの距離に従って
減少します。
vfill と vgfill は、現在のボクセル格子の存在する値を常に増加させる
ことに注意してください。
ボクセル一つを 0 にリセットするには、voxel(x,y,z) = 0 を使用し、
すべての格子を 0 にリセットするには、vclear を使用してください。
竹野茂治@新潟工科大学
2023-08-29