關(guān)于在坐標(biāo)系中旋轉(zhuǎn)平移物體的理論基礎(chǔ)解析

關(guān)于在坐標(biāo)系中旋轉(zhuǎn)平移物體的理論基礎(chǔ)解析

寫在前面

前幾日固體物理老師講了一大堆關(guān)于坐標(biāo)變換的內(nèi)容,聽的也是稀里糊涂恕稠。又和同學(xué)討論了一下如果一個(gè)物體圍繞坐標(biāo)系中任意軸進(jìn)行旋轉(zhuǎn)舵抹,那么該如何計(jì)算其的旋轉(zhuǎn)矩陣瑞妇?于是思考了一會(huì)我就想出了一個(gè)自認(rèn)為比較完善的方法宦棺,那就是將一個(gè)復(fù)雜的旋轉(zhuǎn)操作拆分成幾步基礎(chǔ)旋轉(zhuǎn)操作沾鳄,然后依次寫出旋轉(zhuǎn)矩陣后按照順序相乘即可。

其實(shí)這也是一種比較常見的做法响疚,但因?yàn)槭亲约禾剿鞯降谋尚牛跃蛯?duì)此比較上心,為了能夠?qū)⑵浔憩F(xiàn)得更加形象直觀忿晕,我也決定利用MATLAB和Python將其實(shí)現(xiàn)装诡。

旋轉(zhuǎn)矩陣的理論解釋

因?yàn)檫@一段公式可能會(huì)比較多,所以我就直接放截圖了践盼,這樣子也比較方便鸦采。

以上我們得到了三個(gè)旋轉(zhuǎn)矩陣,分別是繞x軸旋轉(zhuǎn)咕幻,繞y軸旋轉(zhuǎn)渔伯,繞z軸旋轉(zhuǎn),下面我們開始定義操作肄程。

定義旋轉(zhuǎn)操作

旋轉(zhuǎn)單次

我們定義

  • 繞x軸旋轉(zhuǎn)為操作A;
  • 繞y軸旋轉(zhuǎn)為操作B;
  • 繞z軸旋轉(zhuǎn)為操作C锣吼。

如果一個(gè)物體R想要繞x軸旋轉(zhuǎn)t角度,得到一個(gè)新的物體位置R'蓝厌,我們可以寫為

R' = A(t)R

其中R與R'就是坐標(biāo)向量玄叠,A與R之間是向量乘法,A(t)代表的是繞x軸轉(zhuǎn)角度t拓提。

當(dāng)然读恃,一個(gè)物體不可能只有一個(gè)坐標(biāo)點(diǎn),如果存在多個(gè)坐標(biāo)點(diǎn)R1,R2,R3代态,那么就一一乘上A(t)即可寺惫,也就是R1'=A(t)R1, R2'=A(t)R2, R3'=A(t)R3,最后得到新的物體的三個(gè)坐標(biāo)點(diǎn)R1', R2', R3'蹦疑。

連續(xù)多次旋轉(zhuǎn)

如果我們想讓這個(gè)物體首先繞x軸旋轉(zhuǎn)角度t1西雀,然后再繞y軸旋轉(zhuǎn)角度t2,再繞z軸旋轉(zhuǎn)角度t3必尼,那么我們?cè)撛趺磳懀?/p>

我們一步一步看蒋搜,首先是繞x軸旋轉(zhuǎn)角度t1篡撵,公式為R'=A(t1)R判莉。此時(shí)旋轉(zhuǎn)后的物體的坐標(biāo)是R'。

然后是繞y軸旋轉(zhuǎn)角度t2育谬,公式為R''=B(t2)R'券盅。此時(shí)旋轉(zhuǎn)后的物體的坐標(biāo)是R''。

最后是繞z軸旋轉(zhuǎn)角度r3膛檀,公式為R'''=C(t3)R''锰镀。此時(shí)旋轉(zhuǎn)后的物體的坐標(biāo)是R'''娘侍。

也就是說后一個(gè)操作是對(duì)當(dāng)前物體的坐標(biāo)進(jìn)行操作。

那么我們兩個(gè)兩個(gè)看泳炉,聯(lián)立前兩個(gè)憾筏,先繞x軸t1角度再繞y軸t2角度,公式為R''=B(t2)R'=B(t2)A(t1)R花鹅。從公式中看這兩步操作實(shí)際上是對(duì)R乘了兩個(gè)矩陣B(t2)和A(t1)氧腰,這樣就變成了R''。

注意刨肃,操作按照先后次序古拴,右邊的矩陣為先操作,左邊的矩陣為后操作真友。

