ARToolKitの安定化 その② 関係値計算の概要
「ARToolKitの安定化 その②」は、関係計算時の動作についてです。
BGM:エコテロニカ(sansuiさん)
今回のプログラムでは、3Dモデルの補完の際に用いる関係値を、事前に計算しなければなりません。
しかし、その計算はほぼ自動で行われます。
○計算時の動作は、大まかに言って以下のようになります。
1.モード切替
プログラムのモードを、計算用に切り替える
2.マーカーの認識
画面内のマーカーを認識して、各マーカー座標系からカメラ座標系への変換行列を求める(ここまでは今までと同じ)
3.マーカー間の関係を計算
マーカーが複数見つかった場合は、それぞれの変換行列を用いて、
その関係行列(マーカーA → マーカーB という座標系変換行列)を計算する。
4.関係の平均値を計算
これをフレーム毎に行っていき、関係行列の平均値を計算する。
5.計算情報を描画
平均値のサンプル数や誤差も計算し、この情報を画面に描画して、計算の頃合をユーザーに知らせる。
6.他のマーカーに移る
ユーザーはこの情報を見て計算が大体終わったことを知り、次のマーカーの処理に移ります。
7.全部終わったら、モードを戻す
上記の処理を、「同時に表示できるすべてのマーカー」に対して行えば、基本計算は終了です。確認モードに戻して、ちゃんと計算できているかをチェックします。
8.全体の再計算
全体的に上手くいっていない場合は、すべての数値をリセットして、再計算を行います。
9.個々のデータのみ再計算
いくつかのマーカーのみが上手くいっていない場合は、該当のマーカーのみをリセットして、再計算することもできます。
10.データの保存
最後に、このようにして作成したデータを保存し、再起動時や他のプログラムで使用できるようにします。
以上が、関係値計算時の大まかな処理です。
BGM:エコテロニカ(sansuiさん)
今回のプログラムでは、3Dモデルの補完の際に用いる関係値を、事前に計算しなければなりません。
しかし、その計算はほぼ自動で行われます。
○計算時の動作は、大まかに言って以下のようになります。
1.モード切替
プログラムのモードを、計算用に切り替える
2.マーカーの認識
画面内のマーカーを認識して、各マーカー座標系からカメラ座標系への変換行列を求める(ここまでは今までと同じ)
3.マーカー間の関係を計算
マーカーが複数見つかった場合は、それぞれの変換行列を用いて、
その関係行列(マーカーA → マーカーB という座標系変換行列)を計算する。
4.関係の平均値を計算
これをフレーム毎に行っていき、関係行列の平均値を計算する。
5.計算情報を描画
平均値のサンプル数や誤差も計算し、この情報を画面に描画して、計算の頃合をユーザーに知らせる。
6.他のマーカーに移る
ユーザーはこの情報を見て計算が大体終わったことを知り、次のマーカーの処理に移ります。
7.全部終わったら、モードを戻す
上記の処理を、「同時に表示できるすべてのマーカー」に対して行えば、基本計算は終了です。確認モードに戻して、ちゃんと計算できているかをチェックします。
8.全体の再計算
全体的に上手くいっていない場合は、すべての数値をリセットして、再計算を行います。
9.個々のデータのみ再計算
いくつかのマーカーのみが上手くいっていない場合は、該当のマーカーのみをリセットして、再計算することもできます。
10.データの保存
最後に、このようにして作成したデータを保存し、再起動時や他のプログラムで使用できるようにします。
以上が、関係値計算時の大まかな処理です。
