MATLAB Function Reference | ![]() ![]() |
表示
fv = isosurface(X,Y,Z,V,isovalue) fv = isosurface(V,isovalue) fv = isosurface(X,Y,Z,V), fv = isosurface(X,Y,Z,V) fvc = isosurface(...,colors) fv = isosurface(...,'noshare') fv = isosurface(...,'verbose') [f,v] = isosurface(...) isosurface(...)
詳細
fv = isosurface(X,Y,Z,V,isovalue)
は、物体データV
からisovalue
で設定した等平面値の平面データを計算します。配列X,Y,Z
は、物体V
に対する座標を設定します。構造体fv
は、等平面のフェースと頂点を含んでいて、patch
コマンドに直接渡すことができます。
fv = isosurface(V,isovalue)
は、[X,Y,Z] = meshgrid(1:n,1:m,1:p)
である配列X
, Y
, Z
を仮定しています。ここで、[m,n,p] = size(V)
です。
fvc = isosurface(...,colors)
は、配列 colors
をスカラ場に内挿し、内挿された値を構造体 fvc
のフィールド facevertexcdata
に出力します。配列 colors
のサイズは、V
のサイズと同じである必要があります。引数 colors
は、等平面を計算するために使用するものと異なるデータをもつ等平面(たとえば、温度データを風向の等平面上に重ね書きする)のカラーマッピングをコントロールできます。
fv = isosurface(...,'noshare')
は、頂点を共有しません。そのため、高速で計算できますが、非常に大きな集合を作成します。
fv = isosurface(...,'verbose')
は、計算の進行に連れ、コマンドウインドに進行状況を表わすメッセージが表示されます。
[f,v] = isosurface(...)
は、構造体としててはなく、2つの配列にフェースと頂点を出力します。
引数を設定しないisosurface(...)
は、計算されたフェースと頂点を使って、パッチを作成します。
注意
isosurface
により作成された fv
構造体を直接 patch
コマンドに転送することができます。しかし、プロパティ名を設定しないと、各フェースと頂点の配列 (f
, v
) を patch
に直接渡すことができません。たとえば、
patch(isosurface(X,Y,Z,V,isovalue)
)
[f,v] = isosurface(X,Y,Z,V,isovalue)
;
patch('Faces',f,'Vertices',v)
です。
例題
つぎの例題は、フローデータセットを使って、無限大のタンクの中での噴出速度プロファイルを表すものです(詳細は、help
flow
を参照)。等平面は、-3の値に対して描画されています。patch
コマンドの後に、ライティングにより作成された等平面を示します。
isonormals
)set
, FaceColor
, EdgeColor
)daspect
, view
)camlight
, lighting
)[x,y,z,v] = flow; p = patch(isosurface(x,y,z,v,-3)); isonormals(x,y,z,v,p)set
(p,'FaceColor','red','EdgeColor','none');daspect
([1 1 1])view
(3); axis tightcamlight
lighting
gouraud
参考
isonormals
, isocaps
, reducepatch
, reducevolume
, shrinkfaces
, smooth3
, subvolume
![]() | isonormals | isstr | ![]() |