xyz座標で与えられた点群データの処理
最終更新:2021/03/09
xyz座標で記されたデータを, .particles
拡張子で保存.
可視化して, 自分の欲しい部分を切り抜きレンダリングする過程.
データの準備
以下のように, 点群データをx, y, zの順番に並べたデータを作成し,
.particles
拡張子で保存.
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
を押すことで可視化されるが, 点が並んでいるだけで見にくい.
Z座標を可視化
そこで, Z座標だけを抜き出したデータを作り, そいつにカラーマップを適用する.
まず, Calculater
を開き, Scalars
から
coodsZ
を選択し, Apply
する.
すると, Z座標が抜き出され, 値に合わせて色がマッピングされるので以下のようにみやすくなる.
その他の基本的な操作については, 公式チュートリアルが詳しい. 2.10節くらいまで読めば, だいたいのことはわかると思う. 日本語もあるが, 最新のバージョンに対応している英語がおすすめ.
一部を切り出してスムージングする
切り出し
Paraviewはやまほどフィルターと呼ばれる機能がある.
これは, データになにか演算をして, それを新たなデータとして扱えるようにするための機能 ( と認識している ) .
実際, 先程のCalculater
も, \( (x, y, z) \) の三次元データを \( z \) のみの一次元データに射影するフィルターだといえる.
ここでは, フィルターについては説明しないが, ぜひフィルター一覧から色々選んで検索してみてほしい.
まず, ここでは, Clipフィルターを用いて一部分をとりだす. Clipフィルタに関する記事はたくさんあるが, 例えば ココ がわかりやすい.
この点群データをつないで面にし, スムージングして見やすくしてみたい.
Delaunay2Dフィルター
このままでは, 点群データなので, 点と点を繋いで三角形により構成されたメッシュにする. Delaunay2Dフィルターがこの目的に適う.
Delaunay2D
→Apply
.
わかりやすいように拡大し, 表示をWireframeにしている. 三角形の組み合わせにより表示されていることがわかる.
Smoothフィルター
この時点で, 表示をSurfaceにしても十分キレイに表示されるが, データによってはギザギザしていると思うので スムージングしたい. そこで, Smoothフィルターを使う.
Smooth
→Apply
, Number of Iteration
は, 適当に200とした.
よく使う一連のフィルタは, カスタムフィルタとして保存しておけばよい. 参考