向量

向量(vector),顾名思义,就是有方向的量,大家可以把向量理解成一条既有大小又有方向的有向线段。
向量一般有两组表示形式,一种是 a,另一种则是加粗的 a。
上图为向量AB,以A点为起点,B点为终点,表示为 AB=B−A
向量表示两个内容:方向、长度
向量平移移动到不同的位置,仍然表示同一向量, A 和 B的相对位置没有改变
向量的长度:∥a∥
单位向量
- 长度为1
- 一个向量除以自身的长度,即可得到同方向,长度为1的单位向量 a^=a/∥a∥
- 可以用单位向量只表示一个方向

向量相加:平行四边形法则、三角形法则

通过坐标系。x 和 y可以表示任意向量
A=(yx)AT=(x,y)∥A∥=x2+y2
点乘

向量点乘得到的是一个数
a⋅b=∥a∥∥b∥cosθ
在图形学中的应用:给定两个向量,可以算出夹角的余弦,即可算出两个向量之间的夹角
cosθ=∥a∥∥b∥a⋅b
当两个向量都是单位向量的时候
cosθ=a^⋅b^
满足交换律、结合律、分配律
a⋅b=b⋅aa⋅(b+c)=a⋅b+a⋅c(ka)⋅b=a⋅(kb)=k(a⋅b)
笛卡尔坐标系下的点积,按分量相乘,然后加起来
a⋅b=(yaxa)⋅(ybxb)=xaxb+yayb
a⋅b=xayaza⋅xbybzb=xaxb+yayb+zazb
点乘可用于计算投影

b⊥:b 投影到 a 上
- b⊥ 必须沿着 a
- b⊥=ka^
- k是多少
- k=∥b⊥∥=∥b∥cosθ
叉积

- 叉积与两个初始向量正交(垂直)
- 叉积出的向量垂直于两个向量所在的平面
- 可以由右手定则确定方向
- 可用于构建坐标系
x×y=+zy×x=−zy×z=+xz×y=−xz×x=+yx×z=−y
如果 x×y=+z 表示右手坐标系,如果 x×y=−z 表示左手坐标系
叉积不满足交换律
a×b=−b×aa×a=0a×(b+c)=a×b+a×ca×(kb)=k(a×b)
叉积:笛卡尔公式
a×b=yazb−ybzazaxb−xazbxayb−yaxba×b=A∗b=0za−ya−za0xaya−xa0=xbybzb
叉积在图形学中的应用
任意三个向量组成的坐标系,满足以下三个条件,即右手坐标系
∥u∥=∥v∥=∥w∥=1u⋅v=v⋅w=u⋅w=0w=u×v
可以将任意向量 p 分解到三个轴上去:
p=(p⋅u)u+(p⋅v)v+(p⋅w)w
矩阵
由 m x n 个数排成的m行n列的数表称为m行n列的矩阵,简称 m*n 矩阵。记作:
150324
只有同型矩阵之间才可以进行加法运算,将两个矩阵相同位置的元相加即可,m行n列的两个矩阵相加后得到一个新的m行n列矩阵
矩阵相乘
前一个矩阵的列数必须等于后一个矩阵的行数,相乘才有意义:(M×N)(N×P)=(M×P)
结果中元素(i ,j) 为A的第 i 行和B的 j 列的点积
矩阵的乘积
- 没有交换律,(AB和BA一般都不同)
- 满足结合律和分配律
- (AB)C=A(BC)
- A(B+C)=AB+AC
- (A+B)C=AC+BC
矩阵与向量相乘
将向量视为列矩阵(M x 1)的时候可以相乘
矩阵与向量的相乘会是转换的关键
比如:2D的图形关于y轴的镜像
(−1001)(xy)=(−xy)
矩阵转置
将行和列交换顺序(ij -> ji)
135246T=(123456)
性质
(AB)T=BTAT
单位矩阵
I3×3=100010001AA−1=A−1A=I(AB)−1=B−1A−1
矩阵形式的向量乘法
点积
a⋅b=aTb=(xayaza)xbybzb=(xaxb+yayb+zazb)
叉积
a×b=A∗b=0za−ya−za0xaya−xa0xbybzb