线性代数是数学的一个分支,它的研究对象是向量,向量空间(或称线性空间),线性变换和有限维的线性方程组。 向量和矩阵是学习3D入门最基本的理论基础。本章重点讲向量和矩阵.
向量概念
向量最基本的定义就是一个方向和长度,如图坐标点(3,4)
根据 勾股定理 可以计算出它长度是5=
,也叫做向量的模 。方向是与X轴的夹角θ,向量的长度和方向根据坐标可以计算出,通常书写标记为:
通常大家喜欢在字母上面加一横表示向量,如:
=
。
单位向量
有一个特殊类型向量的模(长度)等于1叫做单位向量,把一个向量变成单位向量这叫标准化。任意向量的每个分量除以向量的模就得到它的单位向量。特别是在我们只关心方向不关心模(长度)的时候。比如 =
要标准化,先计算模
,然后除以向量的模 ,
的单位向量
。现在我们再计算向量
的模
,再次证实了。
向量运算
向量与标量加减乘除:
,比如加法运算 :
向量与向量的加减
比如加法运算 :
以上都比较好理解,不做过多的说明了
向量相乘
普通的乘法在向量上是没有定义的,在3D世界里 ,两种特定情况:1.点乘(Dot Product)记作,2.叉乘(Cross Product)记作
1.点乘(Dot Product) ,两个向量的点乘结果等两个向量之间夹角的余弦值,可以算出向量之间夹角的角度,提前是先要标准化。点乘会在计算光照的时候非常有用。比如计算向量与X轴
的夹角
,点乘会像是这样
。
2.叉乘(Cross Product) 叉乘只在3D空间中有定义,它需要两个不平行向量作为输入,生成一个正交于两个输入向量的第三个向量。公式如下:
如看不懂,先放下。
矩阵
现在我们已经讨论了向量的全部内容,是时候看看矩阵了!简单来说矩阵就是一个矩形的数字、符号或表达式数组。矩阵中每一项叫做矩阵的元素(Element)。下面是一个2×3矩阵的例子: 可以把它看做一个两维数据。
矩阵运算
矩阵与与标量加减乘除比较好理解,比较如加法
矩阵相乘
注意事项
1. 只有当左侧矩阵的列数与右侧矩阵的行数相等,两个矩阵才能相乘。
2. 矩阵相乘不遵守交换律也就是说A⋅B≠B⋅A
我们先看一个两个2×2矩阵相乘的例子
未完成 先占位。。。。