日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

坐标系转换分析

發(fā)布時間:2024/1/1 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 坐标系转换分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

從二維坐標(biāo)系說起:

二維平面直角坐標(biāo)系定義可分為兩類,從逆時針角度看,第一類為X坐標(biāo)軸在Y坐標(biāo)軸后;第二類為X坐標(biāo)軸在Y坐標(biāo)軸前。

有這兩類坐標(biāo)系添加第三個坐標(biāo)軸Z,得到空間直角坐標(biāo)系,在默認添加的坐標(biāo)軸Z垂直紙面朝向外側(cè)下,分別得到左手空間直角坐標(biāo)系和右手空間直角坐標(biāo)系。

而對于坐標(biāo)的轉(zhuǎn)換,最簡單的依然從二維坐標(biāo)系講起。

以第一類二維平面直角坐標(biāo)為例,涉及的坐標(biāo)轉(zhuǎn)換有下圖中4種情況:a,b,c,d.

基礎(chǔ)一 原坐標(biāo)系坐標(biāo)轉(zhuǎn)到新坐標(biāo)系

?a與b為已知原坐標(biāo)系下坐標(biāo),從原坐標(biāo)系(藍色表示)旋轉(zhuǎn)角度θ,獲得新坐標(biāo)系下坐標(biāo)(紅色表示):

此處注意:定義角度的正負應(yīng)統(tǒng)一,即存在原坐標(biāo)系與新坐標(biāo)系的概念,新坐標(biāo)系相對于原坐標(biāo)系的旋轉(zhuǎn)角度為逆時針時為正值。

針對情況a有:

?

即:

?

注:從簡單直觀方面理解為,當(dāng)原坐標(biāo)系轉(zhuǎn)角度θ到新坐標(biāo)系過程中,y坐標(biāo)值在新坐標(biāo)系中是變大的,x坐標(biāo)值在新坐標(biāo)系中是變小的。因此,y方向的三角系數(shù)都為正,x方向存在負值情況。可以標(biāo)記為沿旋轉(zhuǎn)方向數(shù),第一條坐標(biāo)軸數(shù)值是變大的,條件是旋轉(zhuǎn)方向角度為無符號數(shù)值。

因此,針對a和b兩種情況,由原坐標(biāo)系經(jīng)過旋轉(zhuǎn)一定角度,轉(zhuǎn)換到新的坐標(biāo)系下,得到的旋轉(zhuǎn)矩陣為:

?

其中θ為具有正負號的角度值,當(dāng)為正值時代表原坐標(biāo)系沿逆時針旋轉(zhuǎn);為負值時代表原坐標(biāo)系沿順時針旋轉(zhuǎn)。

基礎(chǔ)二 新坐標(biāo)系坐標(biāo)轉(zhuǎn)回原坐標(biāo)系

而情況c與d是表示已知新坐標(biāo)系下坐標(biāo),經(jīng)過坐標(biāo)轉(zhuǎn)換獲得在原坐標(biāo)系下坐標(biāo):

此處注意:定義角度的正負應(yīng)統(tǒng)一,即存在原坐標(biāo)系與新坐標(biāo)系的概念,新坐標(biāo)系與原坐標(biāo)系的旋轉(zhuǎn)角度為逆時針時為正值。

cd情況中,因為定義了逆時針旋轉(zhuǎn)角度為正,所以c中旋轉(zhuǎn)的角度為(-θ),d中旋轉(zhuǎn)的角度為(θ)。而沿逆時針旋轉(zhuǎn)時,在該方向上第一條坐標(biāo)軸為Y軸,所以基本公式為:

小結(jié):

定義了坐標(biāo)軸的指向,以及新坐標(biāo)系與原坐標(biāo)系旋轉(zhuǎn)角度的正負關(guān)系后,可以確定原坐標(biāo)系轉(zhuǎn)到新坐標(biāo)系運算與你運算正弦系數(shù)符號變換。

因此,要確定旋轉(zhuǎn)矩陣內(nèi)容必須要確定兩個因素,一是坐標(biāo)軸的指向二是旋轉(zhuǎn)角度的正負定義

(1)當(dāng)存在原坐標(biāo)系與新坐標(biāo)系概念時,必然的旋轉(zhuǎn)角度的正負定義必須一致,此時由原坐標(biāo)系到新坐標(biāo)系的轉(zhuǎn)換,可嚴(yán)密的進行返回坐標(biāo)轉(zhuǎn)換。

