获取方式

  1. const Matrix = F2.G.Matrix;

方法

提供 3x2 矩阵操作方法,具体提供了以下方法:

multiply(m1, m2)

两个矩阵相乘。

  1. /**
  2. * 两个矩阵相乘
  3. * @param {Array} m1 左矩阵
  4. * @param {Array} m2 右矩阵
  5. * @return {Array} 返回结果
  6. */
  7. multiply(m1, m2)

scale(out, m, v)

缩放变换。

  1. /**
  2. * 缩放变换
  3. * @param {Array} out 该变量用于存储缩放结果
  4. * @param {Array} m 需要变换矩阵
  5. * @param {Array} v 缩放向量 [ sx, sy ]
  6. * @return {Array} 返回结果
  7. */
  8. scale(out, m, v)

rotate(out, m, radian)

旋转变换。

  1. /**
  2. * 旋转变换
  3. * @param {Array} out 该变量用于存储缩放结果
  4. * @param {Array} m 需要变换矩阵
  5. * @param {Array} radian 旋转的弧度
  6. * @return {Array} 返回结果
  7. */
  8. rotate(out, m, radian)

translate(out, m, v)

平移变换。

  1. /**
  2. * 平移变换。
  3. * @param {Array} out 该变量用于存储缩放结果
  4. * @param {Array} m 需要变换矩阵
  5. * @param {Array} v 平移向量 [ x, y ]
  6. * @return {Array} 返回结果
  7. */
  8. translate(out, m, v)

transform(m, actions)

进行平移、旋转、缩放的变换,所有的操作配置在 actions 属性中进行,actions 支持的操作包含 ‘t’(translate)、’s’(scale)、’r’(rotate),可进行任意组合,如下实例所示:

  1. [
  2. [ 't', x, y ], // t 表示 translate, x 表示 x 方向的位移值,y 表示 y 方向的位移值
  3. [ 's', sx, sy ], // s 表示 scale, sx 表示 x 方向上的缩放值,sy 表示 y 方向的缩放值
  4. [ 'r', radian] // r 表示 rotate,radian 表示旋转的弧度值
  5. ]
  1. /**
  2. *
  3. * @param {Array} m 需要变换矩阵
  4. * @param {Array} actions 变换操作集合
  5. * @return {Array} 返回结果
  6. */
  7. transform(m, actions)