座標系變換和對齊

2021-10-09 02:59:10 字數 1503 閱讀 8511

本篇文章先定義座標系變換,然後講解什麼是座標系的對齊,最後說明怎麼對乙個物體做非剛體的對齊。

三維空間的點要像用數學來表示的話,就必須要要先建立座標系。只有確定了座標系,才能給每個3d的點乙個座標值。

最開始用來計算3d點座標值的座標系我們叫做區域性座標系。

對3d點做任何旋轉平移操作後,每個3d點的座標值發生了變化。這個過程可以看作把這些3d點在另外乙個座標系表示出來了。這裡的另外乙個座標系就叫做全域性座標系。而這裡的旋轉和平移的操作,也就是把點在區域性座標系中的座標值轉換成全域性座標系中的座標值的變換。

原生座標系:區域性座標系。變換後的座標系:全域性座標系。所以當你把乙個物體從原點移動到某個位置,等價於把這個物體在區域性座標系的表示換算成全域性座標系的表示,所以剛好是把全域性座標系的表示換算成區域性座標系的表示的逆過程。這就是我們常說的移動物體和座標變換是相反過程的原因。

先定義什麼是座標系對齊:乙個物體分別在兩個座標系中被表示(這個物體有兩個不同的座標值)。反求這兩個座標系之間的變換的過程叫做座標系的對齊。

只要能找到乙個物體在兩個座標系中的對應點,很容易計算出這個變換。所以兩個座標系的對齊很容易

如果乙個物體在3個座標系中表示,我們要同時把這3個座標系對齊。這個問題可以怎麼來表示呢?可以用第乙個座標係為base座標系,然後用另外兩個座標系變換到第乙個座標系的變換來表示這個問題。加入三個座標系分別叫做1,2,3。那麼t12,t13就能表示三個座標系之間的對齊結果。當然這個base座標系不限於三個座標系中的乙個,還可以是第四個座標系。我們叫這個座標係為世界座標系。那麼tw1, tw2, tw3就能代表對齊三個座標系的結果。

一般來說,很難直接求解tw1, tw2, tw3。容易的事情是求解三個座標系之間兩兩的變換:t12, t23, t31。已知t12, t23, t31,求tw1, tw2, tw3的方法多採用圖優化。

在實際應用中,會有各種元素出現:點雲,車道線,車位,物體等等。但一定要時刻回歸到問題的本質。我們要求的是每個座標系到世界座標系的變換,我們已知的是每個座標系之間的相對變換。而其他五花八門的東西都是用來計算每個座標系之間的相對變換的。圖優化關心的只有座標系。

當乙個物體不能當作乙個剛體來對齊的時候。我們可以把乙個物體的不同部分,用不同的座標系來表示,也就是我們常說的分段。因為在乙個座標系中的物體,只能進行剛體變換。段的大小取決於物體柔性的程度。

這裡有個誤區需要解釋下:雖然我們叫做分段,比如我們把乙個物體分成3段。但本質還是把乙個物體在三個座標系下表示。只是這三個座標系的原點對應的是物體的不同的位置和朝向。因為本質還是3個座標系,所以本段以外的物體同樣可以在這一段對應的座標系中表示出來。所以兩個段之間匹配用的資訊不限於這個兩個段內的物體,換個說法就是:優化的分段和匹配的分段沒有必然的關係。

假如乙個物體在三個座標系下表示,然後同時被分成3段。其實這樣一共就有9個座標系了。我們可以求出9個座標系之間的兩兩對應關係,然後求他們到世界座標系的變換。但實際問題中,某些座標系之間的聯絡很弱:比如相隔很遠的段。所以我們不需要計算所有的兩兩之間的變換。

同乙個物體不同段之間的兩兩變換一般不是通過匹配得到的,而是基於分段的定義計算出的變換。

座標系變換與座標變換理解

在slam中經常用到空間點的座標變換。假設已獲得相機某一位置的位姿pose,pose包括相機座標系相對於世界座標系的旋轉r和平移t,此時若已知某點p在相機座標系下的座標為pc,計算點p在世界座標系下的座標pw,可使用 pw r pc t t pc 開始的時候我有這樣的疑問 t表示世界座標到相機座標系...

詳解座標系及座標變換 大地座標系(一)

以前讀大學的時候,沒有好好的把座標系學一下,到工作的時候才發現座標系是如此的重要。如果說資料是gis的血肉 那麼座標系就是gis的靈魂。離開這個靈魂gis就是乙個空殼,毫無意義。在gis中座標系被分為兩大類,大地座標系 地理座標系 和投影座標系。大地座標系屬於參心座標系,座標系中的點位於球面上,如w...

OpenGL中的座標系和變換

模型座標是以物體某一點為原點而建立的座標系,該座標系僅對該物體適用,用來簡化對物體各部分座標的描述。物體放到場景中時,各部分經歷的座標變換相同,相對位置不變,所以可視為乙個整體,與人類的思維習慣一致。世界座標係以螢幕中心為原點 0,0,0 你面對螢幕,你的右邊是x正軸,上面是y正軸,螢幕指向你的為z...