前回の記事に続いてCGAL 4.8 - Point Set Processing: User Manualを実行してみる。aptで拾ってきたcgalだとバグがあるようで型エラーが取れなかったのでgithubからダウンロードしたソースコードをビルドして利用した。
ビルド
zipファイルを展開してから、
# 前回のcgalのインストールで依存ライブラリはすでに入っている cmake . make DESTDIR=~/cgal/cgal install
以下../cgal-master/Point_set_processing_3/examples/Point_set_processing_3
で作業する。
ファイル修正
- 行頭に
#define CGAL_EIGEN3_ENABLED
コンパイル、実行
clang++ -std=c++11 -I/home/vagrant/cgal/cgal/usr/local/include/ -I/usr/include/eigen3/ -I/usr/include/ -lCGAL -lboost_thread -lboost_system -lgmp -lmpfr normal_estimation.cpp ./a.out data/camel.off meshed_camel.xyz ./a.out data/camel.off meshed_camel.xyz -estimate vcm
あとは昨日の記事と同じように、poisson reconstructionして可視化する(github由来だと、/cgal-master/Poisson_surface_reconstruction_3/
)。
結果
- 元のデータ
- 計算後
前足は比較的保存されているが、後ろ足は癒合したりちぎれたりしている。