在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

三維空間直角坐標系的平移和旋轉變換

FPGA算法工程師 ? 來源:小D的線上筆記 ? 2023-12-18 09:48 ? 次閱讀

這次的文章,我們來看一看三維空間直角坐標系的平移和旋轉變換,盡管這個內容早已見諸文獻資料,但自己在看書籍以及期刊論文時,總是遇到讓人百思不得其解的事情,就是不同的文獻給出的同類型的旋轉矩陣居然有不一樣的,這讓小D對文獻中的公式產生了懷疑,也不知道哪個旋轉矩陣才是對的。

于是,自己動手,豐衣足食,為了驗證公式的正確性,小D把旋轉矩陣推了個遍,包括文獻中只給出了公式而沒有過程的旋轉矩陣的推導。

三維空間直角坐標系的平移變換

文章的開頭,還是先講講坐標系的平移變換,平移變換的過程如下圖所示:

098cde7c-9cd2-11ee-8b88-92fbcf53809c.png

假設點P是空間中的任意一點,其在XYZ坐標系中的坐標為(x, y, z)。現在點P不動,我們將XYZ坐標系做一個平移的操作,把XYZ平移到X′Y′Z′的位置,O′是平移后的坐標的原點,要注意的是,O′在XYZ中的坐標為(x0, y0, z0)。點P在XYZ坐標系中的坐標為(x, y, z),點P在平移后的坐標系X′Y′Z′中的坐標為(x′, y′, z′)。根據上面這個示意圖,聰明的你一下就可以發現:

09a2d920-9cd2-11ee-8b88-92fbcf53809c.png

通過上面的式子,我們可以求解出點P在X′Y′Z′坐標系中的坐標為:

09ab99b6-9cd2-11ee-8b88-92fbcf53809c.png

把上面的式子轉換成矩陣的形式就是:

09b5627a-9cd2-11ee-8b88-92fbcf53809c.png

這就是三維空間直角坐標系的平移變換了。

三維空間直角坐標系的旋轉變換

下面我們來看看三維空間直角坐標系的旋轉變換,小D最開始在研究旋轉變換的時候,只推導了右手坐標系的旋轉變換。有一次看到了一篇文獻,它用的是左手坐標系,但小D對文獻中給出的公式的正確性感到懷疑,而我們要在代碼中用到相關的坐標轉換,這意味著我們需要知道左手坐標系旋轉矩陣的正確表達式,所以小D又把左手坐標系的旋轉矩陣推導了一遍。

右手坐標系的旋轉變換

右手坐標系的旋轉過程有三個,分別是繞X,Y,Z軸旋轉,右手坐標系在旋轉時,通常規定以逆時針旋轉方向為正方向。

①XYZ右手坐標系繞X軸逆時針旋轉θ角

先來推導右手坐標系繞X軸旋轉的旋轉矩陣,這個過程可以用下面這個示意圖表示:

09becedc-9cd2-11ee-8b88-92fbcf53809c.png

假設P點為空間中任意一點,為了便于觀察與推導,我們將P點放在YOZ平面內。P點在空間中保持不動,XYZ坐標系繞X軸逆時針旋轉θ形成新的坐標系X′Y′Z′,P點在XYZ中的坐標為(x, y, z),P點在X′Y′Z′中的坐標為(x′, y′, z′),現在我們已知(x, y, z)、旋轉角度θ和(x′, y′, z′),求旋轉矩陣Rx。在推導的過程中,我們還要假設一個變量,就是點P相對于Y軸正方向逆時針的夾角為φ。

很明顯,點P在XYZ坐標系中的Y,Z軸坐標可以表示為:

09d27806-9cd2-11ee-8b88-92fbcf53809c.png

點P在X′Y′Z′坐標系中Y′,Z′軸坐標為:

09de1e7c-9cd2-11ee-8b88-92fbcf53809c.png

把x,y帶入x′,y′中,同時P點在XYZ中X軸坐標與其在X′Y′Z′坐標系中的X′軸坐標是相等的,所以有:

09ef6ce0-9cd2-11ee-8b88-92fbcf53809c.png

把這個表達式表示成矩陣相乘的形式為:

09f960c4-9cd2-11ee-8b88-92fbcf53809c.png

