3d数学--矩阵

矩阵是3D数学的重要基础,它主要用来描述两个坐标系间的关系,通过定义一种运算而将一个坐标系中的向量转换到另一个坐标系中。在线性代数中,矩阵就是以行和列形式组织的矩形数字块,向量是标量的数组,矩阵是向量的数组。

 

矩阵的维度和记法

矩阵的维度被定义为它包含了多少行多少列,一个 r x c 矩阵有r行c列。用黑体大写字母表示矩阵,如:M、A、R。需要引用矩阵的分量时,采用下标法,常使用对应的斜体小写字母,如下面的3 x 3矩阵所示:

3D数学---矩阵 - Jim Peng - Jim Peng的博客

方阵

行数和列数相同的矩阵称作方阵,方阵的对角线元素就是方阵中行号和列号相同的元素。其他元素均为非对角元素,简单的说,方阵的对角元素就是方阵对角线上的元素。

如果所有非对角元素都为0,那么称这种矩阵为对角矩阵。单位矩阵是一种特殊的对角矩阵,n维单位矩阵记作In,是nxn矩阵,对角线元素为1,其他元素为0.

单位矩阵非常特殊,因为它是矩阵的乘法单位元。其基本性质是用任意一个矩阵乘以单位矩阵,都将得到原矩阵。所以在某种意义上,单位矩阵对矩阵的作用就犹如1对于标量的作用。

 

向量作为矩阵使用

矩阵的行数和列数可以是任意正整数,当然也包括1。一个n维向量能被当作 1 x n 矩阵或 n x 1 矩阵。1 x n 矩阵称作行向量,n x 1 矩阵称作列向量。行向量平着写,列向量竖着写。

 

转置

考虑一个 r x c 矩阵M,M的转置记作MT,是一个 c x r 矩阵,它的列由M的行组成,可以从另一方面理解,即沿着矩阵的对角线翻折。

3D数学---矩阵 - Jim Peng - Jim Peng的博客

对于向量来说,转置将使行向量变成列向量,使列向量成为行向量,见公式7.3:

3D数学---矩阵 - Jim Peng - Jim Peng的博客

 

标量和矩阵的乘法

矩阵M能和标量k相乘,结果是一个和M维数相同的矩阵。矩阵和标量相乘的记法如公式7.4所示,标量经常写在左边,不需要写乘号。这种乘法法则很直观,即用k乘以M中的每个元素。

3D数学---矩阵 - Jim Peng - Jim Peng的博客

 

矩阵乘法

某些情况下,两个矩阵能够相乘,决定矩阵能否相乘以及怎样计算结果的法则初看起来有些奇怪。一个r x n矩阵A能够乘以一个n x c矩阵B,结果是一个r x c矩阵,记作AB。

例如,设A为4 x 2矩阵,B为2 x 5矩阵,那么结果AB为4 x 5矩阵:

3D数学---矩阵 - Jim Peng - Jim Peng的博客

如果矩阵A的列数和B的行数不匹配,则乘法AB无意义。

矩阵乘法计算如下:记r x n矩阵A与n x c矩阵B的积r x c矩阵AB为C。C的任意元素Cij等于A的第i行向量与B的第j列向量的点乘结果。

正式定义为:

3D数学---矩阵 - Jim Peng - Jim Peng的博客

 

 

Jim Peng 的 3D数学---矩阵的几何解释
一般来说,方阵能描述任意线性变换。线性变换保留了直线和平行线,但原点没有移动。线性变换保留直线的同时,其他的几何性质如长度、角度、面积和体积可能被变换改变了。从非技术意义上说,线性变换可能“拉伸”坐标系,但不会“弯曲”或“卷折”坐标系。

矩阵是怎样变换向量的

向量在几何上能被解释成一系列与轴平行的位移,一般来说,任意向量v都能写成“扩展”形式:

3D数学---矩阵的几何解释 - Jim Peng - Jim Peng的博客

另一种略有差别的形式为:

3D数学---矩阵的几何解释 - Jim Peng - Jim Peng的博客

注意右边的单位向量就是x,y,z轴,这里只是将概念数学化,向量的每个坐标都表明了平行于相应坐标轴的有向位移。

让我们将上面的向量和重写一遍,这次分别将p、q、r定义为指向+x,+y和+z方向的单位向量,如下所示:

v = xp + yq + zr

现在,向量v就被表示成向量p,q,r的线性变换了,向量p,q,r称作基向量。这里基向量是笛卡尔坐标轴,但事实上,一个坐标系能用任意3个基向量定义,当然这三个基向量要线性无关(也就是不在同一平面上)。以p、q、r为行构建一个3 x 3矩阵M,可得到如下矩阵:

3D数学---矩阵的几何解释 - Jim Peng - Jim Peng的博客

用一个向量乘以该矩阵,得到:

3D数学---矩阵的几何解释 - Jim Peng - Jim Peng的博客

如果把矩阵的行解释为坐标系的基向量,那么乘以该矩阵就相当于执行了一次坐标转换,如果aM=b,我们就可以说,M将a转换到b。

从这点看,术语“转换”和“乘法”是等价的。

坦率地说,矩阵并不神秘,它只是用一种紧凑的方式来表达坐标转换所需的数学运算。进一步,用线性代数操作矩阵,是一种进行简单转换或导出更复杂转换的简便方法。

 

矩阵的形式:

基向量[1, 0, 0], [0, 1, 0], [0, 0, 1]乘以任意矩阵M:




3D数学---矩阵的几何解释 - Jim Peng - Jim Peng的博客

用基向量[1, 0, 0]乘以M时,结果是M的第1行。其他两行也有同样的结果,这是一个关键的发现:矩阵的每一行都能解释为转换后的基向量。

