HALCON高級篇:3D坐標之剛性轉換和齊次轉換矩陣

2021-01-08 老白說圖像

剛性轉換和齊次轉換矩陣

點的剛性轉換

如果你想將旋轉和平移結合在一起,你就可以得到所謂的剛性轉換。這樣的轉換可以用下面的方程來描述:

(1)

對於多次轉換,這樣的方程很快就會變得令人困擾,就像下面的兩個轉換:

一個更加明了的選擇就是使用所謂的齊次轉換矩陣和對應的齊次向量。一個齊次轉換矩陣H包含了旋轉矩陣和平移向量。例如式(1)的剛性轉換可以被重寫如下:

當處理剛性轉換序列時,這種記法的用處就變得更加明顯,其可以用一個齊次轉換矩陣鏈來表示,類似於旋轉鏈,如下式所示:

就像旋轉鏈所描述的那樣,剛性轉換鏈可以從兩個方向被讀取。當從左向右讀取時,轉換時繞著新軸來執行的,當從右向左讀取時,其實繞著舊軸來執行的。

事實上,一個剛性轉換已經是一個鏈了,因為其實由平移和旋轉組成的:

如果旋轉是由多次繞軸旋轉組成的,則單獨的旋轉也可以被寫成如下的齊次轉換矩陣:

從右向左讀這條鏈,你可以遵循點的轉換:首先,其繞著z軸旋轉,然後繞著(舊)y軸旋轉,最後其被平移。

坐標系統的剛性轉換

坐標系統的剛性轉換與單獨平移和旋轉所描述的工作方向一樣。這就意味著齊次轉換矩陣描述了從坐標系統c1到坐標系統c5的轉換。與此同時,其描述了坐標系統c5相對於坐標系統c1的位置和方向:它的列向量包含了坐標軸向量和原點的坐標:

如已經在旋轉中提到的一樣,坐標系統的剛性轉換鏈通常也是從左到右讀取的。進而,上面的鏈可以按這樣的方式來讀:首先平移坐標系統,然後繞著新的y軸旋轉它,最後繞著其最新的z軸旋轉它。

坐標轉換

如對單獨平移和旋轉的描述,對於從一個剛性轉換坐標系統c5轉換一個點坐標到原始坐標系統c1,你可以應用被應用到坐標系統c5的點相同的轉換,例如你將點坐標同齊次轉換矩陣相乘:

典型的,如果沒有任何困擾的危險,你可以省去齊次向量,簡單寫成:

總結

l剛性轉換由一個旋轉和平移組成,它們可以用一個齊次轉換矩陣明了的描述,其包含了旋轉矩陣和平移向量。

l點的轉換,是通過將它們的坐標向量同齊次轉換矩陣相乘。

l如果你想轉換一個坐標系統,齊次轉換矩陣描述了坐標系統最後的位置和方向:矩陣的列向量對應坐標系統原點和軸向量在原始坐標系統的坐標,這樣,你可以說齊次轉換矩陣是一個坐標系統的位置和方向

l為了將一個點從剛性轉換的坐標系統c1轉換到原始坐標系統c1,,你可以應用被應用到坐標系統點相同的轉換,例如你可以將它們的坐標同被用來轉換坐標系統c1到c5的齊次轉換矩陣相乘。

l多個剛性轉換可以用一個轉換矩陣鏈來描述,其可以從兩個方向來讀取。當從左到右讀取時,旋轉是繞著新軸被執行的;當從右到左讀取時,轉換則是繞著舊軸被執行的。

