2010-05-24 50 views
2

所以我有一個3D圖像通過仿射變換轉換成空間。該變換由傳統的4×4矩陣加上執行變換的中心座標組成。我如何反轉該中心點才能返回原始空間?我有座標,但它的1x3矢量(或3x1,取決於行/列順序)。我假設要得到合適的反轉中心,我需要將矢量變成1x4,但是如果是這樣的話,我應該把第四個位置放到什麼位置?明顯的候選人是0和1,但我不確定這是否是正確的事情。反轉仿射變換 - 如何更新中心座標?

這個想法是,如果我將圖像轉換爲空間,然後反轉變換,則生成的圖像應該是相同的(在重新採樣的舍入誤差/混疊效果中)。然而,目前,我只是使用相同的中心座標,而這會產生一個偏移了一定量的圖像,而不是產生完全相同的圖像。那麼,我怎樣才能改變這個中心點呢?

回答

1

我假設你的轉換是這樣的

x' = Mx + t 

求解x應給予

x = M_inv (x' - t) 

在3D與4X4矩陣工作座標系usally意味着齊次座標工作。您在第四個座標中存儲乘數值,這個座標通常稱爲w。值1適用於位置,值0適用於向量。這是因爲存儲在矩陣M中的翻譯信息應該隻影響位置(這是一個非常基本的解釋,很抱歉)。所以,是的,否定翻譯矢量應該已經做到了。添加0作爲第四個組件。

+0

謝謝,現在檢查出來。 – mmr 2010-05-24 17:33:28