2008-09-04 (木)
午前中はプログラミング.午後はバイト.夜は線形代数.明日は研究室です.
今日は夕食前にバイトから帰ってきたので,久しぶりに作る.sangoから貰ったキャベツとか消費.あと夜中にホットケーキを焼く.
*ARToolkit
とりあえず,ARToolKitを真面目に読むことにする.いろいろいじるなら,ARToolKitPlusの方がよさげかな.
ARMarkerInfoのlineが何なのか分からなかったけど,なにやらPCAとかしてるし…線形代数とか,もう無理かもしれません.点列から直線を求めてるだけなので,あまり深く見る必要は無いかな.とりあえず少し勉強するか.
信大の情報工も,もうちょっと真面目に授業で線形代数やっても良いと思うな.
というか,もう四角形の頂点座標は分かってるんだから,もう少し楽に行けそう.当初の予定通りOpenCVのPOSITを使うか….よさげな解説やサンプルがあまり見つからないけけど,これって使えるのかなぁ.一応,サンプルはあるけど….
追記:
POSITってもしかして,モデルが平面だと使えない?意味無く面を微妙に歪めれば動くけど真っ当な結果が返ってこない….やっぱりARToolKitに戻ろう.
とりあえず,ARMarkerInfoは自分で作れそうだ.lineはマーカの4辺の情報が入っていて,ベクトルとその平行移動量が入っているっぽい.交点を計算している式を眺めた感じだと,4辺に対して(y,x,m)が格納されていて,y,xは単位ベクトルで,mは始点座標とベクトルの内積の符号をいじった感じです.
*Java
今書いているコードは最終的にJavaに移植するつもりだったけど….テンプレートとか使いすぎかも.C++並のテンプレートと演算子のオーバーロードが使えるようになるまで待つかな(笑)
あと,Javaには部分配列への参照を扱う機能が必要だと思うのですが….arraycopyすると遅すぎるし,配列と開始要素番号と長さを渡すとかもあるけど,C言語で先頭アドレスと長さを渡すほうがすっきりするし….