(2)當(dāng)只存在當(dāng)前坐標(biāo)系下坐標(biāo)轉(zhuǎn)到另一個坐標(biāo)系下坐標(biāo)時,根據(jù)確定的旋轉(zhuǎn)角度正負,參考基礎(chǔ)一即可轉(zhuǎn)換。基礎(chǔ)一中只表示了逆時針旋轉(zhuǎn)角度為正的情況,順時針旋轉(zhuǎn)為正的情況可仿照進行。

(3)無論什么情況下,選取旋轉(zhuǎn)角度定義為正(無論逆時針還是順時針旋轉(zhuǎn))時作為基礎(chǔ),沿旋轉(zhuǎn)方向數(shù)的第一條坐標(biāo)軸的坐標(biāo)值應(yīng)變大,即在新坐標(biāo)系下對應(yīng)該坐標(biāo)軸上的坐標(biāo)值組合為cos+sin的形式,而另一坐標(biāo)軸上坐標(biāo)值為-sin+cos形式。

在基礎(chǔ)一與基礎(chǔ)二中都可印證(3)的說明。再增加一條印證示例:

在情況e中,定義從藍色坐標(biāo)系旋轉(zhuǎn)到紅色坐標(biāo)系,定義圖中狀態(tài)的旋轉(zhuǎn)角度θ為正,則此時坐標(biāo)轉(zhuǎn)換關(guān)系為:

?

情況f中,依然定義圖中狀態(tài)為旋轉(zhuǎn)角度θ為正值,但是從紅色坐標(biāo)系轉(zhuǎn)到藍色坐標(biāo)系:

從旋轉(zhuǎn)方向遇到的第一個坐標(biāo)軸Y坐標(biāo)開始整理,則有:

?

旋轉(zhuǎn)矩陣的形式依然是正規(guī)形式,以x,y為順序排列為:

?

在情況e中定義了目標(biāo)坐標(biāo)系在原坐標(biāo)系的逆時針方向為正,情況f中定義了目標(biāo)坐標(biāo)系在原坐標(biāo)系的順時針方向為正,這兩種情況從純坐標(biāo)系的轉(zhuǎn)換方面印證了上面(3)中總結(jié)的,即以正值旋轉(zhuǎn)角度為基礎(chǔ),沿旋轉(zhuǎn)方向第一條坐標(biāo)軸上的坐標(biāo)為cos+sin形式:e中第一條坐標(biāo)軸為x軸,f中第一條坐標(biāo)軸為y軸。從坐標(biāo)轉(zhuǎn)換與逆轉(zhuǎn)換方面印證了(1)中總結(jié)結(jié)果,即存在正轉(zhuǎn)換與逆轉(zhuǎn)換時,定義的正旋轉(zhuǎn)角度應(yīng)一致,此時的正反旋轉(zhuǎn)矩陣相乘為單位矩陣。

?

基礎(chǔ)三 平面坐標(biāo)系中討論左右手系的轉(zhuǎn)換問題

情況h中從藍色坐標(biāo)系旋轉(zhuǎn)角度θ到紅色坐標(biāo)系下,兩坐標(biāo)系的坐標(biāo)軸向定義不同,產(chǎn)生類似左右手系問題,在這類轉(zhuǎn)換中,首先將目標(biāo)坐標(biāo)系的軸向假設(shè)與原坐標(biāo)系軸向定義為一類,然后更換坐標(biāo)符號獲得兩坐標(biāo)系的轉(zhuǎn)換。

第一步:假設(shè)X’與Y’軸互換,此時原坐標(biāo)系與目標(biāo)坐標(biāo)系定義類似,相差角度θ,定義目標(biāo)坐標(biāo)系與原坐標(biāo)系之間逆時針旋轉(zhuǎn)角度為正,得到:

?

根據(jù)假設(shè)坐標(biāo)與真實坐標(biāo)關(guān)系獲得兩坐標(biāo)系真實關(guān)系:

按順序排放整理:

即,進行左右系的坐標(biāo)系轉(zhuǎn)換時的旋轉(zhuǎn)矩陣為:

以情況i作為驗證示例:

