矩阵变换坐标系 深入理解

本文通过一个具体的例子,详细解析了如何将一个坐标系中的向量转换到另一个坐标系,并介绍了矩阵变换的基本原理及其背后的数学意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网址:http://www.cnblogs.com/lookof/p/3512358.html

      http://www.360doc.com/content/15/0720/17/6973384_486236702.shtml

 

矩阵坐标系变化理解 

让我们从一个实际的例子入手:下图是一个用两维的笛卡尔坐标系表示的二维空间。

 

 

其中,黑色坐标系 x-y 代表一个二维空间蓝色坐标系 i-j 代表另外一个二维空间。已知蓝色坐标系轴在黑色坐标系下对应的值是i=(1,1), j=(-1,1),又知橙色向量 p 处在 i-j 空间中,其坐标值为(2,1)。现在的问题是,这个 被转换到黑色坐标系 x-y 空间下它的坐标值是什么?

 

解决这个问题一个最关键也最直接的想法是向量分解与再合成”。

可以被分解到 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) 。

因此点  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]连续存储了矩阵的第一行,那么就是行优先,反之就是列优先。无论是行优先还是列优先,它们代表的数学意义是相同的。
如果矩阵是行序,那么它的第一列(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三根轴上的投影,不正是它在新坐标系下的坐标吗?这样一来,坐标变换是不是就太容易理解了呢?

综上理解得出:

 

 

转载于:https://www.cnblogs.com/webload/p/5992008.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值