0

そのため、現在、3D ベクトル (加速度計から取得) をオブジェクトの向き (オブジェクト ジャイロスコープから取得した角速度を統合して取得し、3D ベクトルとして返す) に投影しようとしています。しかし、私はそれを行う方法が本当にわかりません。

現在、Excel スプレッドシートを使用して、作業中のソフトウェアにインポートされるテスト データから期待できる結果を把握しています。

4

1 に答える 1

0

ベクトルvを別のベクトルpに射影するのは、前者と単位長ベクトルn pの方向の内積を計算するのと同じくらい簡単です。

v p = ( v . n p ) n p = ( v . p / || p || 2 ) p

コンポーネント的には次のとおりです。

// Dot product of v and p
vdp = v.x*p.x + v.y*p.y + v.z*p.z
// Square norm of p
p2 = p.x*p.x + p.y*p.y + p.z*p.z
// Projection
vp.x = (vdp / p2) * p.x
vp.y = (vdp / p2) * p.y
vp.z = (vdp / p2) * p.z

投影自体の長さはvです。n p、これは に等しいvdp / sqrt(p2)

于 2016-07-29T12:31:19.717 に答える