Vector 向量

向量关键属性
  • 方向 Direction
  • 长度 Length
单位向量 Unit Vector

UnitVector=Vector^/Vector.length

  • 长度为1的向量
  • 仅用来表示方向
笛卡尔坐标系 Cartesian Coordinates
  • 图形学中,一般默认向量为列向量(从上往下排列)
  • 向量转置:将向量的行列互换
向量加法 Vector Addition
  • 平行四边形法则
  • 三角形法则

Vector Multiplication 向量乘法

Dot Product 点乘
点乘的结果是一个值

a^×b^=∥a^×b^×cosθ

点乘的实际使用:

Measure how close two directions are 找到两个向量的夹角

cosθ=a^·b^a^×b^

  • 两个向量夹角越小,点乘结果越大
  • 应用于光照模型-计算光线入射角
    • 入射光射入镜面,反射出射光
    • 如果人眼视线方向和出射光夹角小,能看到非常亮的光点
Decompose a vector 向量投影

找一个向量在另一个向量上的投影
即将一个向量分解为另外两个正交向量的和

Determine forward / backward 点乘判断前后
点乘判断前后
点乘判断前后
  • 点乘结果为正:向量同向
  • 点乘结果为负:向量反向
Cross Product 叉乘
向量叉乘

a^×b^=a^×b^×sinθ

  • 向量A x 向量B = 向量C
    • C ⊥ A
    • C ⊥ B
  • 遵从Right-Hand Rule(右手坐标系)
向量叉乘的矩阵表述
向量叉乘的矩阵
向量叉乘的矩阵

叉乘的实际作用:

Orthonormal bases and coordinate frames 建立三维空间中的直角坐标系
X轴 × Y轴 = Z轴
X轴 × Y轴 = Z轴
使用叉乘描述直角坐标系
使用叉乘描述直角坐标系
判断坐标系规范

在一个空间中,如果存在 X轴 × Y轴 = Z轴的关系,
则称其为右手坐标系

用于判断空间关系
  • Determin Left / Right 判断左右
  • Determine Inside / Outside 判断内外
叉乘判断空间关系
叉乘判断空间关系

判断P点在△ABC以内:
(AB×AP)z0(BC×BP)z0(CA×CP)z0

如果上述三个叉乘的z分量同号,P在△内部,
如果存在不一致的符号,P在△外部

Matrices 矩阵

计算机图形学中,矩阵最大的应用在图形的变换上。

Matrix Multiplication 矩阵乘法

维度规则

AM×N×BN×P=CM×P

向量点乘和叉乘的矩阵描述
向量点乘和叉乘的矩阵描述

Identity Matrix 单位矩阵

单位矩阵
单位矩阵