xyz座標で与えられた点群データの処理

xyz座標で記されたデータを, .particles拡張子で保存. 可視化して, 自分の欲しい部分を切り抜きレンダリングする過程.

データの準備


以下のように, 点群データをx, y, zの順番に並べたデータを作成し, .particles拡張子で保存.

XYZ

 34963.940000, 74235.980000, 540.810000
-34909.000000, 74166.000000, 540.400000
-34903.910000, 74156.460000, 540.390000
-34895.880000, 74159.240000, 540.320000
-34876.380000, 74161.730000, 539.370000
		

Paraviewへの読み込み

読み込み

.particlesデータをドラッグアンドドロップかopenからよめば入る. Applyを押すことで可視化されるが, 点が並んでいるだけで見にくい.

name

Z座標を可視化

そこで, Z座標だけを抜き出したデータを作り, そいつにカラーマップを適用する.

まず, Calculaterを開き, Scalarsから coodsZを選択し, Applyする. すると, Z座標が抜き出され, 値に合わせて色がマッピングされるので以下のようにみやすくなる.

name

その他の基本的な操作については, 公式チュートリアルが詳しい. 2.10節くらいまで読めば, だいたいのことはわかると思う. 日本語もあるが, 最新のバージョンに対応している英語がおすすめ.

一部を切り出してスムージングする

切り出し

Paraviewはやまほどフィルターと呼ばれる機能がある. これは, データになにか演算をして, それを新たなデータとして扱えるようにするための機能 ( と認識している ) . 実際, 先程のCalculaterも, \( (x, y, z) \) の三次元データを \( z \) のみの一次元データに射影するフィルターだといえる. ここでは, フィルターについては説明しないが, ぜひフィルター一覧から色々選んで検索してみてほしい.

まず, ここでは, Clipフィルターを用いて一部分をとりだす. Clipフィルタに関する記事はたくさんあるが, 例えば ココ がわかりやすい.

name

この点群データをつないで面にし, スムージングして見やすくしてみたい.

Delaunay2Dフィルター

このままでは, 点群データなので, 点と点を繋いで三角形により構成されたメッシュにする. Delaunay2Dフィルターがこの目的に適う.

Delaunay2DApply.

name

わかりやすいように拡大し, 表示をWireframeにしている. 三角形の組み合わせにより表示されていることがわかる.

Smoothフィルター

この時点で, 表示をSurfaceにしても十分キレイに表示されるが, データによってはギザギザしていると思うので スムージングしたい. そこで, Smoothフィルターを使う.

SmoothApply, Number of Iterationは, 適当に200とした.

name

よく使う一連のフィルタは, カスタムフィルタとして保存しておけばよい. 参考

この記事のTOP    BACK    TOP