2017-05-08 231 views
0

我有一個3D對象,並希望將其全部導出。假設我有家庭照片,並且如果將它投影到2D平面上,它只會向我展示像方形的東西,但如果我改變角度,給我不同的看法(簡而言之,我想要相同的3d對象的不同2D投影更好的可視化)。我正在尋找能夠做到這一點的Python庫或算法。請參考圖清楚地知道我想要什麼。 enter image description here將3D模型投影到2D平面上

+0

我正在尋找python代碼。 – Renu

+0

歡迎!有很多圖書館可以做這種事情。無論如何,你的問題不清楚,也沒有任何努力。如果處於對不起的狀態,這可能會大幅度低估。 – Ash

+0

其實我想把3D模型投影到2D平面上。請參閱本文的圖1 https://pdfs.semanticscholar.org/087d/87eb6fc37245b7867cde27235c2f23574949.pdf您將會知道我正在尋找的是什麼。 – Renu

回答

0

這可以通過投影變換完成。這實際上只是兩個矩陣乘法和一個除法。可能會寫成一行Python。 enter image description here

右邊的矢量是3D模型的許多3D頂點之一。矩陣[r_11 ... t_3]是一個剛性變換,代表您的飛機的位置和方向(有些人稱之爲相機姿態或外部攝像頭參數)。這個矩陣你將爲每個單獨的投影改變。矩陣[f_x ... 1]定義投影本身並保持通常不變。在你的應用程序中,可能只是使用單位矩陣(因此,你可以忽略它)。最後一步是以變換後的方式對變換後的矢量進行縮放,使其位於圖像平面上z = 1的距離。u_x和u_y是對應的2D座標。

+0

謝謝你的回答,我只是編輯了我的問題,以便理解。給不便帶來的不便 – Renu

+0

它看起來像透視投影,但我想要正交投影 – Renu

+0

正交投影很容易計算。您只需要上述轉換的兩個正確組件。在[r_11 ... t_3] * [A_x; A_y; A_z],只需將z分量設置爲零。 – eidelen