一,原理
1. 四阶矩阵运算的原理和定义
- 在变换操作中,w 默认为 1
- 变换基点:x,y,z 构成的点位 point(x,y,z),这是变换的基点
- a,b,c,…,p,每个因子都会和基点某一属性(比如 x)相乘,然后得到相应属性变换后的值。
- 矩阵因子结构:对应不同的变换方式,矩阵因子的函数体会不同
2. 顶点的变换方式有三种:
- 移动:距离
- 旋转:弧度
- 缩放:比例,一般是 (0-1)
3. 物体变换的本质:物体的变换就是对架构了物体的所有顶点进行变换
4. 顶点变换的本质:顶点位置的改变
- 顶点的移动是其基于某一基点的移动
- 顶点的缩放是其到某一基点的距离的改变
- 顶点的缩放是其围绕某一基点,在某一个方向上,做弧形移动
5. 变换矩阵的作用:在对顶点的进行多种方式的复杂变换时,使程序简洁明了
二,顶点变换的运算规则
1. 移动:已知顶点的移动距离 distance 为 (dx,dy,dz),求用于计算移动点位的矩阵因子结构
- 移动的表达式为:
x'=x+dx
y'=y+dy
z'=z+dz
- 根据表达式推导矩阵的因子结构
2. 旋转:已知顶点绕 x 轴旋转的弧度 radian 为 θ,求用于计算旋转点位矩阵因子结构
- 绕 x 轴旋转的表达式为:
y'=y*cos(θ)-z*sin(θ)
z'=y*sin(θ)+z*cos(θ)
- 根据表达式推导矩阵因子结构
1 0 0 0
0 cos(θ) -sin(θ) 0
0 sin(θ) cos(θ) 0
0 0 0 1
- 同理可以推导出绕 y 轴和 z 轴旋转的矩阵因子结构
y 轴:
cos(θ) 0 sin(θ) 0
0 1 0 0
-sin(θ) 0 cos(θ) 0
0 0 0 1
z 轴:
cos(θ) -sin(θ) 0 0
sin(θ) cos(θ) 0 0
0 0 1 0
0 0 0 1
3. 缩放,矩阵因子结构的推导原理同上
x 0 0 0
0 y 0 0
0 0 z 0
0 0 0 1
4. 矩阵默认的因子结构一般为:基点在零点,缩放为 1,如下
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
注:
以上几种矩阵因子结构是比较基础和常用的。
矩阵因子还有许多其它的结构,比如欧拉 euler,四元数 quaternion,转置矩阵 transpose 等等。
详情可参考:https://threejs.org/docs/inde…