回転行列を変更するだけでは不十分です。カメラの位置を変更する必要があります。構造からの動きの問題では、カメラが動いている間、シーンは静的であると想定されています。関係の動きだけが重要なので、そのような場合を考えることができます。
外部カメラ行列を A = R[I | I | -C]、ここで、C はグローバル フレーム内のカメラ中心の位置、R はグローバル フレームからカメラ フレームへの回転です。Ra は、グローバル フレームの垂直軸を中心とした角度 alpha による回転を表します。(cos(alpha),-sin(alpha),0;sin(alpha),cos(alpha),0;0,0,1)と書くことができます。次に、必要なカメラ行列を次のように計算できます。-C2]、ここで、R2 = R * transpose(Ra) および C2 = Ra * C.
ただし、このアプローチを使用する場合は、2 つのことを確認する必要があります。まず、グローバル フレームの垂直軸は、実際の垂直方向に対応している必要があります。次に、グローバル フレームの原点は、カメラの中心回転の軸上にある必要があります。後者は、オブジェクトをグローバル フレームの原点に配置することで実現できます。
角度が不正確に測定された場合、またはグローバル フレームが適切に中央に配置されていない場合、計算された外部行列も不正確になる可能性があります。この場合、モーション アルゴリズムからの構造の初期推定値として使用できます。もう 1 つの方法は、最初のフレームだけでなく、フレームごとにカメラを調整することです。