# 向量
- 通常写作 a 或者加粗的 a
- 或者使用起点和终点的形式 AB=B−A
- 有距离和长度
- 没有具体的起点位置
# 向量归一化
# 向量加法
- 几何:平行四边形定律和三角形定律
- 代数:简单地添加坐标
# 笛卡尔坐标
X 和 Y 可以是任何(通常是正交单位)向量
A=xyAT=(x,y)∥A∥=x2+y2
# 向量乘法
# 点乘
# 点(标量)积
a⋅b=∥a∥bcosθcosθ=∥a∥ba⋅b
对于单位向量,有
cosθ=a^⋅b^
特性
a⋅b=b⋅aa⋅(b+c)=a⋅b+a⋅c(ka)⋅b=a⋅(kb)=k(a⋅b)
# 笛卡尔坐标中的点积
逐个乘法,然后相加
- 2D
a⋅b=(xaya)⋅(xbyb)=xaxb+yayb
- 3D
a⋅b=xayaza⋅xbybzb=xaxb+yayb+zazb
# 图形中的点积
- 查找两个向量之间的角度(例如光源和表面之间角度的余弦)
- 寻找一个向量在另一个向量上的投影
# 投影点积
# 图形中的点积
# 叉乘
# 叉(矢量)乘
- 叉积与两个初始向量正交
- 方向由右手定则确定
- 用于构建坐标系
# 叉积的性质
# 叉积的笛卡尔公式
a×b=yazb−ybzazaxb−xazbxayb−yaxb
向量 a 的对偶矩阵
a×b=0za−ya−za0xaya−xa0xbybzb
# 图形学中的叉积
-
判定 b 在 a 左侧还是右侧
z 轴是正数,所以叉乘大于 0 的话在左侧。
- a×b>0,左侧
- a×b<0,右侧
z 轴朝向屏幕外是正方向,摄像机前向是 z 轴负方向
-
判定 p 点是否在三角形内部(向外朝向屏幕外,就是不指向屏幕)
-
AB 叉乘 AP ,向外 — P 在 AB 左侧
-
BC 叉乘 BP,向外 — P 在 BC 左侧
-
CA 叉乘 CP,向外 — P 在 CA 左侧
-
综合,P 在三角形内部
只有全是左侧或者右侧才能判定点在三角形内侧
# 正交基和坐标系
# 正交基 / 坐标系
- 对于表示点、坐标、位置很重要
- 通常,多组坐标系
- 全局、局部、世界、模型、模型的一部分(头、手……)
- 关键问题是这些系统 / 基础之间的转换
# 正交坐标系
在任何一组 3 个向量(在 3D 中)
# 矩阵
# 什么是矩阵
- 数字数组(m×n=m 行,n 列)
135246
# 矩阵 - 矩阵乘法
-
A 中的 #(数量)列必须 = B 中的 # 行 (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×1)
-
转换的关键
-
关于 y 轴的 2D 反射
−1001xy=−xy
# 矩阵变换
- 切换行和列(ij→ji)
# 单位矩阵和逆
# 矩阵形式的向量乘法
# 点乘
# 叉乘