那么同理我們可以得到旋轉(zhuǎn)三次后的坐標(biāo)R'''=C(t3)B(t2)A(t1)R黄痪。

同理,如果存在多次操作盔然,我們只需要按照順序不斷的左乘旋轉(zhuǎn)矩陣就好桅打。

進(jìn)階操作

不繞xyz軸旋轉(zhuǎn),過原點(diǎn)繞任意軸進(jìn)行多次旋轉(zhuǎn)

如圖轻纪,我們要將物體繞著直線z=y按右手方向旋轉(zhuǎn)30度油额,這種情況就相對(duì)比較復(fù)雜了,因?yàn)樗⒉皇莤yz軸刻帚,所以我們旋轉(zhuǎn)時(shí)有以下三步操作:

  • 將坐標(biāo)系進(jìn)行旋轉(zhuǎn)操作潦嘶,令$z=y$與原z軸重合,原z軸操作后的位置為z'軸崇众;

  • 將物體繞z軸按右手方向旋轉(zhuǎn)30度掂僵;

  • 將坐標(biāo)系進(jìn)行旋轉(zhuǎn)操作,令z'軸與原z軸重合顷歌。

正如上圖锰蓬,左邊為原坐標(biāo)系,右邊為繞x軸旋轉(zhuǎn)45度后的新坐標(biāo)系眯漩,其中旋轉(zhuǎn)過后的坐標(biāo)系為xy'z'芹扭,我們想要繞著轉(zhuǎn)的直線(原z=y)現(xiàn)在變成了z軸,那么這樣子就變成了繞z軸旋轉(zhuǎn)的情況赦抖。

所以我們將繞x軸旋轉(zhuǎn)坐標(biāo)系的操作記為A(45)舱卡,所以物體現(xiàn)在的坐標(biāo)為$R'=A(45)R$。

之后我們就可以將物體繞z軸右手方向旋轉(zhuǎn)30度了队萤,操作記為B(30)轮锥,所以現(xiàn)在物體的坐標(biāo)為$R''=B(30)R'$。

但是此時(shí)我們的坐標(biāo)系還是以原z=y為z軸的坐標(biāo)系要尔,我們需要把z'軸轉(zhuǎn)過來舍杜,變成最初的那個(gè)樣子新娜,所以我們需要把坐標(biāo)系繞x軸旋轉(zhuǎn)-45度,這樣子z'就和z重合了既绩,z=y也回到了原來的位置概龄。

所以這一步操作記為A(-45),物體現(xiàn)在的坐標(biāo)為R'''=A(-45)R''饲握。

