Darkside(https対応しました) |
2019年4月8日(月) 21:33
VisualSFM で3次元の点情報を取得する方法は、ほぼ確立されているようだ。しかし、3Dプリンターで使えるようにするためには点と点を結んで三角形の集合体にせねばならない。どの点とどの点を接続させれば良いか?これを手作業ではなく自動的に処理するのは難しく、なかなか決定版が無い感じである。
そこで、独自のやり方を考えてみた。
使用ツールは普通に、MeshLab だ。
まずは、VisualSFM で生成した ply ファイルを読み込む。
なぜか、上下逆に読み込まれる。
点の座標と、色情報しかない。最終的に色情報は不用になるが、見易さが違うので当面ずっと付加したままにしておく。
点を選択し、削除する。
このアイコンを押してからマウスドラッグすると、長方形領域が広がってその内部の点が選択状態の赤色になる。
そしてこのアイコンを押すと、赤色の点が消去される。
これを繰り返し、余分な点を消す。
フィギュアの表面付近には、明らかに正しい表面から浮いて漂っているような点も散らばっている。しかし、それらの点は削除しない方が良さそうだ。充分に離れている点だけを、削除する。
Filters → Remeshing simpleification and Reconstruction → Screened Poission Surface Reconstruction を使用。パラメーターは、取りあえずデフォルトのまま。
大きく穴が開いたままのハッチ底面が、水滴のように塞がれる。
フィギュア表面付近の余計な浮遊点を消すと、このフィルターがうまく機能せず穴が開き易い。
再び、点を選択する。
点選択機能は都合の良いことに、メッシュ化されていない点だけが対象になる。そのため、全体を選択すると、メッシュ構成に使われなかった点をまとめて削除できる。
削除すると、フィギュア表面に粉のように纏わり付いていた点が一気に消滅する。
これで、メッシュのみが残る。
プロジェクトを保存し、MeshLab をいったん終了させる。なぜか知らないが、ここでいったん終了させるのが決定的に重要な手順。
プロジェクトファイルだけでなく、新たな ply ファイルも生成される。
MeshLab を再実行し、さきほど保存された新しい ply ファイルを読み込む。これは表示状態を変更し、ワイヤーフレームのみにしてある。データーは、同じ。
データーをエクスポートし、STL形式で保存する。
なぜか MeshLab をいったん終わらせないと、正常なSTLファイルをエクスポートできない。
この後は、STLファイルの微調整となる。ハッチ下部に水滴のようにくっついた部分も削除しないと、3Dプリンターで出力されてしまう。STLファイルの編集に関しては、後日試してみたい。外装パーツ用データーは、何ヶ月も後にならないと必要にならない。
written by higashino [Sタンク 1/16] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
Generated by MySketch GE 1.4.1
Remodelling origin is MySketch 2.7.4