这个强有力的概念有两条重要性质:

1、有了一种简单的方法来形象化解释矩阵所代表的变换。

2、有了反向建立矩阵的可能 ---- 给出一个期望的变换(如旋转、缩放等),能够构造一个矩阵代表此变换。我们所要做的一切就是计算基向量的变换,然后将变换后的基向量填入矩阵。

首先来看看2D例子,一个2 x 2矩阵:

3D数学---矩阵的几何解释 - Jim Peng - Jim Peng的博客

这个矩阵代表的变换是什么?首先,从矩阵中抽出基向量p和q:

p = [2   1]

q = [-1  2]

图7.1以“原”基向量(x轴,y轴)为参考,在笛卡尔平面中展示了这些向量。

3D数学---矩阵的几何解释 - Jim Peng - Jim Peng的博客

如图7.1所示,x基向量变换至上面的p向量,y基向量变换至q向量。所以2D中想象矩阵的方法就是想象由行向量构成的“L”形状。这个例子中,能够很清楚的看到,M代表的部分变换是逆时针旋转26度。

当然,所有向量都被线性变换所影响,不只是基向量,从“L”形状能够得到变换最直观的印象,把基向量构成的整个2D平行四边形画完整有助于进一步看到变换对其他向量的影响,如图7.2所示:

3D数学---矩阵的几何解释 - Jim Peng - Jim Peng的博客

平行四边形称作“偏转盒”,在盒子中画一个物体有助于理解,如图 7.3 所示:

3D数学---矩阵的几何解释 - Jim Peng - Jim Peng的博客

很明显,矩阵M不仅旋转坐标系,还会拉伸它。

这种技术也能应用到3D转换中。2D中有两个基向量,构成"L"型;3D中有三个基向量,它们形成一个”三脚架“。首先,让我们展示出一个转换前的物品。图7.4展示了一个茶壶,一个立方体。基向量在”单位“向量处。

3D数学---矩阵的几何解释 - Jim Peng - Jim Peng的博客

(为了不使图形混乱,没有标出z轴基向量[0, 0, 1],它被茶壶和立方体挡住了。)

现在,考虑以下3D变换矩阵:

3D数学---矩阵的几何解释 - Jim Peng - Jim Peng的博客

从矩阵的行中抽出基向量,能想象出该矩阵所代表的变换。变换后的基向量、立方体、茶壶如图7.5所示:

3D数学---矩阵的几何解释 - Jim Peng - Jim Peng的博客

这个变换包含z轴顺时针旋转45度和不规则缩放,使得茶壶比以前”高“。注意,变换并没有影响到z轴,因为矩阵的第三行是[0, 0 , 1]。


3D数学---矩阵的几何解释 - Jim Peng - Jim Peng的博客

用基向量[1, 0, 0]乘以M时,结果是M的第1行。其他两行也有同样的结果,这是一个关键的发现:矩阵的每一行都能解释为转换后的基向量。

这个强有力的概念有两条重要性质:

1、有了一种简单的方法来形象化解释矩阵所代表的变换。

2、有了反向建立矩阵的可能 ---- 给出一个期望的变换(如旋转、缩放等),能够构造一个矩阵代表此变换。我们所要做的一切就是计算基向量的变换,然后将变换后的基向量填入矩阵。

首先来看看2D例子,一个2 x 2矩阵:

3D数学---矩阵的几何解释 - Jim Peng - Jim Peng的博客

这个矩阵代表的变换是什么?首先,从矩阵中抽出基向量p和q:

p = [2   1]

q = [-1  2]

图7.1以“原”基向量(x轴,y轴)为参考,在笛卡尔平面中展示了这些向量。

3D数学---矩阵的几何解释 - Jim Peng - Jim Peng的博客

如图7.1所示,x基向量变换至上面的p向量,y基向量变换至q向量。所以2D中想象矩阵的方法就是想象由行向量构成的“L”形状。这个例子中,能够很清楚的看到,M代表的部分变换是逆时针旋转26度。

当然,所有向量都被线性变换所影响,不只是基向量,从“L”形状能够得到变换最直观的印象,把基向量构成的整个2D平行四边形画完整有助于进一步看到变换对其他向量的影响,如图7.2所示:

3D数学---矩阵的几何解释 - Jim Peng - Jim Peng的博客

平行四边形称作“偏转盒”,在盒子中画一个物体有助于理解,如图 7.3 所示:

3D数学---矩阵的几何解释 - Jim Peng - Jim Peng的博客

很明显,矩阵M不仅旋转坐标系,还会拉伸它。

这种技术也能应用到3D转换中。2D中有两个基向量,构成"L"型;3D中有三个基向量,它们形成一个”三脚架“。首先,让我们展示出一个转换前的物品。图7.4展示了一个茶壶,一个立方体。基向量在”单位“向量处。

3D数学---矩阵的几何解释 - Jim Peng - Jim Peng的博客

(为了不使图形混乱,没有标出z轴基向量[0, 0, 1],它被茶壶和立方体挡住了。)

现在,考虑以下3D变换矩阵:

3D数学---矩阵的几何解释 - Jim Peng - Jim Peng的博客

从矩阵的行中抽出基向量,能想象出该矩阵所代表的变换。变换后的基向量、立方体、茶壶如图7.5所示:

3D数学---矩阵的几何解释 - Jim Peng - Jim Peng的博客

这个变换包含z轴顺时针旋转45度和不规则缩放,使得茶壶比以前”高“。注意,变换并没有影响到z轴,因为矩阵的第三行是[0, 0 , 1]。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值