• <option id="kikm0"><source id="kikm0"></source></option>
  • 金沙娱东城官网

    Crafty.math.Matrix2D Class

    Matrix2D uses the following form, as per the whatwg.org specifications for canvas.transform(): [a, c, e] [b, d, f] [0, 0, 1]

    public {Matrix2D} new Matrix2D();
    [Returns]

    A new identity matrix

    public {Matrix2D} new Matrix2D(Matrix2D matrix);
    matrix

    a matrix to copy

    [Returns]

    A new instance whose entries are copied from the passed matrix

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

    (m11) Horizontal scale

    b

    (m12) Horizontal skew

    c

    (m21) Vertical skew

    d

    (m22) Vertical scale

    e

    (dx) Horizontal translation

    f

    (dy) Vertical translation

    [Returns]

    A new instance whose entries are set from the passed arguments

    Example

    // Create the following translation matrix:
    // [1, 0, 5]
    // [0, 1, 7]
    // [0, 0, 1]
    var m = new Crafty.math.Matrix2D(1, 0, 0, 1, 5, 7);

    Methods

    Back to top

    .apply()

    Applies the matrix transformations to the passed object

    public {Vector2D} apply(Vector2D vecRH);
    vecRH

    vector to be transformed

    [Returns]

    the passed vector object after transforming

    Back to top

    .clone()

    Creates an exact, numeric copy of the current matrix

    public {Matrix2D} clone();
    [Returns]

    The cloned matrix

    Back to top

    .combine()

    Multiplies this matrix with another, overriding the values of this matrix. The passed matrix is assumed to be on the right-hand side.

    public {Matrix2D} combine(Matrix2D mtrxRH);
    mtrxRH

    The passed matrix

    [Returns]

    this matrix after combination

    Back to top

    .determinant()

    Calculates the determinant of this matrix

    public {Number} determinant();
    [Returns]

    det(this matrix)

    Back to top

    .equals()

    Checks for the numeric element-wise equality of this matrix versus another.

    public {Boolean} equals(Matrix2D mtrxRH);
    mtrxRH

    The matrix to check equality with

    [Returns]

    true if the two matrices are numerically equal

    Back to top

    .invert()

    Inverts this matrix if possible

    public {Matrix2D} invert();
    [Returns]

    this inverted matrix or the original matrix on failure

    Back to top

    .isIdentity()

    Returns true if this matrix is the identity matrix

    public {Boolean} isIdentity();
    [Returns]

    true if this matrix is an identity matrix

    Back to top

    .isInvertible()

    Determines is this matrix is invertible.

    public {Boolean} isInvertible();
    [Returns]

    true if this matrix is invertible

    See Also

    Back to top

    .preRotate()

    Applies a counter-clockwise pre-rotation to this matrix

    public {Matrix2D} preRotate(Number rads);
    rads

    angle to rotate in radians

    [Returns]

    this matrix after pre-rotation

    Back to top

    .preScale()

    Applies a pre-scaling to this matrix, applied to the a, b, c, and d elements.

    If two arguments are supplied, a and c are multiplied by scalarX, b, and d by scalarY.

    public {Matrix2D} preScale(Number scalarX[, Number scalarY]);
    scalarX

    The amount to scale

    [scalarY]

    scalarX is used if scalarY is undefined

    [Returns]

    this after pre-scaling

    Back to top

    .preTranslate()

    Applies a pre-translation to this matrix

    public {Matrix2D} preTranslate(Number dx, Number dy);
    dx

    The amount to shift the e component

    dy

    The amount to shift the f component

    [Returns]

    this matrix after pre-translation

    public {Matrix2D} preTranslate(Vector2D vector);
    vector

    The vector to shift (e, f) by.

    [Returns]

    this matrix after pre-translation

    Back to top

    .rotate()

    Applies a counter-clockwise post-rotation to this matrix

    public {Matrix2D} rotate(Number rads);
    rads

    angle to rotate in radians

    [Returns]

    this matrix after rotation

    Back to top

    .scale()

    Applies a post-scaling to this matrix, modifying components a-f.

    If two arguments are passed, scalarX is used for components a, c, and e; scalarY for b, d, and f.

    public {Matrix2D} scale(Number scalarX[, Number scalarY]);
    scalarX The amount to scale by along the x axis
    [scalarY] scalarX is used if scalarY is undefined
    [Returns]

    this after post-scaling

    Back to top

    .setValues()

    Sets the values of this matrix.

    public {Matrix2D} setValues(Matrix2D matrix);
    matrix

    A matrix to copy the values from

    [Returns]

    This matrix after copying the values

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

    When used as a translation matrix, the 6 elements have particular meanings.

    a

    (m11) Horizontal scale

    b

    (m12) Horizontal skew

    c

    (m21) Vertical skew

    d

    (m22) Vertical scale

    e

    (dx) Horizontal translation

    f

    (dy) Vertical translation

    [Returns]

    this matrix containing the new values

    Back to top

    .toString()

    Returns the string representation of this matrix.

    public {String} toString();
    [Returns]

    A string representation like "Matrix2D([a, c, e], [b, d, f], [0, 0, 1])"

    Back to top

    .translate()

    Applies a post-translation to this matrix

    public {Matrix2D} translate(Vector2D vector);
    vector

    the vector to translate by

    [Returns]

    this matrix after post-translation

    public {Matrix2D} translate(Number dx, Number dy);
    dx

    The shift along the x-axis

    dy

    The shift along the y-axis

    [Returns]

    this matrix after post-translation

    金沙娱东城官网