2017-03-07 10 views
2

は、マトリックスは、一つのカメラのユークリッドは、次のようなシステムの位置座標導出することができるポーズSE(3) 4×4のセットが与えられますのポーズのように、this questionプロットカメラ軌道

ポーズのセットは、例えば、それぞれがいくつかの時間ステップでカメラの姿勢を指す場合のように、順次に処理される場合、以下のように、回転及び並進成分が蓄積することができる。

enter image description here

両方が所与の時間ステップにおけるカメラの相対位置を得るために最初の式にプラグインすることができ、

enter image description here

私の質問は、OpenCVまたは同様のツールを使用してそのような点をプロットする方法です。円形の動きでオブジェクトの周りを移動するカメラの場合、出力プロットは、軌跡の始点を原点とする円形でなければなりません。

例を以下に示す: - enter image description here

私の質問は、上記のように軸をプロットすることについて、明示的ではないですが、それはボーナスだろう。

TL; DR:私たちは、このような取得車軸ベクトルX,Y,Z

+0

(...ダークで始まり、あなたはどこ運動を開始し、終了を参照して明るい色で終了)あなたもブレンダーを使用することはできますか?アニメーションは、しばしばモーションのより有用な視覚化である。 –

+0

@FrancescoCallariもしそれが私に希望の出力を与えることができるなら、それはオプションです。しかし、私はBlenderを一度も使用していません。 –

答えて

1
  1. などOpenCVの、VTK、matplotlibの、MATLABなどの一般的なツールを使用して上記のようなプロットを生成することができますどのようにポーズのセット、与えられましたプロットポイントごとに位置O

    を単純にフォームマトリックスに抽出します。 Understanding 4x4 homogenous transform matricesを参照してください。あなたの行列がすでに逆であるかどうかわかりません。したがって、あなたの行列がカメラ座標系を表していれば、必要な情報を直接抽出することができます。最初に行列を反転してから抽出しない場合。

    homogenuous変換行列が得られたら、転置演算を利用して疑似逆行列を作ることができます。詳細はfull pseudo inverse matrixを参照してください。

  2. は、各プロット点を

    第1のプロット線として車軸をレンダリング:aが軸線サイズである

    red_line(O,O+a*X); 
    green_line(O,O+a*Y); 
    blue_line(O,O+a*Z); 
    

    。そして、このプロットrは、いくつかの半径位置

    black_circle(O,r); 
    

    のドットの後。プロットには任意のgfx lib/engineを使用できます。私はGDIまたはOpenGLに行くだろうが、それはあなたが何をよく知っているかだけに依存する。

    BTW。あなたは色の強さを調節することができるタイムラインのavarenesを向上させるために

関連する問題