乐趣区

四阶矩阵的变换

一,原理

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…

退出移动版