相關焦點

  • 齊次矩陣和齊次坐標
    在機器人及自動駕駛中,經常用齊次變換矩陣將旋轉和平移進行統一。「齊次坐標表示是計算機圖形學的重要手段之一,它既能夠用來明確區分向量和點,同時也更易用於進行仿射(線性)幾何變換。」—— F.S. Hill, JR齊次坐標就是將一個原本n維的向量用一個n+1維的向量來表示,是指一個用於投影幾何裡的坐標系統,如同用於歐氏幾何裡的笛卡兒坐標一般。
  • Unity遊戲開發——3D坐標轉換UGUI坐標
    0.前言實際開發中,我們經常會遇到需要3D與2D坐標轉換的問題,比如血條同步跟隨人物移動、傷害數字在人物頭上出現
  • 如何將傳感器坐標系下的數據轉換到自車坐標系?
    如何將傳感器坐標系下的數據轉換到自車坐標系?本文將會集中在如何將傳感器坐標系下的數據轉換到自車坐標系下。有關無人駕駛技術中傳感器到車體坐標系的坐標轉換原理及數學推導,該原理不僅用在無人車領域,同時在機器人、無人機、三維建模等領域也得到了廣泛使用。 無人車上擁有各種各樣的傳感器,每個傳感器的安裝位置和角度又不盡相同。對於傳感器的提供商,開始並不知道傳感器會以什麼角度,安裝在什麼位置,因此只能根據傳感器自身建立坐標系。
  • 可見光光譜轉換CIE色度坐標
    但現實生活中因為不存在光強的負值,為了更直觀體現亮度的特徵,CIE通過數學變換把RGB的『基』換成了x,y,z,類似直角坐標轉換極坐標,通過矩陣變換我們可以把RGB convert到XYZ光譜圖和對應的XYZ匹配函數全積分就得到對應的XYZ值,一般我們光譜數據都是離散的數組,所以通常把三刺激值矩陣和光譜矩陣點乘就得到X,Y,Z的值。(比如500nm光強是5,500nm的X匹配函數值是0.2,那就5*0.2=1,類似的對380-780nm全乘一遍再相加就得到了X的值。)        那我們經常看到的那個色度坐標圖(就封面那張圖)又是怎麼回事呢?
  • 坐標轉換流程與公式,七參數、四參數
    7參數轉換整體流程(不同橢球之間):平面直角坐標系-->大地坐標系-->空間直角坐標系 轉換(To) 空間直角坐標系-
  • WGS84坐標和HK80坐標之間的相互轉換
    不過,生態學研究中最常用的坐標係為WGS84(EPSG:4326),例如GPS一般就是直接給出WGS84的經緯度,Google Earth等也用WGS84坐標系。那麼HK80坐標如何轉換為WGS84坐標呢?
  • 3d射影幾何中的點,平面和直線表示
    #視覺slam與三維重建#1.點和射影變換3維射影空間的一點X用齊次坐標表示為一個四維矢量,齊次矢量X=(X1,X2,X3,X4)T,當X4≠0(X4=0的齊次點對應無窮遠點)時表示IR3中非齊次坐標為(X,Y,Z)的點,其中:IP3上的射影變換是由4x4非奇異給出,它是關於齊次四維矢量的線性變換X'=HX,變
  • 坐標轉換模塊及光源模塊簡介Transform & Lighting
    從以往只有在CAD/CAM等高端繪圖的特定領域才需要3D繪圖晶片,演變到今天人人都在玩3D遊戲,隨著3D繪圖需求和應用的增加,也使得繪圖晶片廠商進入一個無止境的性能競賽中來。     日前矽統科技發表了最新的SiS315繪圖晶片,其具備256位的高效率3D繪圖引擎;同時支持硬體加速T&L功能。
  • ArcGIS坐標轉換及投影詳解
    地理數據的坐標主要分為兩種方式:地理坐標和投影坐標。地理坐標是球面坐標,簡單來說就是使用經緯度來表示位置坐標,投影是按照一定的數學模型將球面坐標投影到幾何體後,用平面坐標(x和y)來表示位置信息。工作中我們經常會用到地理坐標與投影坐標的轉換。
  • 坐標轉換
    進行GPS,北京54,西安80的經緯度和平面坐標之間的轉換,可以計算帶號
  • 動力總成慣性參數轉換坐標夾角選擇的討論
    ,通過充分的交流後,我對轉換結果進行了重新的校核和確認,再寫一篇文章進行補充,希望對大家能有一些幫助。如果各位對我公眾號文章中的其他內容有什麼疑惑或者不解的,可以直接和本人溝通或在群裡留言大家討論。慣量轉換時夾角的量取順序對結果有一定的影響,同樣是把動力總成慣性參數從質心坐標系轉換到整車坐標系,量取的順序不同,就會得到兩組不一樣的夾角,如果首選質心坐標系的方向後選整車坐標系得到的坐標系夾角如表1所示,而反過來先選取整車坐標系方向,後選質心坐標系方向得到的兩坐標系夾角則如表2所示.
  • 坐標轉換的計算公式
    參心大地坐標與參心空間直角坐標轉換1名詞解釋:A:參心空間直角坐標系:a)以參心0為坐標原點;b)Z軸與參考橢球的短軸(旋轉軸)相重合;c)X軸與起始子午面和赤道的交線重合;d)Y軸在赤道面上與X軸垂直,構成右手直角坐標系0-XYZ;e)地面點P的點位用(X,Y,Z)表示;B:參心大地坐標系:a)以參考橢球的中心為坐標原點,橢球的短軸與參考橢球旋轉軸重合;b)大地緯度B:以過地面點的橢球法線與橢球赤道面的夾角為大地緯度
  • 關於坐標轉換的一些基本概念
    每個項目收集到的資料並不一定都是一致的,如坐標類型不同:大地經緯度坐標,平面坐標等,也有可能採用的橢球體不同(坐標系不同)或投影方式不同等等。所以坐標系的相互轉換在項目中使用非常普遍,如大地坐標轉平面坐標,平面坐標轉空間直角坐標,平面坐標轉大地坐標等等。下面是關於坐標轉換的一些基本概念。
  • 「2000坐標」成了標配,你還不懂坐標系定義和轉換嗎?
    國土空間規劃明確要求「統一採用2000國家大地坐標系」和「1985年國家高程基準」作為空間定位基礎,可是很多時候我們拿到的數據坐標並不是「2000國家大地坐標系」,需要進行坐標轉換,這可就犯了難?其實不只是國土空間規劃,其他需要應用ArcGIS的行業同理——坐標系統是GIS數據重要的數學基礎,用於表示地理要素、圖像和觀測結果的參照系統,坐標系統的定義能夠保證地理數據在軟體中正確的顯示其位置、方向和距離,缺少坐標系統的GIS數據是不完善的。
  • 大地測量控制點坐標轉換技術規程
    2000國家大地坐標系時控制點選取、坐標轉換模型、轉換方法、精度評價等方面應遵循的原則、適用範圍和精度要求。Z軸為國際地球自轉局(IERS)定義的參考極方向,X軸為參考子午面與垂直於Z軸的赤道面的交線,Y軸與Z軸和X軸構成右手正交坐標系。3.12 坐標轉換包含坐標系變換和橢球基準變換兩層含義。在測量數據處理過程中,採用適用的轉換模型和轉換方法,空間點從某一參考橢球基準下的坐標轉換到另一坐標系統下的坐標。
  • GPS測量常用坐標系統及相互轉換
    它具有全球性、全天候、連續性和實時性的精密三維導航與定位功能,現已廣泛用於大地測量、工程測量、航空攝影測量以及地形測量等各個方面。相對於常規測量來說,GPS測量具有測量精度高、測站間無需通視、觀測時間短、儀器操作簡便、全天候作業、可提供三維坐標等特點。大大地提高了測量效率和精度。但是由於坐標系統的不同,面臨著大量的坐標轉換問題。對GPS技術的推廣使用造成了一定的障礙。
  • 從地方坐標繫到2000國家大地坐標系的轉換
    可以看出, 原有橢球坐標系原點和參數與CGCS2000定義完全不同, 由於原心和橢球參數定義不同, 在地球上, 除了某單條線(橢球坐標數學模型重合線)之外, 所有的點在不同定義的坐標系內,其經緯度值是不同的, 不能直接採用平面坐標轉經緯度的方法進行坐標轉換。而必須採用不同橢球面的參數擬合實現坐標轉換。
  • 手持GPS坐標系統轉換參數的求解方法
    不同的坐標系統給我們的使用帶來了困難,於是就出現了如何把WGS-84坐標轉換到1954北京坐標系或1980西安國家大地坐標系上來的問題。大家知道,不同坐標系之間存在著平移和旋轉的關係,要使手持GPS所測量的數據轉換為自己需要的坐標,必須求出兩個坐標系(WGS-84和北京54坐標系或西安80坐標系)之間的轉換參數。兩坐標系之間的轉換有七參數法、五參數法、和三參數法。
  • 對極幾何的基礎矩陣和本質矩陣之實戰
    , 1) = s; S_(2, 2) = 0; E = U_ * S_* V_.transpose(); }根據E矩陣分解相機的姿態:首先獲得4中可能的結果組合 void decompose_from_essential(Eigen::Matrix3d& E, Eigen