Crafty.math.Matrix2D

Matrix2D 使用形式如下, 按照 whatwg.org 的规范 canvas.transform(): [a, c, e] [b, d, f] [0, 0, 1]

public {Matrix2D} new Matrix2D();
public {Matrix2D} new Matrix2D(Matrix2D);
public {Matrix2D} new Matrix2D(Number, Number, Number, Number, Number, Number);
{Matrix2D|Number=1} a
{Number=0} b
{Number=0} c
{Number=1} d
{Number=0} e
{Number=0} f

方法

Back to top

.apply()

将矩阵转换应用到传递的对象上

public {Vector2D} apply(Vector2D);
{Vector2D} vecRH

要转换的向量

[Returns]

{Vector2D} 转换后的传入向量

Back to top

.clone()

创建当前矩阵的一个精确的数字拷贝

public {Matrix2D} clone();
[Returns]

{Matrix2D}

Back to top

.combine()

用另一个矩阵乘以这个矩阵,重写这个矩阵的值。传递的矩阵被认为是在右边。

public {Matrix2D} combine(Matrix2D);
{Matrix2D} mtrxRH
[Returns]

{Matrix2D} 合并后的矩阵

Back to top

.determinant()

计算这个矩阵的行列式

public {Number} determinant();
[Returns]

{Number} 这个矩阵的运算结果

Back to top

.equals()

检查这个矩阵与另一个矩阵的数值是否相等。

public {Boolean} equals(Matrix2D);
{Matrix2D} mtrxRH
[Returns]

{Boolean} true 如果两个矩阵的数值相等

Back to top

.invert()

如果可能的话,把这个矩阵颠倒

public {Matrix2D} invert();
[Returns]

{Matrix2D} 矩阵的逆矩阵或原始矩阵(失败的情况下)

Back to top

.isIdentity()

如果这个矩阵是单位矩阵就返回true

public {Boolean} isIdentity();
[Returns]

{Boolean}

Back to top

.isInvertible()

确定这个矩阵是否可逆。

public {Boolean} isInvertible();
[Returns]

{Boolean} true 如果矩阵可逆

参见

Back to top

.preRotate()

对这个矩阵应用逆顺时针旋转

public {Matrix2D} preRotate(Number);
{number} rads

旋转的弧度

[Returns]

{Matrix2D} 前旋转后的矩阵

Back to top

.preScale()

对这个矩阵应用一个前缩放

public {Matrix2D} preScale(Number[, Number]);
{Number} scalarX
{Number} [scalarY] scalarX is used if scalarY is undefined
[Returns]

{Matrix2D} 前缩放后的矩阵

Back to top

.preTranslate()

对这个矩阵应用一个前转换

public {Matrix2D} preTranslate(Vector2D);
public {Matrix2D} preTranslate(Number, Number);
{Number|Vector2D} dx
{Number} dy
[Returns]

{Matrix2D} 前转换后的矩阵

Back to top

.rotate()

对这个矩阵应用一个逆时针的后旋转

public {Matrix2D} rotate(Number);
{Number} rads

旋转的弧度

[Returns]

{Matrix2D} 旋转后的矩阵

Back to top

.scale()

对这个矩阵应用一个后缩放

public {Matrix2D} scale(Number[, Number]);
{Number} scalarX
{Number} [scalarY] scalarX is used if scalarY is undefined
[Returns]

{Matrix2D} 后缩放后的矩阵

Back to top

.setValues()

设置这个矩阵的值

public {Matrix2D} setValues(Matrix2D);
public {Matrix2D} setValues(Number, Number, Number, Number, Number, Number);
{Matrix2D|Number} a
{Number} b
{Number} c
{Number} d
{Number} e
{Number} f
[Returns]

{Matrix2D} 设置后的新矩阵

Back to top

.toString()

返回这个矩阵的字符串表示。

public {String} toString();
[Returns]

{String}

Back to top

.translate()

将后转换应用到这个矩阵上

public {Matrix2D} translate(Vector2D);
public {Matrix2D} translate(Number, Number);
{Number|Vector2D} dx
{Number} dy
[Returns]

{Matrix2D} 转换后的矩阵