1.向量
一个二维向量可以写成任意两个不平行的非零向量的组合,这两个向量的这种性质也叫线性独立性(linear independence)。两个具有线性独立性的基向量(basis vectors)组成一个二维基(2D basis).。如下向量c可以是两个基向量a和b的组合( 和
是唯一的):
向量x和向量y正交且是单位向量,可以用x和y表示笛卡尔坐标系中的任意向量。如下
a的笛卡尔坐标是(),a的长度是:
列矩阵:
行矩阵
1.1.点乘
在图形学中最常见的用途是计算两个向量之间的夹角:
也可以用来计算一个向量到另一个向量的投影:
笛卡尔坐标系中:
可以推导出向量a,b的点基
1.2.叉乘
通常只用于三维向量,叉乘返回的向量与两个叉乘的向量垂直。
等于向量a,b组成的平行四边形的面积。
笛卡尔坐标系:
2.正交基(orthonormal basis)
坐标系的管理是所有图形程序的核心任务,坐标系的关键就是正交基。
二维正交基:当任意的两个二维向量u,v,两个向量正交且两个向量都是单位长度,那么我们说u,v的集合构成了一个标准的正交基。如下:
三维正交基:任意三个三维向量u,v,w,三个向量两两正交且都是单位长度,那么u,v,w的三维向量集合构成了一个标准的三维正交基。如下:
右手法则:
其他情况为左手法则。
笛卡尔坐标系(x,y,z)也叫主坐标系,原点o和标准正交基(x,y,z)。也叫全局坐标系或世界坐标系,原点o和基向量不会被显示存储,全局模型通常会存储在全局坐标系中。所有其他向量的位置都存储在与全局坐标系相关的坐标中,这样的系统成为参考系或坐标系,与特定物体相关联的坐标系也叫局部坐标系。
局部坐标存储在主坐标系中:
位置隐式的包含从全局坐标系到局部坐标系的偏移量:
p的坐标是
例:通过点乘获取笛卡尔坐标系中向量b的u,v,w坐标
3.单向量构建基
给定一个向量a,获取一组正交的u,v,w向量,w方向与a相同。
w成为a方向的单位向量:
随机选一条不与w共线的向量t(当t与w共线时分母消失,当t几乎与w共线时精度就很低),使用叉乘构件一个垂直于w的单位向量u:
找到与w完全不同的向量的一个简单的方法是,t=w,然后将t坐标中最小的一个值改成1,例如:
4.两个向量构件基
给定两个正交的向量a,b:
a,b两个向量不正交时,w向量可以按a构建,v向量则是与w垂直且最接近b的向量。
a,b不能共线。