| 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 tightcamlightlightinggouraud
参考
isonormals, isocaps, reducepatch, reducevolume, shrinkfaces, smooth3, subvolume
| isonormals | isstr | ![]() |