上面的Rx就是XYZ右手坐標系繞X軸逆時針旋轉θ角,空間中的點從XYZ坐標系變換到X′Y′Z′坐標系的旋轉矩陣,Rx的表達式為:

0a079586-9cd2-11ee-8b88-92fbcf53809c.png

②XYZ右手坐標系繞Y軸逆時針旋轉θ角

有了前面的推導過程,XYZ右手坐標系繞Y軸逆時針旋轉θ角的旋轉矩陣的推導就一葫蘆畫瓢了。旋轉過程如下圖所示:

0a108af6-9cd2-11ee-8b88-92fbcf53809c.png

點P在XYZ右手坐標系中的X,Z軸坐標為:

0a1fbb84-9cd2-11ee-8b88-92fbcf53809c.png

點P在X′Y′Z′坐標系中的X,Z軸坐標為:

0a2853ca-9cd2-11ee-8b88-92fbcf53809c.png

把x,z帶入x′,z′中,同時P點在XYZ中的Y軸坐標與X′Y′Z′坐標系中的Y′軸坐標是相等的,所以有:

0a35eab2-9cd2-11ee-8b88-92fbcf53809c.png

寫成矩陣相乘的形式:

0a41096a-9cd2-11ee-8b88-92fbcf53809c.png

所以,XYZ右手坐標系繞Y軸逆時針旋轉θ角的旋轉矩陣Ry為:

0a52eb8a-9cd2-11ee-8b88-92fbcf53809c.png

XYZ右手坐標系繞Z軸逆時針旋轉θ角

XYZ右手坐標系繞Z軸逆時針旋轉θ的過程如下圖所示:

0a5d7212-9cd2-11ee-8b88-92fbcf53809c.png

點P在XYZ右手坐標系中的X,Y軸坐標為:

0a74d2b8-9cd2-11ee-8b88-92fbcf53809c.png

點P在X′Y′Z′坐標系中的x,y坐標為:

0a7de056-9cd2-11ee-8b88-92fbcf53809c.png

把x,y帶入x′,y′中,同時P點在XYZ中的Z軸坐標與其在X′Y′Z′坐標系中的Z′軸坐標是相等的,所以有:

0a86b924-9cd2-11ee-8b88-92fbcf53809c.png

寫成矩陣相乘的形式:

0a8f4602-9cd2-11ee-8b88-92fbcf53809c.png

所以,XYZ右手坐標系繞Z軸逆時針旋轉θ角的旋轉矩陣Rz為:

0a9cd100-9cd2-11ee-8b88-92fbcf53809c.png

左手坐標系的旋轉變換

左手坐標系的旋轉過程也是三個,分別是繞X,Y,Z軸旋轉,左手坐標系在旋轉時,通常規定以順時針旋轉方向為正方向。

①XYZ左手坐標系繞X軸順時針旋轉θ角

XYZ左手坐標系繞X軸順時針旋轉θ角的過程示意圖如下所示:

0aaec36a-9cd2-11ee-8b88-92fbcf53809c.png

上圖中,點P為空間中任意一點,點P保持不動,XYZ左手坐標系繞X軸順時針旋轉θ角形成新的坐標系X′Y′Z′。已知點P在XYZ坐標系中的坐標為(x,y,z),點P在X′Y′Z′中的坐標為(x′,y′,z′),我們要求的是XYZ坐標系變換到X′Y′Z′坐標系這個過程中的旋轉矩陣。

從圖中可以看出,點P在XYZ坐標系中的Y,Z軸坐標為:

0abd079a-9cd2-11ee-8b88-92fbcf53809c.png

點P在X′Y′Z′坐標系中的Y,Z軸坐標為:

0ac797be-9cd2-11ee-8b88-92fbcf53809c.png

把y,z帶入y′,z′中,同時P點在XYZ中的X軸坐標與其在X′Y′Z′中的X′軸坐標是相等的,所以有:

0acfecc0-9cd2-11ee-8b88-92fbcf53809c.png

寫成矩陣相乘的形式:

0adb333c-9cd2-11ee-8b88-92fbcf53809c.png

所以,XYZ左手坐標系繞X軸順時針旋轉θ角的旋轉矩陣為:

0ae67c2e-9cd2-11ee-8b88-92fbcf53809c.png

