3Dスキャナーで測角できそう?(その6)

Category: 3Dスキャナー  

久々の、3Dスキャナー・ネタの登場です。
と言っても、3Dスキャナーを買ったのでは無くて、某社の3Dスキャナーで撮った
ゴルフボールのデータがWebに置いてあったので、私のプログラムで動くかどうかを
実験した結果の報告です。

結論から言えば、ポリゴン数が大きくて、最初は全く使い物にはなりませんでした。
また、色々やって行くうちに、この方法の限界も見えてきました。
主な問題は、以下の2点でした。

問題1: ポリゴンの描画が遅く、1万ポリゴン以上では使いものにならない。
問題2: プログラム内の配列数が、100万以上持てない。
      つまり、100万ポリゴン以上は処理できない。

今回のプログラムは、結晶シミュレーション・プログラムをベースに作成しています。
鉱物結晶では、通常は結晶面が100面以下なので、上の問題は3Dスキャナーの
データ特有の問題になります。
しかし、そんな事で諦めていてもしょうがないので、色々と対策してみました。


まず、ポリゴン描画の遅さについては、線1本ごとの描画割り込みを止めてみました。
すると、かなり(10倍以上)改善したので、線1000本ごとの描画割り込みに変えました。

次に、100万ポリゴンの限界については、ポリゴン数が大きい場合は、データを間引くようにしました。
最初は、これを人手で指定していましたが、面倒なので自動化しました。
この間引き処理は人手でも出来、これを使うと全体の描画が早くなります。

以下の図は、その様子を示したもので、最初は生のデータをそのまま読み込んだ状態です。
ポリゴン数が約35万と多いので、自動的に1/2に間引いています。

3DSCAN062000.jpg

1/2に間引いているのに、まだこんなにポリゴンが集中していて、真っ黒です。
そこで、1/16(取り敢えず、今の最大)に間引いてみます。

3DSCAN062001.jpg

ポリゴンが少し見えてきたので、描画を4倍にしてみたのが下図です。

3DSCAN062002.jpg

赤3点、青3点を適当に選んで、面角を計算してみましたが、問題なく計算できています。
ここまでの時間は数分なので、やっと実用的になってきました。
あとは安くて高精度な3Dスキャナーだけど・・・・、もう数年掛かりそうです。

 

スポンサーサイト
 2014_06_20

Comments


 管理者にだけ表示を許可する


05  « 2017_06 »  07

SUN MON TUE WED THU FRI SAT
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -

アクセスカウンタ

プロフィール

WG管理人

Author:WG管理人
鉱物結晶研究家

検索フォーム

ブロとも申請フォーム

QRコード

QR




pagetop