依然定義目標(biāo)(紅)坐標(biāo)系轉(zhuǎn)到原(藍)坐標(biāo)系時,目標(biāo)坐標(biāo)系相對原坐標(biāo)系旋轉(zhuǎn)角度為逆時針時為正。

假設(shè)原坐標(biāo)系的坐標(biāo)軸向與目標(biāo)坐標(biāo)系的軸向類似定義,為x(偽),y(偽)。

?

?

?

按順序整理得到:

得由目標(biāo)坐標(biāo)系轉(zhuǎn)回原坐標(biāo)系的旋轉(zhuǎn)矩陣為:

得該轉(zhuǎn)換過程成立。

?

小結(jié):在處理坐標(biāo)系向量的順序整理時需要進行公式的元素調(diào)換。

(1)????針對等號左邊結(jié)果的調(diào)換如

要變?yōu)?/p>

?

時,只需等號右面矩陣的行進行相應(yīng)對調(diào):

?

(2)????只針對等號右面最后原坐標(biāo)值向量內(nèi)容調(diào)換時,等式的左右都需要變化。如

但是要保持等號左邊的向量順序不變時需要兩步:

第一步:首先利用(1)將等號左邊向量調(diào)換為:

驗證,變換后的結(jié)果與初始狀態(tài)一致。

?

基礎(chǔ)四 三維空間直角坐標(biāo)系的正轉(zhuǎn)換問題

三維空間直角坐標(biāo)的坐標(biāo)轉(zhuǎn)換可由二維平面直角坐標(biāo)轉(zhuǎn)換擴展來,在二維坐標(biāo)系中的坐標(biāo)轉(zhuǎn)換只有一個角度的旋轉(zhuǎn),也就產(chǎn)生一個旋轉(zhuǎn)矩陣。在三維空間直角坐標(biāo)系中存在三個方向的角度旋轉(zhuǎn)問題,因此產(chǎn)生三個旋轉(zhuǎn)矩陣相乘的結(jié)果。但是針對沿某一坐標(biāo)軸旋轉(zhuǎn)某一角度時,又回歸到二維坐標(biāo)旋轉(zhuǎn)問題。因此,三維空間直角坐標(biāo)的坐標(biāo)旋轉(zhuǎn)問題是三個二維平面直角坐標(biāo)旋轉(zhuǎn)問題的順序操作問題。(但是由于某一角度旋轉(zhuǎn)后,后一角度的旋轉(zhuǎn)是否對前者有耦合效應(yīng),應(yīng)該深入研究探討)

下面首先討論三維空間直角坐標(biāo)系的坐標(biāo)轉(zhuǎn)換問題。

以右手坐標(biāo)系為例,研究原坐標(biāo)系到新坐標(biāo)系經(jīng)過首搖,縱搖,橫搖角度的轉(zhuǎn)換過程以及逆過程。

A 原坐標(biāo)系轉(zhuǎn)換到新坐標(biāo)系

首先定義坐標(biāo)系以及旋轉(zhuǎn)角度的正負定義

定義右手坐標(biāo)系如圖,沿各坐標(biāo)軸正向的反方向看,另外兩坐標(biāo)平面沿逆時針旋轉(zhuǎn)時,定義為沿該坐標(biāo)軸正角度旋轉(zhuǎn)。

由此定義沿X,Y,Z軸逆時針旋轉(zhuǎn)角分別為α,β,γ。

從X->Y->Z軸的順序,分別分析坐標(biāo)轉(zhuǎn)換矩陣的形式。

沿X軸方向旋轉(zhuǎn)α角度時對應(yīng)的關(guān)系圖

根據(jù)圖中關(guān)系可以得到第一次轉(zhuǎn)換后的坐標(biāo),由于沿X軸旋轉(zhuǎn),所以新坐標(biāo)中X信息不變。根據(jù)以上基礎(chǔ)問題的討論可以得到:

?

沿Y軸方向旋轉(zhuǎn)β角度時對應(yīng)的關(guān)系圖

根據(jù)圖中關(guān)系可以得到第二次轉(zhuǎn)換后的坐標(biāo),由于沿Y軸旋轉(zhuǎn),所以新坐標(biāo)中Y信息不變。根據(jù)以上基礎(chǔ)問題的討論可以得到:

?