XYZ左手坐標系繞Y軸順時針旋轉θ角

XYZ左手坐標系繞Y軸順時針旋轉θ角形成X′Y′Z′坐標系,其過程示意圖如下所示:

0af2bdc2-9cd2-11ee-8b88-92fbcf53809c.png

點P在XYZ坐標系中的X,Z軸坐標為:

0b052a3e-9cd2-11ee-8b88-92fbcf53809c.png

點P在X′Y′Z′坐標系中的X,Z軸坐標為:

0b0ef23a-9cd2-11ee-8b88-92fbcf53809c.png

把x,z帶入x′,z′中,同時P點在XYZ中的Y軸坐標與其在X′Y′Z′坐標系中的Y′軸坐標是相等的,所以有:

0b18bb3a-9cd2-11ee-8b88-92fbcf53809c.png

以矩陣形式表示為:

0b22573a-9cd2-11ee-8b88-92fbcf53809c.png

所以,XYZ左手坐標系繞Y軸順時針旋轉θ角的旋轉矩陣Ry為:

0b29eac2-9cd2-11ee-8b88-92fbcf53809c.png

③XYZ左手坐標系繞Z軸順時針旋轉θ角

XYZ左手坐標系繞Z軸順時針旋轉θ角形成X′Y′Z′坐標系的過程示意圖如下所示:

0b3a33d2-9cd2-11ee-8b88-92fbcf53809c.png

點P在XYZ坐標系中的X,Y軸坐標為:

0b4923ce-9cd2-11ee-8b88-92fbcf53809c.png

點P在X′Y′Z′坐標系中的X,Y軸坐標為:

0b54254e-9cd2-11ee-8b88-92fbcf53809c.png

把x,y帶入x′,y′中,同時P點在XYZ中的Z軸坐標與其在X′Y′Z′坐標系中的Z′軸坐標是相等的,所以有:

0b63c6ca-9cd2-11ee-8b88-92fbcf53809c.png

將上式表示成矩陣的形式為:

0b6dc0c6-9cd2-11ee-8b88-92fbcf53809c.png

所以,XYZ左手坐標系繞Z軸順時針旋轉θ角的旋轉矩陣Rz為:

0b7a5f5c-9cd2-11ee-8b88-92fbcf53809c.png

左手坐標系的旋轉矩陣到這里就推導完啦。

旋轉矩陣的運用

實際中,當我們要推導兩個不同的坐標系,比如地心地固坐標系和北東天、北東天坐標系和機體坐標系等坐標系之間的變換關系時,就要用到上面的旋轉矩陣。一般的方法是,根據實際的旋轉過程,按旋轉的先后順序計算旋轉矩陣。

比如對于右手坐標系,如果有一個過程是先繞Y軸逆時針旋轉α,再繞X軸順時針旋轉β,最后繞Z軸逆時針旋轉γ,那么最終的旋轉矩陣的表達就是:

0b863f0c-9cd2-11ee-8b88-92fbcf53809c.png

在應用旋轉矩陣的過程中,小D還總結了一個經驗:不管是左手坐標系還是右手坐標系,假如繞X軸逆時針旋轉θ角,相當于繞X軸順時針旋轉2π-θ角,同時也相當于繞X軸順時針旋轉-θ角。

旋轉矩陣的驗證

推導了這么多公式,那推導結果是否正確呢?我們可以從《雷達數據處理及應用》中找到相關內容:

0b94e12e-9cd2-11ee-8b88-92fbcf53809c.png

0ba888e6-9cd2-11ee-8b88-92fbcf53809c.png

0bba5256-9cd2-11ee-8b88-92fbcf53809c.png

從書中的截圖中可以驗證,自己推導的平移變換以及右手坐標系的旋轉矩陣是沒有問題的。但是左手坐標系的推導,小D至今沒有找到相關文獻,但小D相信肯定是有的。

然后小D向gpt求證,gpt給出的答案是這樣的:

0bcb4a70-9cd2-11ee-8b88-92fbcf53809c.png

很顯然,gpt給出的右手坐標系的旋轉矩陣不是小D上面推導的結果,也跟書中的結果不一樣。于是小D又去問了gpt4,gpt4的回答是這樣的:

