点群からマーチングキューブス(APSS)で面を作成(MeshLab) †MeshLabを使用して、マーチングキューブス法(APSS)で点群から面を作成します。 ここでは、下のようなねこの点群に面を張ります。全体的に密な点群ですが、しっぽが少し粗くなっています。 それでは、MeshLabのマーチングキューブス法(APSS)で面を作成してみましょう。 点群の読み込み †まず、MeshLabを起動します。次に、ツールバーから File > Import mesh... と進み、ファイルの指定ダイアログから、"ism_train_cat.xyz"(このページの一番下からダウンロード)を指定して読み込みますと、下のようなネコの点群が表示されます。 点群の法線ベクトルの計算 †マーチングキューブス法で面を生成するには、各点の法線ベクトルを計算しておく必要があります。 では、各点の法線ベクトルを計算しましょう。ツールバーから Filters > Normals, Curvatures and Orientation > Compute normals for point sets と進み、"Compute normals for point sets"ダイアログボックスを開きます。デフォルト設定のまま、"Apply"してから"Close"しますと、法線ベクトルが計算されます。(GUIの下部に、"Filter successfully completed..."というメッセージが一瞬出てから消えます。)
マーチングキューブス(APSS)の適用 †点群に対して法線ベクトルを計算しましたら、マーチングキューブス(APSS)を適用できます。ツールバーから Filters > Point Set > Marching Cubes (APSS) へと進み、"Marching Cubes (APSS)"ダイアログを開きます。これもデフォルト設定のまま、"Apply"します。
マーチングキューブス(APSS)を適用した結果は、下図のように、面の裏表が反転していますが、面が張られているのを見ることができます。 面の反転 †面の裏表が逆ですと、面がよく見えませんので面の裏表を反転させます。ツールバーから Filters > Normals, Curvatures and Orientation > Invert Faces Orientation へと進み、"Invert Faces Orientation"ダイアログボックスを開きます。デフォルトの設定のまま、"Apply"しますと、面の裏表が反転して、面が見やすくなります。
しっぽは途切れていますが、PCLライブラリのマーチングキューブス法に比べてきれいな面がはれます。 "Marching Cubes (APSS)"ダイアログの"Grid Resolution"等のパラメータを変更すると、面の張られ方が変わるのを観察できます。 ダウンロードとビルド †点群データ |