注:沿Y的旋轉(zhuǎn)矩陣與沿X軸的旋轉(zhuǎn)矩陣形式出現(xiàn)不同,原因在于,當(dāng)沿X軸旋轉(zhuǎn)時,沿正旋轉(zhuǎn)角度的第一條邊為Y軸,即Y值變大。而沿Y軸進行旋轉(zhuǎn)時,第一條邊Z軸的對應(yīng)值變大,而在向量擺放時Z值放在最下方,因此利用基礎(chǔ)問題三中的等號右邊最后向量重現(xiàn)擺放時需要整體變換,變換結(jié)果為以上所示。

?

沿Z軸方向旋轉(zhuǎn)γ角度時對應(yīng)的關(guān)系圖

根據(jù)圖中關(guān)系可以得到第三次轉(zhuǎn)換后的坐標(biāo),由于沿Z軸旋轉(zhuǎn),所以新坐標(biāo)中Z信息不變。根據(jù)以上基礎(chǔ)問題的討論可以得到:

?

注:沿Z軸與沿X軸的旋轉(zhuǎn)矩陣類似,因為這兩種情況下按旋轉(zhuǎn)方向得到的坐標(biāo)軸順序與XYZ順序一致,因此不需要進行順序重排,而沿Y軸旋轉(zhuǎn)時,Z軸在X軸前面,因此需要重排順序,重排后,矩陣形式發(fā)生變化。從另一個角度說,當(dāng)沿Z軸和X軸旋轉(zhuǎn)時,坐標(biāo)變大的分別為X值和Y值,因此其對應(yīng)的矩陣行都為正,沿Y軸旋轉(zhuǎn)時,坐標(biāo)變大的為Z值,因此Z坐標(biāo)對應(yīng)的行矩陣系數(shù)為正。

?

如果知道原坐標(biāo)系通過沿X、Y、Z軸的順序進行旋轉(zhuǎn)到新坐標(biāo)系,則新坐標(biāo)系下坐標(biāo)為:

基礎(chǔ)五 三維空間直角坐標(biāo)系的逆轉(zhuǎn)換問題

若已知從原坐標(biāo)系到新坐標(biāo)系的角度旋轉(zhuǎn)關(guān)系,如原坐標(biāo)系首先沿X軸旋轉(zhuǎn)α,然后沿Y軸旋轉(zhuǎn)β,最后沿Z軸旋轉(zhuǎn)γ。則坐標(biāo)正轉(zhuǎn)換時(即)的公式:

?

進行三維坐標(biāo)逆轉(zhuǎn)換時,一致新坐標(biāo)系下坐標(biāo),以及新舊坐標(biāo)系的角度旋轉(zhuǎn)順序和信息。

則由以上信息可推測坐標(biāo)逆轉(zhuǎn)換為:

?

R(α)與R’(α),R(β)與R’(β),R(γ)與R’(γ)互為逆矩陣。旋轉(zhuǎn)順序為沿Z軸、Y軸和X軸進行轉(zhuǎn)換。

1.首先從Z軸轉(zhuǎn)換:

定義的沿Z軸逆時針旋轉(zhuǎn)時角度為正,此時進行的坐標(biāo)轉(zhuǎn)換為從紅色坐標(biāo)系到原坐標(biāo)系的旋轉(zhuǎn),即旋轉(zhuǎn)角度為(-γ)。針對從新坐標(biāo)系(0-X’Y’Z’)到原坐標(biāo)系的逆轉(zhuǎn)換有兩種方式:

(1)????采用原坐標(biāo)系到新坐標(biāo)系的旋轉(zhuǎn)角度正負定義獲取坐標(biāo)轉(zhuǎn)換公式,然后將(-γ)代入公式即可:

根據(jù)前面所講,確定旋轉(zhuǎn)矩陣時,根據(jù)旋轉(zhuǎn)角θ正方向和第一個坐標(biāo)軸X’可快速確定旋轉(zhuǎn)公式:?

將實際旋轉(zhuǎn)角度(-γ)代入得:

?

(2)????不考慮整個系統(tǒng)定義的角度正負(此時適應(yīng)條件中只給出兩坐標(biāo)系間的相差的角度,沒有正負定義時),按給出的角度(數(shù)值應(yīng)為一個正值)和兩坐標(biāo)系的實際旋轉(zhuǎn)關(guān)系確定旋轉(zhuǎn)矩陣。此時,由新坐標(biāo)系(0-X’Y’Z’)順時針方向旋轉(zhuǎn)角度γ得到原坐標(biāo)系下坐標(biāo),則在沿旋轉(zhuǎn)方向中第一條坐標(biāo)軸為Y軸(即數(shù)值變大軸):

