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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【转】矩阵变换坐标系 深入理解

發布時間:2023/12/10 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】矩阵变换坐标系 深入理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自:矩陣變換坐標系 深入理解 - 知乎

網址鏈接:從坐標系圖中理解“空間變換”

小談矩陣和坐標變換

矩陣坐標系變化理解

讓我們從一個實際的例子入手:下圖是一個用兩維的笛卡爾坐標系表示的二維空間。

其中,黑色坐標系 x-y代表一個二維空間藍色坐標系 i-j代表另外一個二維空間。已知藍色坐標系軸在黑色坐標系下對應的值是i=(1,1), j=(-1,1),又知橙色向量 p 處在 i-j 空間中,其坐標值為(2,1)。現在的問題是,這個?p?被轉換到黑色坐標系 x-y 空間下它的坐標值是什么?

解決這個問題一個最關鍵也最直接的想法是“向量分解與再合成”。

p?可以被分解到 i 和?j?兩個方向,得到?p= 2i+j;同時 i 又可以分解到 x 和?y?兩個方向,得到 i = x + y,另外?j?也可以分解得到?j?= -x?+?y。于是,我們全部展開,就得到?p(i-j)?= 2i?+?j?= 2(x?+?y) + (-x?+?y) =?x?+ 3y?=?p(x-y) 。

因此點?p?在?x-y?空間下的坐標值為(1,3)。


這種方法可以用來討論更一般的情況。假設p點在?i-j?坐標系下為(k1,k2),在?x-y?坐標系下為(q1,q2)。同樣地有基向量 i 對應在?x-y?空間中為(m1,m2);j?對應在?x-y?空間中為(n1,n2)。

于是我們有以下推導,

i?= m1x?+ m2yj?= n1x?+ n2y

于是,

p(i-j)?= k1i + k2j

= k1(m1x?+ m2y) + k2(n1x?+ n2y)

= (k1m1 + k2n1)x?+ (k1m2 + k2n2)y

于是,

p(i-j)?= (k1m1 + k2n1, k1m2 + k2n2)

= (q1, q2)

=?p(x-y)

得到,

q1 = k1m1 + k2n1

q2 = k1m2 + k2n2

變換成矩陣形式:

其中(k1,k2)是?i-j?空間下的坐標值,而(q1,q2)是?x-y?空間下的坐標值。中間的矩陣就是用來做轉換的矩陣。從中我們可以發現,如果豎著來觀察,向量(m1,m2)就是基向量?i?在?x-y?空間下的坐標值,而向量(n1,n2)則是基向量?j?在?x-y?空間下的坐標值。這個矩陣,實際上就是由空間?i-j?下的基向量在空間?x-y?下的坐標值構成的。

1 矩陣的行序和列序(也稱行優先或列優先)僅僅是指矩陣的存儲方式,即我們如果用一個4*4數組m存儲矩陣,如果m[0][0]-m[0][3]連續存儲了矩陣的第一行,那么就是行優先,反之就是列優先。無論是行優先還是列優先,它們代表的數學意義是相同的。
2 如果矩陣是行序,那么它的第一列(m[0][0],m[1][0],m[2][0])就代表X變換,第二列就是Y變換,第三列就是Z變換。
我們來看看為什么:
剛才提到矩陣把線性空間中的一個點給變換到另一個點,不妨稱變換前的點為P1(x1,y1,z1),變換后的點為P2(x2,y2,z2):
那么根據線代中的矩陣乘法,P1 * M = P2展開就成了:
m00,m01,m02
(x1,y1,z1) * m10,m11,m12 = x1*m00+y1*m10+z1*m20+ x1*m01*
m20,m21, m22 y1*m11+z1*m21,x1*m02+y1*m12+z1*m22

所以:
x2 = x1*m[0][0] + y1*m[1][0] + z1*m[2][0];
y2 = x1*m[0][1] + y1*m[1][1] + z1*m[2][1];
z2 = x1*m[0][2] + y1*m[1][2] + z1*m[2][2];
看出什么了嗎?
如果把一個行序矩陣(接下來討論的都是行序矩陣,就省略行序二字了)的每一列分別用X,Y,Z三個矢量來表示,那么M就表示為:XYZ三根軸。
現在,矩陣M看起來是不是很像一個坐標系?而P1到P2的變換就是P1分別與X,Y,Z的點積!
也就是矩陣M是把P1從老坐標系變換到新坐標系,而矩陣的三列(三根軸)就分別代表了新坐標系的三根軸在老坐標系中的坐標!
而點積的幾何意義其實就是求取投影!所以坐標變換的幾何本質(剛才已經討論過其代數本質),就是把一個點分別投影到三根軸上去而已!
再仔細想一想,P1在XYZ三根軸上的投影,不正是它在新坐標系下的坐標嗎?這樣一來,坐標變換是不是就太容易理解了呢?

綜上理解得出:

總結

以上是生活随笔為你收集整理的【转】矩阵变换坐标系 深入理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。