最后總的來說旁钧,這個(gè)物體從最初的狀態(tài)到最后的狀態(tài)相當(dāng)于進(jìn)行了三步操作,乘上了三個(gè)矩陣互拾,即R'''=A(-45)B(30)A(45)R.

圍繞軸不經(jīng)過原點(diǎn)的旋轉(zhuǎn)-初級(jí)

上面的方法全部都要經(jīng)過原點(diǎn)歪今,但如果我們想要圍著轉(zhuǎn)的對(duì)稱軸不經(jīng)過原點(diǎn)呢?這就要多加一個(gè)操作了颜矿,那就是給坐標(biāo)加上個(gè)某一個(gè)值寄猩,比如我有坐標(biāo)向量(x, y, z),想要向x軸平移1單位骑疆,那么新的坐標(biāo)就變成了(x+1, y, z)田篇,相當(dāng)于進(jìn)行了如下操作

(x', y', z') = (x, y, z) + (1, 0, 0)

所以我們這里定義一個(gè)新操作D(a,x)。其中a代表沿著位移方向的軸箍铭,方向只有三個(gè)泊柬,xyz。x代表的是唯一的距離诈火,比如說上述操作就可以寫為D(x,1)兽赁,總的公式為R'=R+D(x,1)。

圍繞軸不經(jīng)過原點(diǎn)的旋轉(zhuǎn)-高級(jí)

我們現(xiàn)在要將一個(gè)物體R繞著z=y-1這條線為軸右手方向旋轉(zhuǎn)30度冷守。其實(shí)步驟依舊和上面一模一樣刀崖,只不過將z=y-1轉(zhuǎn)到z軸上更為麻煩了而已,主要分為以下步驟拍摇。

首先將z=y-1平移到經(jīng)過原點(diǎn)亮钦,也就是將坐標(biāo)軸向y方向平移-1個(gè)單位,即操作D(y,1)充活,平移后的物體坐標(biāo)為R'=R+D(y,-1)蜂莉。

然后就是之前舉的例子了,我們直接可以寫得(我用R2代替R''混卵,以此類推)

R2=A(45)R'

R3=B(30)R2

R4=A(-45)R3

最后到了這里我們還得把z=y-1移到原來位置映穗,也就是再加上一個(gè)D(y,1)操作,也就是

R5=R4+D(y,-1)
=A(-45)B(30)A(45)[R+D(y,-1)]+D(y,1)

這樣子淮菠,我們就可以實(shí)現(xiàn)任何操作

總結(jié)

可以看出男公,我們最終達(dá)到實(shí)現(xiàn)任何操作的步驟為三步

  1. 將我們想要旋轉(zhuǎn)的軸通過旋轉(zhuǎn)與平移操作將其與任一坐標(biāo)軸重合荤堪;

  2. 進(jìn)行我們想要繞著旋轉(zhuǎn)軸旋轉(zhuǎn)的操作合陵;

  3. 將旋轉(zhuǎn)軸通過旋轉(zhuǎn)與平移操作移動(dòng)到原來的位置枢赔。

并且我們的基礎(chǔ)操作總共有4個(gè),其中三個(gè)旋轉(zhuǎn)一個(gè)平移拥知,分別為:

  • 繞x軸右手方向旋轉(zhuǎn)t角度記為A(t);

  • 繞y軸右手方向旋轉(zhuǎn)t角度記為B(t);

  • 繞z軸右手方向旋轉(zhuǎn)t角度記為C(t);

  • 沿某一軸(記為a軸)正方向平移x距離記為D(a, x)踏拜。

這樣子我們得到的坐標(biāo)就是我們實(shí)現(xiàn)了當(dāng)前操作的坐標(biāo)。

下一篇文章講利用編程實(shí)現(xiàn)這些操作低剔。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末速梗,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子襟齿,更是在濱河造成了極大的恐慌姻锁,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,744評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件猜欺,死亡現(xiàn)場離奇詭異位隶,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)开皿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門涧黄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人赋荆,你說我怎么就攤上這事笋妥。” “怎么了窄潭?”我有些...
    開封第一講書人閱讀 163,105評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵春宣,是天一觀的道長。 經(jīng)常有香客問我嫉你,道長信认,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,242評(píng)論 1 292
  • 正文 為了忘掉前任均抽,我火速辦了婚禮嫁赏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘油挥。我一直安慰自己潦蝇,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評(píng)論 6 389
  • 文/花漫 我一把揭開白布深寥。 她就那樣靜靜地躺著攘乒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪惋鹅。 梳的紋絲不亂的頭發(fā)上则酝,一...
    開封第一講書人閱讀 51,215評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音闰集,去河邊找鬼沽讹。 笑死般卑,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的爽雄。 我是一名探鬼主播蝠检,決...
    沈念sama閱讀 40,096評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼挚瘟!你這毒婦竟也來了叹谁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,939評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤乘盖,失蹤者是張志新(化名)和其女友劉穎焰檩,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體订框,經(jīng)...
    沈念sama閱讀 45,354評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锅尘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了布蔗。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片藤违。...
    茶點(diǎn)故事閱讀 39,745評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖纵揍,靈堂內(nèi)的尸體忽然破棺而出顿乒,到底是詐尸還是另有隱情,我是刑警寧澤泽谨,帶...
    沈念sama閱讀 35,448評(píng)論 5 344
  • 正文 年R本政府宣布璧榄,位于F島的核電站,受9級(jí)特大地震影響吧雹,放射性物質(zhì)發(fā)生泄漏骨杂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評(píng)論 3 327
  • 文/蒙蒙 一雄卷、第九天 我趴在偏房一處隱蔽的房頂上張望搓蚪。 院中可真熱鬧,春花似錦丁鹉、人聲如沸妒潭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雳灾。三九已至,卻和暖如春冯凹,著一層夾襖步出監(jiān)牢的瞬間谎亩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留匈庭,地道東北人夫凸。 一個(gè)月前我還...
    沈念sama閱讀 47,776評(píng)論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像嚎花,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子呀洲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1 前言 OpenGL渲染3D模型離不開空間幾何的數(shù)學(xué)理論知識(shí)紊选,而本篇文章的目的就是對(duì)空間幾何進(jìn)行簡單的介紹,并對(duì)...
    RichardJieChen閱讀 6,985評(píng)論 1 11
  • 忙碌的生活有時(shí)候來不及靜下來思考道逗,常常一眨眼就過了好長一段時(shí)間兵罢,我喜歡寫東西也是因?yàn)閷憱|西的時(shí)候,會(huì)有屬于自己...
    香墨玄馥閱讀 217評(píng)論 0 0
  • ? 求你了,和我說分手吧吏夯。 感情里此蜈,有潔癖是最大的優(yōu)點(diǎn)了。 壹 最近刷了一個(gè)韓劇《有品位的她》噪生,這大概是我看過的小...
    是年閱讀 712評(píng)論 0 1
  • 家有吃貨兩三枚裆赵?三四枚?四五枚跺嗽?哈哈战授,謹(jǐn)以此文獻(xiàn)之! 吃貨哥哥 哥哥不滿四周歲的時(shí)候桨嫁,有一次單獨(dú)和姥爺一起去串門植兰,...
    峰寶貝閱讀 725評(píng)論 0 1