0bdecd52-9cd2-11ee-8b88-92fbcf53809c.png

gpt4的回答和gpt3.5的回答如出一轍,當時小D心想,gpt腦子估計又瓦特了。直到最近,小D看到了一本英文書籍Geometric Transformations for 3D Modeling_Michael Mortenson,小D才明白,原來gpt是沒有正確理解問題,它給出的是坐標系中的點轉動,坐標軸不動的情況。這本英文書籍中坐標轉換相關的內容是這樣的:

0bf1ea4a-9cd2-11ee-8b88-92fbcf53809c.png

0c03d926-9cd2-11ee-8b88-92fbcf53809c.png

0c1490ea-9cd2-11ee-8b88-92fbcf53809c.png

0c2af312-9cd2-11ee-8b88-92fbcf53809c.png

0c4015bc-9cd2-11ee-8b88-92fbcf53809c.png

這個時候,小D才明白為什么gpt會給出那樣的答案,因為旋轉分為兩種:

①點不動,坐標軸旋轉,就是小D推導的公式

②坐標軸不動,點旋轉,就是gpt第一次回答的公式

以另一種方式問它,它就回答對了“點不動,坐標軸旋轉”的旋轉矩陣正確的公式:

0c4e6c20-9cd2-11ee-8b88-92fbcf53809c.png

0c62e290-9cd2-11ee-8b88-92fbcf53809c.png

到這里,就驗證了小D推導的坐標轉換的所有公式啦。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 坐標系
    +關注

    關注

    0

    文章

    29

    瀏覽量

    7356
  • 三維空間
    +關注

    關注

    0

    文章

    17

    瀏覽量

    7512

原文標題:坐標系的平移、旋轉變換——超詳細

