pyvista.PolyData#
- class PolyData(var_inp: vtkPolyData | str | ndarray[Any, dtype[number]] | Sequence[ndarray[Any, dtype[number]] | Sequence[int | float]] = None, faces: ndarray[Any, dtype[integer]] | Sequence[int] | None = None, n_faces: int | None = None, lines: ndarray[Any, dtype[integer]] | Sequence[int] | None = None, n_lines: int | None = None, strips: ndarray[Any, dtype[integer]] | Sequence[int] | None = None, n_strips: int | None = None, deep: bool = False, force_ext: str | None = None, force_float: bool | None = True, verts: ndarray[Any, dtype[integer]] | Sequence[int] | None = None, n_verts: int | None = None)[ソース]#
表面形状(頂点,線,ポリゴンなど)で構成されるデータセット.
いくつかの方法で初期化できます:
空のメッシュを作成する
vtk.vtkPolyDataから初期化する
頂点を使用する
頂点と面を使用する
ファイルから
- パラメータ:
- var_inp
vtk.vtkPolyData
,str
, sequence,optional
フレキシブル入力タイプ.
vtk.vtkPolyData
を指定できます.この場合,このPolyDataオブジェクトはdeep=True
の場合はコピーされ,deep=False
の場合はシャローコピーになります.'my_mesh.stl'
のようなローカルパスや,'/tmp/my_mesh.ply'
や'C:/Users/user/my_mesh.ply'
のようなグローバルパスも受け入れます.そうでなければ,これは1つ以上の点を含むポイント配列またはリストでなければなりません.各点は3つの次元を持たなければなりません。
faces
,lines
,strips
,およびverts
がすべてNone
である場合,PolyData
オブジェクトはpoints
の数とn_verts
が同じ数の頂点セルで作成されます.- facessequence,
optional
面接続配列.面には,面内の点の数を示すパディングが含まれている必要があります.たとえば,
[10, 11, 12]
と[20, 21, 22, 23]
の2つのフェースは[3, 10, 11, 12, 4, 20, 21, 22, 23]
として表されます.これにより,フェースごとに任意の数のポイントを持つことができます.面接続配列を含まない場合,各点は単一の頂点に割り当てられます.これは,接続性のない点群に使用されます.
- n_faces
int
,optional
faces
接続アレイの面の数.この設定はオプションですが,PolyData
の作成を高速化します.- linessequence,
optional
線接続アレイ.
faces
と同様に,この配列は線分セグメント内の点の数を示すパディングを必要とします.例えば,2つのラインセグメント[0, 1]
および[1, 2, 3, 4]
は,[2, 0, 1, 4, 1, 2, 3, 4]
として表される.- n_lines
int
,optional
lines
接続アレイの線の数.この設定はオプションですが,PolyData
の作成を高速化します.- stripssequence,
optional
3角形のストリップの接続配列. 3角形ストリップは,最初の3角形とストリップの次の点を必要とします.各3角形は,新しい点と前の 2 つの点から構成されます.
lines
やfaces
と同様に,この配列には点の数を示すパディングが必要です.例えば,[0, 1, 2, 3, 6, 7, 4, 5, 0, 1]
という1つの3角形のストリップは10
のパディングを必要とし,[10, 0, 1, 2, 3, 6, 7, 4, 5, 0, 1]
と入力しなければならないでしょう.- n_strips
int
,optional
strips
接続アレイの線の数.この設定はオプションですが,PolyData
の作成を高速化します.- deepbool,
optional
入力をコピーするか,コピーせずに入力からメッシュを作成するかを指定します.
deep=True
を設定すると,メッシュに影響を与えずにメッシュの外部でオリジナルの配列を修正できます.デフォルトはFalse
です.- force_ext
str
,optional
ファイルから初期化する場合,リーダーはファイルの拡張子ではなく,この拡張子を持っているかのように扱わせます.
- force_floatbool,
optional
データ型が非浮動小数点型の場合に,そのデータ型を
float32
にキャストします.デフォルトはTrue
です.これをFalse
に設定すると,非浮動小数点型を許容することになりますが,データセットを変換する際に,中間の浮動小数点数が切り捨てられる可能性があります.- vertssequence,
optional
vertsの接続配列.
faces
と同様に,この配列は各セルの頂点の数を示すパディングが必要です.例えば,[1, 0, 1, 1, 1, 2]
は,1つのポイントを持つ3つの頂点セルを示し,[2, 0, 1, 2, 2, 3]
は,2つのポイントを持つ2つのポリ頂点セルを示しています.- n_verts
int
,optional
verts
接続アレイの頂点の数.この設定はオプションですが,PolyData
の作成を高速化します.
- var_inp
例
>>> import vtk >>> import numpy as np >>> from pyvista import examples >>> import pyvista as pv
空のメッシュを作成する.
>>> mesh = pv.PolyData()
vtk.vtkPolyData
オブジェクトから初期化します.>>> vtkobj = vtk.vtkPolyData() >>> mesh = pv.PolyData(vtkobj)
点から初期化し,頂点を作成します.
>>> points = np.array([[0, 0, 0], [1, 0, 0], [1, 0.5, 0], [0, 0.5, 0]]) >>> mesh = pv.PolyData(points)
点と面から初期化し,多角形の面を作成します.
>>> faces = np.hstack([[3, 0, 1, 2], [3, 0, 3, 2]]) >>> mesh = pv.PolyData(points, faces)
点と線から初期化します.
>>> lines = np.hstack([[2, 0, 1], [2, 1, 2]]) >>> mesh = pv.PolyData(points, lines=lines)
点とトライアングル ストリップから初期化します.
>>> strips = np.hstack([[4, 0, 1, 3, 2]]) >>> mesh = pv.PolyData(points, strips=strips)
また,複数のセルタイプで作成することも可能です.
>>> verts = [1, 0] >>> lines = [2, 1, 2] >>> mesh = pv.PolyData(points, verts=verts, lines=lines)
ファイル名から初期化.
>>> mesh = pv.PolyData(examples.antfile)
その他の例については, PolyDataを作成 を参照してください.
メソッド
PolyData.from_regular_faces
(points, faces[, ...])pyvista.PolyData の代替コンストラクタは,点配列と規則的な面配列から構成されます.
PolyData.save
(filename[, binary, texture, ...])サーフェスメッシュをディスクに書き込みます.
グローバルな n_faces の厳格なオプトイン.
アトリビュート
セルの法線を返します.
セルの法線を返します.
このPolyDataの面の接続性配列を返します.
pyvista.PolyData
の全ての面が3角形であるかどうかを返します.メッシュが多様である(オープンエッジがない)場合に返します.
ラインへのポインタをnumpy配列として返します.
セルの数を返します.
多角形の面の数を返します.
線の数を返します.
このメッシュ上の開いたエッジの数を返します.
ストリップを返します.
頂点数を返します.
polydataのobbTreeを返します.
ポイント法線を返します.
PolyData.regular_faces
すべての面が同じ大きさである場合,点のインデックスの面配列を返します.
ストリップへのポインタをnumpy配列として返します.
頂点セルを返します.
データセットのおおよその体積を返します.