_Matrix2D

2D矩阵类,功能包括矩阵的创建、设置、位移、旋转、缩放等相关操作。 全部展开

属性展开

  • + name : string

    名称。

    • 示例

       mat.name = 'matrix2d'
  • + parent : _Matrix2D

    父矩阵,默认为nil。

构造方法展开

  • + function _Matrix2D() : _Matrix2D

公共方法展开

  • + function apply(x : number, y : number) : _Vector2

    矩阵左乘向量(x, y)。

    • 返回
    • 左乘的结果。
    • 示例

       mat = _Matrix2D.new()
      mat:apply(1, 1)
  • + function child() : _Matrix2D

    创建子矩阵

    • 返回
    • 矩阵的子矩阵。
    • 示例

       mat = _Matrix2D.new()
      mat2 = mat:child()
  • + function clone() : _Matrix2D

    克隆矩阵。

    • 返回
    • 克隆的对象。
    • 示例

       mat = _Matrix2D.new()
      mat:clone()
  • + function getRotation() : number

    获得矩阵旋转的弧度值。

    • 返回
    • 旋转的弧度值。
    • 示例

       mat = _Matrix2D.new()
      print(mat : getRotation())
  • + function getTranslation() : _Vector2

    得到矩阵的位移。

    • 返回
    • 矩阵的位移。
    • 示例

       mat = _Matrix2D.new()
      vec = _Vector2.new()
      mat:mulTranslationRight(1, 1)
      vec = mat:getTranslation()
  • + function identity()

    矩阵归一化。

    • 示例

       mat = _Matrix2D.new()
      mat:mulScalingRight(2, 2)
      mat:identity()
  • + function inverse()

    矩阵求逆。

    • 示例

       mat = _Matrix2D.new()
      mat:mulScalingRight(2, 2)
      mat:inverse()
  • + function mulLeft(mat : _Matrix2D)

    矩阵左乘mat矩阵。

    • 示例

       mat1 = _Matrix2D.new()
      mat2 = _Matrix2D.new()
      mat1:mulScalingRight(1, 1)
      mat2 = mat2:mulLeft(mat1)
  • + function mulRight(mat : _Matrix2D)

    矩阵右乘mat矩阵。

    • 示例

       mat1 = _Matrix2D.new()
      mat2 = _Matrix2D.new()
      mat1:mulScalingRight(1, 1)
      mat2 = mat2:mulRight(mat1)
  • + function mulRotationLeft(r : number[, a : uint])

    矩阵左乘旋转。

    • 参数
    • r : 旋转的弧度值。
    • a : 可选参数,持续时间,默认值为0。
    • 示例

       mat = _Matrix2D.new()
      mat:mulRotationLeft(0.01)
  • + function mulRotationRight(r : number[, a : uint])

    矩阵右乘旋转。

    • 参数
    • r : 旋转的弧度值。
    • a : 可选参数,持续时间,默认值为0。
    • 示例

       mat = _Matrix2D.new()
      mat:mulRotationRight(0.01)
  • + function mulScalingLeft(x : number, y : number[, a : uint])

    矩阵左乘缩放。

    • 参数
    • x : 沿y轴的缩放值。
    • y : 沿y轴的缩放值。
    • a : 可选参数,持续时间,默认值为0。
    • 示例

       mat = _Matrix2D.new()
      mat:mulScalingLeft(3, 3)
  • + function mulScalingRight(x : number, y : number[, a : uint])

    矩阵右乘缩放。

    • 参数
    • x : 沿y轴的缩放值。
    • y : 沿y轴的缩放值。
    • a : 可选参数,持续时间,默认值为0。
    • 示例

       mat = _Matrix2D.new()
      mat:mulScalingRight(3, 3)
  • + function mulTranslationLeft(x : number, y : number[, a : uint])

    矩阵左乘位移。

    • 参数
    • (x, y) : 位移
    • a : 可选参数,持续时间,默认值为0。
    • 示例

       mat = _Matrix2D.new()
      mat:mulTranslationLeft(1, 1)
  • + function mulTranslationRight(x : number, y : number[, a : uint])

    矩阵右乘位移。

    • 参数
    • (x, y) : 位移
    • a : 可选参数持续时间,默认值为0。
    • 示例

       mat = _Matrix2D.new()
      mat:mulTranslationRight(1, 1)
  • + function set(mat : _Matrix2D)

    赋值。

    • 示例

       mat1 = _Matrix2D.new()
      mat2 = _Matrix2D.new()
      mat1:mulScalingRight(1, 1)
      mat2:set(mat1)
  • + function setRotation(r : number[, a : uint])

    设置矩阵的旋转。

    • 参数
    • r : 旋转的弧度值。
    • a : 可选参数,持续时间,默认值为0。
    • 示例

       mat = _Matrix2D.new()
      mat : setRotation(0.01)
  • + function setScaling(x : number, y : number[, a : uint])

    设置矩阵的缩放。

    • 参数
    • x : 沿y轴的缩放值。
    • y : 沿y轴的缩放值。
    • a : 可选参数,持续时间,默认值为0。
    • 示例

       mat = _Matrix2D.new()
      mat:setScaling(3, 3)
  • + function setTranslation(x : number, y : number[, a : uint])

    设置矩阵的位移。

    • 参数
    • (x, y) : 位移
    • a : 可选参数,持续时间,默认值为0。
    • 示例

       mat = _Matrix2D.new()
      mat:setTranslation(1, 1)
  • + function transpose()

    矩阵转置。

    • 示例

       mat = _Matrix2D.new()
      mat:mulScalingRight(2, 2)
      mat:transpose()
问题反馈(登录才可以发表哦!)