- @aramitama
- 2018.4.25
- PV 537
メッシュから点群を生成する
ー 概要 ー
複数の三角形の組み合わせで表現されるメッシュファイルから点群を生成する方法についてまとめます。メッシュファイルは三角形を組み合わせて表面を表現しています。その表面から点データをサンプリングして点群を生成します。
この章を学ぶ前に必要な知識
条件
- 三角形で構成されるメッシュファイルを入力
- 表面に沿って点群を出力
効果
- 表面の点群を均一にサンプリング
解 説
今回の投稿は右のブログの投稿を参考にしています。 | 外部リンク 3D point cloud generation from 3D triangular mesh |
また、PointCloudLibrary(PCL)においても同様の実装が行われている。 | 外部リンク mesh_sampling.cpp |
全体の方針は何点サンプリングするか決めて、メッシュの表面からランダムに点を決めていきます。
1. サンプリングする点群数Nを決める
2. メッシュの各三角形の面積に比例した確率で三角形を選択する
3. 選択した三角形の中でu, v を使ったバリセントリック座標で0≦u≦1, 0≦v≦1をランダムに選択して座標を選ぶ
4. その点を点群に加え2.から繰り返す | メッシュから点群を生成する手順 |
この章を学んで新たに学べる
Comments