方法(1)和方法(2)的結(jié)果完全相同。但是方法(1)存在角度的正負定義問題,并且前后連貫一致,多在測繪中的姿態(tài)儀中出現(xiàn),對于姿態(tài)儀中給出的姿態(tài)角度可以用一套公式表示(如方法1中結(jié)果的第一種表達方法),而方法(2)只存在一種結(jié)果形式,因此不適用存在整體性角度正負定義的問題。

則沿Z軸的旋轉(zhuǎn)矩陣

2.沿Y軸轉(zhuǎn)換

沿Y軸方向旋轉(zhuǎn)角度時對應(yīng)的關(guān)系圖

根據(jù)圖中關(guān)系可以得到沿Y軸順時針旋轉(zhuǎn)β角度到原坐標(biāo)系下,從定義的沿Y軸逆時針方向旋轉(zhuǎn)角度為正的角度確定旋轉(zhuǎn)角度為(-β)。在該圖中沿正旋轉(zhuǎn)角度時,第一個坐標(biāo)軸為Z軸,所以得到的基本旋轉(zhuǎn)矩陣為:?

3.沿X軸旋轉(zhuǎn)

沿X軸方向旋轉(zhuǎn)α角度時對應(yīng)的關(guān)系圖

由于沿X軸旋轉(zhuǎn),所以新坐標(biāo)中X信息不變。沿X軸順時針旋轉(zhuǎn)角度α得到原坐標(biāo)系下坐標(biāo)。根據(jù)定義的角度旋轉(zhuǎn)正負關(guān)系,定義逆時針旋轉(zhuǎn)角度為正,因此旋轉(zhuǎn)的角度為(-α)。沿X軸逆時針正旋轉(zhuǎn)時,第一個坐標(biāo)軸為Y軸,因此基本公式為:

?

綜上,經(jīng)過沿Z-Y-X軸的坐標(biāo)你旋轉(zhuǎn),將在新坐標(biāo)系下坐標(biāo)轉(zhuǎn)回到原坐標(biāo)系下:

?

總結(jié):從一個坐標(biāo)系轉(zhuǎn)到新坐標(biāo)系,一般需要定義旋轉(zhuǎn)角度的正負,一旦正負的方向定義后,從原坐標(biāo)系到新坐標(biāo)系的旋轉(zhuǎn)和從新坐標(biāo)系到原坐標(biāo)系的旋轉(zhuǎn)都可用這一個方向定義,此時需要考慮的是操作中出現(xiàn)了從原坐標(biāo)系到新坐標(biāo)的正轉(zhuǎn)換和新坐標(biāo)系到原坐標(biāo)系的逆轉(zhuǎn)換,逆轉(zhuǎn)換時須將采集的原坐標(biāo)系到新坐標(biāo)系的旋轉(zhuǎn)角度取反代入同一套公式。

另一種方法,對于只使用從原坐標(biāo)系到新坐標(biāo)系或者只使用新坐標(biāo)系到原坐標(biāo)系的旋轉(zhuǎn)過程時,可以單獨對旋轉(zhuǎn)過程定義一套旋轉(zhuǎn)角度正負使用問題,比如姿態(tài)中的橫搖一般定義為右舷下降為正值,那么假設(shè)當(dāng)前橫搖值為+10°,要從姿態(tài)傳感器坐標(biāo)系到水平坐標(biāo)系,在XOZ平面,認為順時針方向旋轉(zhuǎn)為正值,則此時X軸坐標(biāo)值應(yīng)為旋轉(zhuǎn)變大方,因此系數(shù)組合為Xcos+Zsin模式,旋轉(zhuǎn)矩陣也就確定下來了。該例子中,旋轉(zhuǎn)矩陣的確定存在一下2個條件:(1)直接使用了姿態(tài)儀給出的數(shù)值;(2)定義了順時針方向為正方向(只有這樣定義,才能直接用姿態(tài)儀給出的數(shù)值,否則要取反使用).

?

總結(jié)

以上是生活随笔為你收集整理的坐标系转换分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。