fec
三角メッシュ上に定義された関数の擬似カラープロット
呼び出し手順
fec(x,y,triangles,func,<opt_args>) fec(x,y,triangles,func,[strf,leg,rect,nax,zminmax,colminmax,colout,mesh])
引数
- x,y
大きさ
n
のベクトル,(x(i),y(i))
は ノードi
の座標を定義します- func
大きさ
n
のベクトル :func(i)
は,擬似カラープロットを行う関数のノードi
における値を定義します.- triangles
[Ntr,5]
行列.triangles
の各行は,メッシュの三角形triangle(j) = [number,node1,node2,node3,flag]
を定義します.node1,node2,node3
は三角形を構成するノードの番号です. number は三角形の番号で,flag は fec 関数では使用されない整数です.- <opt_args>
一連の命令
key1=value1, key2=value2
,... を 表し, この命令には以下のどれかを指定できます: strf, leg, rect, nax, zminmax, colminmax, colout, mesh (最初の4つについてはplot2dを参照).- strf,leg,rect,nax
see plot2d
- zminmax
要素 [zmin zmax]を有するベクトル (特にアニメーションの場合に有用)
- colminmax
2つの正の整数 [colmin colmax]のベクトル
- colout
要素数2の定数ベクトル [under_min_col upper_max_col]
- mesh
論理値スカラー, デフォルト値e %f (メッシュも表示させたい場合には true にしてください)
説明
この関数は,線形三角有限要素解を描画する際や単に 三角形分割により定義された関数を表示する際に有用です. ソフトウエア計算による色補間が行われるため,極めて高速という わけではありません.
関数 colorbar は色スケールを 参照するためにも使用できます(例の節を参照).
引数zminmax
は(カレントのカラーマップにおける)最初と
最後の色に関連するzの値を指定します.
カラーマップが nc 個の色を有し,
dz = (zmax-zmin)/ncとすると,
zmin + (i-1)dz <= z < zmin + i dzとなる
三角形分割された部分は色iで塗りつぶされます.
デフォルトでは,zmin = min(func) および
zmax = max(func)となります.
時間で変化するう関数の値でアニメーションを行いたい場合,
zmin および zmax グローバルな最小値および最大値もしくはそれに近い値
引数 colout
により2つの極値領域
{func < zmin} および {func > zmax}
の色をユーザが選択できるようになります.
under_min_col
および
upper_max_col
の色は(独立で)以下と同じにすることができます:
- -1
この場合,近いゾーンでは同じ色が使用されます (注意: 対応する極値が交差する場合,判別できません), これがデフォルトです.
- 0
この場合,極値領域は塗られません.
- k
(k はカレントのカラーマップへの有効なインデックス) 極値領域は色 kで塗られます.
完全なカラーマップを使用したくない場合,
1 <= colmin < colmax <= ncとなるような
colminmax
引数を使用できます
(nc はカレントのカラーマップの色の数).
この場合,カラーマップの一部 [colmin,colmax]のみが使用されます.
(デフォルトではカラーマップの全ての色が使用されます).
以下のデモファイルdemos/fec
を参照ください:
fec.ex1
はメッシュおよびメッシュ上の関数
に関する簡単なデモファイルで完全に Scilab 構文で構築されています.
fec.ex2
は,
メッシュおよび関数値が外部のメッシュビルダ(amdba 型のメッシュ)
および外部プログラムで計算される例です.
( ファイル macros.sci
で提供される)一連のマクロを
Scilabにデータファイルを読み込み,結果をプロットする際に使用することができます.
例
// 小規模な三角形分割を定義 (頂点:4, 三角形:2 ) x = [0 1 0 -1]; y = [0 0 1 1]; T = [1 1 2 3 1; 2 3 4 1 1]; z = [0 1 0 -1]; // 各頂点における関数の値 clf() gcf().color_map = jet(64); subplot(1,2,1) colorbar(-1,1) fec(x,y,T,z,strf="040",mesh=%t) xtitle("fec example (with the mesh)") subplot(1,2,2) colorbar(-1,1) fec(x,y,T,z,strf="040") // rmq:デフォルトでは mesh=%f xtitle("fec example (without the mesh)") show_window()
// 小規模な三角形分割を定義 (頂点:4, 三角形:2 ) x = [0 1 0 -1]; y = [0 0 1 1]; T = [1 1 2 3 1; 2 3 4 1 1]; z = [0 1 0 -1]; // 各頂点におけるfuncの値 // この例は zminmax の効果を示し, 前の例のデータを使用します // (前の例を事前に実行している必要があります) clf() gcf().color_map = jet(64); colorbar(-0.5,0.5) // カラーバーをマニュアルで設定する必要があることに注意 ! fec(x,y,T,z,strf="040", zminmax=[-0.5 0.5], mesh=%t) xtitle("fec example : using zminmax argument") show_window()
// 小規模な三角形分割を定義 (頂点:4, 三角形:2 ) x = [0 1 0 -1]; y = [0 0 1 1]; T = [1 1 2 3 1; 2 3 4 1 1]; z = [0 1 0 -1]; // 各頂点におけるfuncの値 // この例は zminmax および colout の効果を示します. // この例も最初の例のデータを使用します. // (前の例を事前に実行している必要があります) clf() gcf().color_map = jet(64); subplot(2,2,1) colorbar(-0.5,0.5) fec(x,y,T,z,strf="040", zminmax=[-0.5 0.5], colout=[0 0], mesh=%t) xtitle("fec : using zminmax and colout =[0 0]") subplot(2,2,2) colorbar(-0.5,0.5) fec(x,y,T,z,strf="040", zminmax=[-0.5 0.5], colout=[32 32], mesh=%t) xtitle("fec : using zminmax and colout =[32 32]") subplot(2,2,3) colorbar(-0.5,0.5) fec(x,y,T,z,strf="040", zminmax=[-0.5 0.5], colout=[-1 0], mesh=%t) xtitle("fec : using zminmax and colout =[-1 0]") subplot(2,2,4) colorbar(-0.5,0.5) fec(x,y,T,z,strf="040", zminmax=[-0.5 0.5], colout=[0 -1], mesh=%t) xtitle("fec : using zminmax and colout =[0 -1]") show_window()
// 小規模な三角形分割を定義 (頂点:4, 三角形:2 ) x = [0 1 0 -1]; y = [0 0 1 1]; T = [1 1 2 3 1; 2 3 4 1 1]; z = [0 1 0 -1]; // 各頂点におけるfuncの値 // この例は colminmax の機能を示します: // 2つのサブプロットに 2 つのカラーマップを使用します. // この例も最初の例のデータを使用します. clf() gcf().color_map = [hot(64); jet(64)]; subplot(1,2,1) colorbar(-1,1,[1 64]) fec(x,y,T,z,strf="040", colminmax=[1 64], mesh=%t) xtitle("fec using the hot colormap") subplot(1,2,2) colorbar(-1,1,[65 128]) fec(x,y,T,z,strf="040", colminmax=[65 128], mesh=%t) xtitle("fec using the jet colormap") show_window()
参照
- colorbar — draws a vertical color bar
- Sfgrayplot — 関数により定義された曲面の平滑化2次元カラープロット
- Sgrayplot — 色付きの曲面の2次元平滑化プロット
Report an issue | ||
<< fchamp | 2d_plot | fec_properties >> |