文章出處:【微信號:FPGA算法工程師,微信公眾號:FPGA算法工程師】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    講座2 信號變換基礎 -- 線性空間及正交變換的基本理論

    的線性空間變換問題。人們知道,三維空間中的向量一般要用它在正交坐標系個分量來描述。但是,如果適當地
    發表于 04-19 21:37

    轉:繞任意空間旋轉三維圖形

    在計算圖形學中,會經常涉及兩種變化:一是:三維幾何變換。就是在同一個坐標系中,對圖形進行旋轉,縮放,平移等,其中任意軸
    發表于 07-27 11:14

    如何使用labview根據XYZ坐標實時繪制三維曲線

    如何使用labview根據實時獲得的物體XYZ坐標,實時繪制三維曲線,也就是物體運動軌跡,就是像chart顯示控件那樣能實時逐點連線,但是要在三維直角坐標系中畫出。各人認為單純依靠la
    發表于 04-12 23:08

    在新式-圖形-三維圖形-曲面中應用圓柱坐標系

    選擇圓柱坐標系后,圓柱坐標系中的ρ、ψ、Z與直角坐標系中的X、Y、Z是如何對應的?
    發表于 03-02 21:38

    電機控制系統中直角坐標系與極坐標系的優勢比較,請問TI是否有現成的demo例程?

    本帖最后由 一只耳朵怪 于 2018-6-11 17:02 編輯 請問電機控制系統中直角坐標系與極坐標系的優勢比較。TI是否有現成的demo例程。
    發表于 06-11 02:58

    CAD制圖軟件新手攻略:坐標系及標注坐標

    坐標系。下面就來給大家詳細介紹一下浩辰CAD制圖軟件中坐標系及標注坐標的方法吧!首先一起來復習一下關于數學中的坐標系概念。1、笛卡爾坐標系
    發表于 09-23 10:28

    多電平逆變器三維空間矢量調制

    提出了三維空間矢量調制算法,直接將相參考電壓映射到三維空間坐標系,所得基本矢量與開關狀態矢量一一對應,不存在冗余現象。該調制算法首先確定參考矢量所在單位正方體的位置,然后在這個單位正
    發表于 03-20 14:32 ?0次下載
    多電平逆變器<b class='flag-5'>三維空間</b>矢量調制

    非正交三維坐標系下多電平空間矢量調制策略

    本文以橋臂中分電容結構的相四線制電平變流器(下文以電平中分電容變流器進行表述)為研究對象,提出了一種適用于多電平中分電容相四線制變
    發表于 04-24 17:16 ?5次下載
    非正交<b class='flag-5'>三維</b><b class='flag-5'>坐標系</b>下多電平<b class='flag-5'>空間</b>矢量調制策略

    機器人4大坐標系講解

    任何機器人都離不開基坐標系,也是機器人TCP在三維空間運動空間所必須的基本坐標系(面對機器人前后:X軸 ,左右:Y軸, 上下:Z軸)。
    的頭像 發表于 05-14 09:56 ?2.3w次閱讀
    機器人4大<b class='flag-5'>坐標系</b>講解

    如何使用FPGA實現abc坐標系三維空間矢量調制算法

    研究了一種應用于相四橋臂逆變器的基于abc坐標系的新的空間矢量調制算法,避免了傳統的αβ0坐標變換,使開關矢量的選取和占空比的計算更簡單,
    發表于 01-29 16:51 ?11次下載
    如何使用FPGA實現abc<b class='flag-5'>坐標系</b>的<b class='flag-5'>三維空間</b>矢量調制算法

    立體倉庫三維空間路徑優化方案的介紹

    為什么要進行立體倉庫三維空間路徑優化 在制造企業的智能倉儲系統中,貨物的轉移作業是智能倉儲系統中最常見作業方式,同時也是體現其效率的最關鍵點。選擇最優化的倉位間的三維運行路徑是提高智能倉儲系統整體
    發表于 07-12 09:24 ?1009次閱讀

    介紹導航坐標系與載體坐標系之間的姿態旋轉矩陣

    三維空間的任意旋轉,都可以用繞三維空間的某個軸旋轉過某個角度來表示(即軸角,Axis-Angle表示方法)。
    的頭像 發表于 01-06 15:35 ?2190次閱讀

    自動駕駛各個坐標系

    ENU局部坐標系采用三維直角坐標系來描述地球表面,實際應用較為困難,因此一般使用簡化后的二投影坐標系來描 述。 UTM:在眾多二
    發表于 06-01 15:59 ?0次下載
    自動駕駛各個<b class='flag-5'>坐標系</b>

    自動駕駛中的各種時空坐標系

    空間和時間的位置、 姿態表示出來。一般三維空間坐標系個正交軸X,Y,Z表示物體的位置,用繞這個正交軸的
    發表于 06-02 15:44 ?0次下載
    自動駕駛中的各種時空<b class='flag-5'>坐標系</b>

    焊接機器人坐標系有哪幾種

    ??焊接機器人是一種自動化設備,用于進行焊接操作。為了確保焊接過程的準確性和效率,焊接機器人需要在三維空間中進行定位和控制。這涉及到使用不同的坐標系,以便機器人能夠精確地執行任務。本文將重點討論
    的頭像 發表于 10-18 15:17 ?1105次閱讀
    焊接機器人<b class='flag-5'>坐標系</b>有哪幾種
    主站蜘蛛池模板: 欲色淫香| 日本黄色视屏 | 成在线人视频免费视频 | 久久综合成人网 | 亚洲天堂网站在线 | 国产成人精品亚洲日本在线 | 乱高h亲女 | sss欧美一区二区三区 | 一级特黄a 大片免费 | 性欧美精品 | 免费的黄色大片 | 1024亚洲视频 | 亚洲天堂免费看 | 性欧美性free| 97影院理论午夜论不卡 | 黄色在线免费看 | 狼狼色丁香久久女婷婷综合 | 男女那啥的视频免费 | japanese 69hdxxxx日本| 欧美深夜 | 九九热精品视频 | 456亚洲人成影院在线观 | 亚洲第一网站快活影院 | 久久久久久夜精品精品免费 | 天天色天天操天天 | 最近在线视频免费观看2019 | 欧美肥胖女人bbwbbw视频 | 四虎在线免费视频 | 激情五月宗合网 | 日日添天天做天天爱 | 激情六月综合 | 欧美影院一区二区三区 | 午夜免费理论片在线看 | 亚洲免费观看在线视频 | 99亚洲精品卡2卡三卡4卡2卡 | 成人自拍视频 | 1024亚洲视频 | 日本不卡一区在线 | 欧美视频综合 | 一个色亚洲 | 未成人禁止视频高清在线观看 |