2012-03-27 8 views
1

私は加速度計とジャイロスコープをチップに埋め込んでいます。そこからx、y、z軸(加速度計から)、ピッチ、ロール、ヨー(ジャイロスコープから)を取得します。これらの値を使用して、3D画像を回転させる必要があります。 glRotatef(Angle,Xvector,Yvector,Zvector)ピッチ、ロール、ヨーから角度を見つけるには?このための任意の方程式?ピッチ、ロール、ヨーから角度を見つけるには?

答えて

2

ジャイロスコープから受け取った回転値は、異なる軸について個々の回転として扱われるべきではありませんが、回転の時間差は回転の回転とみなされます。あなたの問題は、あなたが差動コンポーネントが

dR = dR_x * dR_y * dR_z 
    = dR_y * dR_x * dR_z 
    = dR_y * dR_z * dR_x 
    = dR_z * dR_x * dR_y 
    = dR_z * dR_y * dR_x 

にこれを行うための最も簡単な方法は、その行列を得るために、任意の順序で乗算することができるのdRれる差動回転行列を見つけたいの形式であるのそれぞれを計算していますこれらの順列をとり、それらの平均行列をdR 'とし、正規直交化を適用する。

この行列を使用してください。あなたはそれを必要とせず、後でOpenGLのバージョンから削除されました。

+0

3D画像を回転するには、ピッチ、ロール、ヨー(ジャイロスコープ)を使用する必要はありません。私は正しい? – indira

+2

@indira:ジャイロスコープの値は、角度として扱われるべきではなく、回転速度として扱われるべきです。はい、あなたは何かを見つけなければなりません、それらのスピードがあなたに回転を教えてくれるわけではありませんが、回転の変化です。 – datenwolf

関連する問題