最終更新: pafuhana1213 2011年11月30日(水) 00:36:43履歴
参考:ARtoolKitサンプルのexview
arGetTransMat( markerInfo[k], pattCenter, pattWidth, pattTrans ); /* カメラ座標系におけるマーカ原点の座標 */ double mx = pattTrans[0][3]; double my = pattTrans[1][3]; double mz = pattTrans[2][3]; /* カメラ座標系におけるマーカの法線ベクトル */ double nx = pattTrans[0][2]; double ny = pattTrans[1][2]; double nz = pattTrans[2][2]; /* マーカ座標系基準のカメラ位置・クォータニオン */ double cam_trans[3][4]; double quat[4], pos[3]; if( arUtilMatInv( pattTrans, cam_trans ) < 0 ) return; // 逆変換 if( arUtilMat2QuatPos( cam_trans, quat, pos) < 0 ) return; // 座標とクォータニオンの抽出…? /* ウィンドウ座標系におけるマーカの中心・頂点座標 */ double winPos[5][2] // 中心 winPos[0][0] = markerInfo[k].pos[0]; winPos[0][1] = markerInfo[k].pos[1]; // 角 /* dir=0: 左上→右上→右下→左下 dir=1: 右上→右下→左下→左上 dir=2: … dir=3: … 常に左上の角をとりたい → vertex[(4-dir)%4] */ winPos[1][0] = markerInfo[k].vertex[0][0]; winPos[1][1] = markerInfo[k].vertex[0][1]; winPos[2][0] = markerInfo[k].vertex[1][0]; winPos[2][1] = markerInfo[k].vertex[1][1]; winPos[3][0] = markerInfo[k].vertex[2][0]; winPos[3][1] = markerInfo[k].vertex[2][1]; winPos[4][0] = markerInfo[k].vertex[3][0]; winPos[4][1] = markerInfo[k].vertex[3][1];
このページへのコメント
MkOhVu <a href="http://glqtxfpqxelm.com/">glqtxfpqxelm</a>, [url=http://jorwiwchflqo.com/]jorwiwchflqo[/url], [link=http://vrddrivtjwph.com/]vrddrivtjwph[/link], http://wpzaffvwlaaz.com/
1uzu7x <a href="http://iqnjlhlhattu.com/">iqnjlhlhattu</a>, [url=http://aevjuhjxnbeb.com/]aevjuhjxnbeb[/url], [link=http://hycycunasqil.com/]hycycunasqil[/link], http://uymxbiornaac.com/