2017-06-26 6 views
-1

私は、変換されていないフォームとパースペクティブフォームで同じ長方形を使用しています。 両方とも、変換されていないフォームの座標とパースペクティブフォームの座標は、変換されていない座標系にあります。長方形をそのパースペクティブフォームに変換するために必要な変換の計算

この変換につながる変換行列を再構成する方法はありますか?

私は、4つのコーナーで与えられた4つの方程式を解くことで可能になるはずですが、どこから始めるべきかはわかりません。

//編集: ここで私はxy問題の犠牲者のようです。すべての回答は3d環境に基づいています。しかし、私は画像上に矩形を持っています+この矩形の実寸を知っています。私が知る必要があるのは、他の既知の点を透視画像に変換する方法です。

答えて

1

対応するパラメータ(各点についてxとy)が8組あり、8つの方程式を使って8つのパラメータを計算する必要があります。

遠近法変換行列を求める理論は、Paul Heckbert articleに記載されています。

C++実装はantigrain library(ファイルagg_trans_perspective.h

+0

これは私が探している解決策のようです。私の編集した質問にもうまくいくでしょうか?私はそれを試してみる。ありがとうございました! – Fuzzyma

+0

はい、それは、2つの平面、第1平面の四角形の座標、第2平面の四角形の座標を持つときに機能します。 – MBo

+0

うわー - 私はこのソリューションを実装しました。どうもありがとうございます! – Fuzzyma

0

一方向に見出すことができ、変換行列で与えられた値をプラグインすることです。それは簡単で実用的であるというメリットがありますが、理解するのには役立ちません。

変換を理解するには、画面が垂直で、上から下に向かって見える図を描きます。目を引く。目から画面までの線は垂直でなければなりません。次に、画面のどこかに点を描きます。その後、目から画面を通ってポイントまで線を描きます。

これは、高校レベルの三角法の練習で、ポイントをスクリーンに投影する作業です。

+0

私は投影が何であるか、それがどのように想像できるかを認識しています。しかし、それは私の質問ではありませんでした。私は行列を計算する方法を知る必要がありました – Fuzzyma

関連する問題