地形の点群から三角形面を作成(ParaView)

ParaViewを使用して、地形の標高を表す点データから三角形から成る面を作成します。

ここでは、面を張る方法として、2次元のDelaunay三角形分割を使用します。

地形の点群の読み込み

ここで使用するサンプルデータは、stHelens.particles(このページの一番下からダウンロード)です。

この地形データはセント・ヘレンズ山の点群データで(x,y,z)の座標からなっています。*.particlesはVTK particle filesというデータ形式です。

まず、セント・ヘレンズ山の点群データを読み込みます。ParaViewを起動してから、ツールバーから

File > Open...

と進み、ファイルの指定ダイアログから、"stHelens.particles"を指定して読み込みますと、下のような山の点群が表示されます。比較的密な点群ですが、構造格子の点データのような規則性がありません。変数Scalarは、各点の節点番号となっておりますが、不規則にならんでいることが分かります。

セント・ヘレンズ山の点群

x-y平面への点の射影

ここでは、2次元のDelaunay三角形分割を使用して面を作成しますが、点データは3次元データですので、このままでは2次元デローニー三角形分割を適用できません。

このため、点データを一旦、x-y平面上に射影します。

まず、"Calculator"を使用して、z座標の変数データ"z"を作成します。

ツールバーの"Calculator"アイコンをクリックしてから、下絵の左のように設定し、"Apply"します。

zcoords

次に、作成した"z"変数を使用て、"Warp By scalar"フィルターで、点群をx-y平面に射影します。

ツール―バーから

 Filters >> Alphabetical >> Warp By scalar

と進み、下図のように

(V.5.1.0以前)

  • Scalrs: z
  • Scale Factor: -1
  • Normal: 0 0 1

(V.5.1.1以降)

  • Scalrs: z
  • Scale Factor: 1
  • Normal: 0 0 -1

と設定し、"Apply"しますと、点群データがx-y面上に射影されます。

projection_xy

2次元Delaunay三角形分割

x-y平面上の点群データに、2次元Delaunay三角形分割を適用して、三角形面を作成します。

ツールバーから

 Filters >> Alphabetical >> Delaunay 2D

と進み、デフォルト設定のまま"Apply"します。

delaunay2d

2次元点群に対して、三角形面が作成されたことが分かります。

標高の回復

x-y平面に射影した形状を、今度は3次元データに戻します。これには、変数"z"を使用して、"Warp By scalar"フィルターで逆向きに戻します。

ツール―バーから

 Filters >> Alphabetical >> Warp By scalar

と進み、下図のように

  • Scalrs: z
  • Scale Factor: 1
  • Normal: 0 0 1

となっていることを確認し、"Apply"しますと、2次元表面が3次元の表面三角形になります。

restore_z

これで、3次元の点群からなる地形データを、三角形面からなる地形データに変換できました。

形状が凸でない場合

今回の例では、形状が凸なので、不要な三角形は発生しませんが、形状が凹形状の場合は、不要な三角形を削除する必要があります。

concave points

通常は、Constrained Dealaunay法で境界を切り取る必要がありますが、点群が規則的に並んでいる場合は、悪い品質の三角形を除去するとよいかもしれません。

  • "MeshQuality"フィルターで"Triangle Quality Measure"をAspect Ratioで計算
  • "Threshold"フィルターで、良いアスペクト比の三角形だけを残す
convex surf

ダウンロード

セント・ヘレンズ点群データ


添付ファイル: fileconvex_surf.png 730件 [詳細] fileconcave_points.png 700件 [詳細] filerestore_z.png 1051件 [詳細] filedelaunay2d.png 1006件 [詳細] fileprojection_xy.png 919件 [詳細] filezcoords.png 858件 [詳細] fileload_points.png 1062件 [詳細] filestHelens.zip 2143件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-10-28 (金) 15:05:06 (572d)