goog.vec.Mat4
Namespace.AnyType
.Float32
.Float64
.Mat4Like
.Number
.Type
.addMat(mat0, mat1, resultMat)
Performs a per-component addition of the matrix mat0 and mat1, storing the result into resultMat.
mat0
{goog.vec.Mat4.AnyType
}
mat1
{goog.vec.Mat4.AnyType
}
resultMat
{goog.vec.Mat4.AnyType
}
goog.vec.Mat4.AnyType
}
.clone
[deprecated]Deprecated. Use cloneFloat32.
Creates a clone of a 4x4 matrix of Float32.
matrix
{goog.vec.Mat4.Mat4Like
}
goog.vec.Mat4.Type
}
.cloneFloat32
Creates a clone of a 4x4 matrix of Float32.
matrix
{goog.vec.Mat4.Float32
}
goog.vec.Mat4.Float32
}
.cloneFloat64
Creates a clone of a 4x4 matrix of Float64.
matrix
{goog.vec.Mat4.Float64
}
goog.vec.Mat4.Float64
}
.create()
[deprecated]Deprecated. Use createFloat32.
Creates the array representation of a 4x4 matrix of Float32. The returned matrix is cleared to all zeros.
goog.vec.Mat4.Type
}
.createFloat32()
Creates the array representation of a 4x4 matrix of Float32. The use of the array directly instead of a class reduces overhead. The returned matrix is cleared to all zeros.
goog.vec.Mat4.Float32
}
.createFloat32FromArray(matrix)
Creates a 4x4 matrix of Float32 initialized from the given array.
matrix
{goog.vec.Mat4.AnyType
}
goog.vec.Mat4.Float32
}
.createFloat32FromValues(v00, v10, v20, v30, v01, v11, v21, v31, v02, v12, v22, v32, v03,
v13, v23, v33)
Creates a 4x4 matrix of Float32 initialized from the given values.
v00
{number
}
v10
{number
}
v20
{number
}
v30
{number
}
v01
{number
}
v11
{number
}
v21
{number
}
v31
{number
}
v02
{number
}
v12
{number
}
v22
{number
}
v32
{number
}
v03
{number
}
v13
{number
}
v23
{number
}
v33
{number
}
goog.vec.Mat4.Float32
}
.createFloat32Identity()
Creates a 4x4 identity matrix of Float32.
goog.vec.Mat4.Float32
}
.createFloat64()
Creates the array representation of a 4x4 matrix of Float64. The returned matrix is cleared to all zeros.
goog.vec.Mat4.Float64
}
.createFloat64FromArray(matrix)
Creates a 4x4 matrix of Float64 initialized from the given array.
matrix
{goog.vec.Mat4.AnyType
}
goog.vec.Mat4.Float64
}
.createFloat64FromValues(v00, v10, v20, v30, v01, v11, v21, v31, v02, v12, v22, v32, v03,
v13, v23, v33)
Creates a 4x4 matrix of Float64 initialized from the given values.
v00
{number
}
v10
{number
}
v20
{number
}
v30
{number
}
v01
{number
}
v11
{number
}
v21
{number
}
v31
{number
}
v02
{number
}
v12
{number
}
v22
{number
}
v32
{number
}
v03
{number
}
v13
{number
}
v23
{number
}
v33
{number
}
goog.vec.Mat4.Float64
}
.createFloat64Identity()
Creates a 4x4 identity matrix of Float64.
goog.vec.Mat4.Float64
}
.createFromArray(matrix)
[deprecated]Deprecated. Use createFloat32FromArray.
Creates a 4x4 matrix of Float32 initialized from the given array.
matrix
{goog.vec.Mat4.Mat4Like
}
goog.vec.Mat4.Type
}
.createFromValues(v00, v10, v20, v30, v01, v11, v21, v31, v02, v12, v22, v32, v03,
v13, v23, v33)
[deprecated]Deprecated. Use createFloat32FromValues.
Creates a 4x4 matrix of Float32 initialized from the given values.
v00
{number
}
v10
{number
}
v20
{number
}
v30
{number
}
v01
{number
}
v11
{number
}
v21
{number
}
v31
{number
}
v02
{number
}
v12
{number
}
v22
{number
}
v32
{number
}
v03
{number
}
v13
{number
}
v23
{number
}
v33
{number
}
goog.vec.Mat4.Type
}
.createIdentity()
[deprecated]Deprecated. Use createFloat32Identity.
Creates the array representation of a 4x4 matrix of Float32. The returned matrix is cleared to all zeros.
goog.vec.Mat4.Type
}
.createNumber()
Creates the array representation of a 4x4 matrix of Number. The returned matrix is cleared to all zeros.
goog.vec.Mat4.Number
}
.createNumberIdentity()
Creates a 4x4 identity matrix of Number. The returned matrix is cleared to all zeros.
goog.vec.Mat4.Number
}
.determinant(mat)
Computes the determinant of the matrix.
mat
{goog.vec.Mat4.AnyType
}
number
}
.equals(mat0, mat1)
Returns true if the components of mat0 are equal to the components of mat1.
mat0
{goog.vec.Mat4.AnyType
}
mat1
{goog.vec.Mat4.AnyType
}
boolean
}
.getColumn(mat, column, vec)
Retrieves the specified column from the matrix into the given vector.
mat
{goog.vec.Mat4.AnyType
}
column
{number
}
vec
{goog.vec.Vec4.AnyType
}
goog.vec.Vec4.AnyType
}
.getColumns(mat, vec0, vec1, vec2, vec3)
Retrieves the column values from the given matrix into the given vectors.
mat
{goog.vec.Mat4.AnyType
}
vec0
{goog.vec.Vec4.AnyType
}
vec1
{goog.vec.Vec4.AnyType
}
vec2
{goog.vec.Vec4.AnyType
}
vec3
{goog.vec.Vec4.AnyType
}
.getDiagonal(mat, vec, opt_diagonal)
Gets the diagonal values of the matrix into the given vector.
mat
{goog.vec.Mat4.AnyType
}
vec
{goog.vec.Vec4.AnyType
}
opt_diagonal
{number
=}
goog.vec.Vec4.AnyType
}
.getElement(mat, row, column)
Retrieves the element at the requested row and column.
mat
{goog.vec.Mat4.AnyType
}
row
{number
}
column
{number
}
number
}
.getRow(mat, row, vec)
Retrieves the row values into the given vector.
mat
{goog.vec.Mat4.AnyType
}
row
{number
}
vec
{goog.vec.Vec4.AnyType
}
goog.vec.Vec4.AnyType
}
.getRows(mat, vec0, vec1, vec2, vec3)
Retrieves the rows of the matrix into the supplied vectors.
mat
{goog.vec.Mat4.AnyType
}
vec0
{goog.vec.Vec4.AnyType
}
vec1
{goog.vec.Vec4.AnyType
}
vec2
{goog.vec.Vec4.AnyType
}
vec3
{goog.vec.Vec4.AnyType
}
.getTranslation(mat, translation)
Retrieves the translation component of the transformation matrix.
mat
{goog.vec.Mat4.AnyType
}
translation
{goog.vec.Vec3.AnyType
}
goog.vec.Mat4.AnyType
}
.invert(mat, resultMat)
Computes the inverse of mat storing the result into resultMat. If the inverse is defined, this function returns true, false otherwise.
mat
{goog.vec.Mat4.AnyType
}
resultMat
{goog.vec.Mat4.AnyType
}
boolean
}
.makeEulerZXZ(mat, theta1, theta2, theta3)
Makes the given 4x4 matrix a rotation matrix given Euler angles using the ZXZ convention. Given the euler angles [theta1, theta2, theta3], the rotation is defined as rotation = rotation_z(theta1) * rotation_x(theta2) * rotation_z(theta3), with theta1 in [0, 2 * pi], theta2 in [0, pi] and theta3 in [0, 2 * pi]. rotation_x(theta) means rotation around the X axis of theta radians,
mat
{goog.vec.Mat4.AnyType
}
theta1
{number
}
theta2
{number
}
theta3
{number
}
goog.vec.Mat4.AnyType
}
.makeFrustum(mat, left, right, bottom, top, near, far)
Makes the given 4x4 matrix a perspective projection matrix.
mat
{goog.vec.Mat4.AnyType
}
left
{number
}
right
{number
}
bottom
{number
}
top
{number
}
near
{number
}
far
{number
}
goog.vec.Mat4.AnyType
}
.makeIdentity(mat)
Makes the given 4x4 matrix the identity matrix.
mat
{goog.vec.Mat4.AnyType
}
goog.vec.Mat4.AnyType
}
.makeLookAt(mat, eyePt, centerPt, worldUpVec)
Makes the given 4x4 matrix a modelview matrix of a camera so that the camera is 'looking at' the given center point.
mat
{goog.vec.Mat4.AnyType
}
eyePt
{goog.vec.Vec3.AnyType
}
centerPt
{goog.vec.Vec3.AnyType
}
worldUpVec
{goog.vec.Vec3.AnyType
}
goog.vec.Mat4.AnyType
}
.makeOrtho(mat, left, right, bottom, top, near, far)
Makes the given 4x4 matrix an orthographic projection matrix.
mat
{goog.vec.Mat4.AnyType
}
left
{number
}
right
{number
}
bottom
{number
}
top
{number
}
near
{number
}
far
{number
}
goog.vec.Mat4.AnyType
}
.makePerspective(mat, fovy, aspect, near, far)
Makse the given 4x4 matrix perspective projection matrix given a field of view and aspect ratio.
mat
{goog.vec.Mat4.AnyType
}
fovy
{number
}
aspect
{number
}
near
{number
}
far
{number
}
goog.vec.Mat4.AnyType
}
.makeRotate(mat, angle, ax, ay, az)
Makes the given 4x4 matrix a rotation matrix with the given rotation angle about the axis defined by the vector (ax, ay, az).
mat
{goog.vec.Mat4.AnyType
}
angle
{number
}
ax
{number
}
ay
{number
}
az
{number
}
goog.vec.Mat4.AnyType
}
.makeRotateX(mat, angle)
Makes the given 4x4 matrix a rotation matrix with the given rotation angle about the X axis.
mat
{goog.vec.Mat4.AnyType
}
angle
{number
}
goog.vec.Mat4.AnyType
}
.makeRotateY(mat, angle)
Makes the given 4x4 matrix a rotation matrix with the given rotation angle about the Y axis.
mat
{goog.vec.Mat4.AnyType
}
angle
{number
}
goog.vec.Mat4.AnyType
}
.makeRotateZ(mat, angle)
Makes the given 4x4 matrix a rotation matrix with the given rotation angle about the Z axis.
mat
{goog.vec.Mat4.AnyType
}
angle
{number
}
goog.vec.Mat4.AnyType
}
.makeScale(mat, x, y, z)
Makes the given 4x4 matrix as a scale matrix with x, y and z scale factors.
mat
{goog.vec.Mat4.AnyType
}
x
{number
}
y
{number
}
z
{number
}
goog.vec.Mat4.AnyType
}
.makeTranslate(mat, x, y, z)
Makes the given 4x4 matrix a translation matrix with x, y and z translation factors.
mat
{goog.vec.Mat4.AnyType
}
x
{number
}
y
{number
}
z
{number
}
goog.vec.Mat4.AnyType
}
.makeZero(mat)
Makes the given 4x4 matrix the zero matrix.
mat
{goog.vec.Mat4.AnyType
}
goog.vec.Mat4.AnyType
}
.multMat(mat0, mat1, resultMat)
Multiplies the two matrices mat0 and mat1 using matrix multiplication, storing the result into resultMat.
mat0
{goog.vec.Mat4.AnyType
}
mat1
{goog.vec.Mat4.AnyType
}
resultMat
{goog.vec.Mat4.AnyType
}
goog.vec.Mat4.AnyType
}
.multScalar(mat, scalar, resultMat)
Multiplies matrix mat with the given scalar, storing the result into resultMat.
mat
{goog.vec.Mat4.AnyType
}
scalar
{number
}
resultMat
{goog.vec.Mat4.AnyType
}
goog.vec.Mat4.AnyType
}
.multVec3(mat, vec, resultVec)
Transforms the given vector with the given matrix storing the resulting, transformed vector into resultVec. The input vector is multiplied against the upper 3x4 matrix omitting the projective component.
mat
{goog.vec.Mat4.AnyType
}
vec
{goog.vec.Vec3.AnyType
}
resultVec
{goog.vec.Vec3.AnyType
}
goog.vec.Vec3.AnyType
}
.multVec3NoTranslate(mat, vec, resultVec)
Transforms the given vector with the given matrix storing the resulting, transformed vector into resultVec. The input vector is multiplied against the upper 3x3 matrix omitting the projective component and translation components.
mat
{goog.vec.Mat4.AnyType
}
vec
{goog.vec.Vec3.AnyType
}
resultVec
{goog.vec.Vec3.AnyType
}
goog.vec.Vec3.AnyType
}
.multVec3Projective(mat, vec, resultVec)
Transforms the given vector with the given matrix storing the resulting, transformed vector into resultVec. The input vector is multiplied against the full 4x4 matrix with the homogeneous divide applied to reduce the 4 element vector to a 3 element vector.
mat
{goog.vec.Mat4.AnyType
}
vec
{goog.vec.Vec3.AnyType
}
resultVec
{goog.vec.Vec3.AnyType
}
goog.vec.Vec3.AnyType
}
.multVec4(mat, vec, resultVec)
Transforms the given vector with the given matrix storing the resulting, transformed vector into resultVec.
mat
{goog.vec.Mat4.AnyType
}
vec
{goog.vec.Vec4.AnyType
}
resultVec
{goog.vec.Vec4.AnyType
}
goog.vec.Vec4.AnyType
}
.rotate(mat, angle, x, y, z)
Rotate the given matrix by angle about the x,y,z axis. Equivalent to: goog.vec.Mat4.multMat( mat, goog.vec.Mat4.makeRotate(goog.vec.Mat4.create(), angle, x, y, z), mat);
mat
{goog.vec.Mat4.AnyType
}
angle
{number
}
x
{number
}
y
{number
}
z
{number
}
goog.vec.Mat4.AnyType
}
.rotateX(mat, angle)
Rotate the given matrix by angle about the x axis. Equivalent to: goog.vec.Mat4.multMat( mat, goog.vec.Mat4.makeRotateX(goog.vec.Mat4.create(), angle), mat);
mat
{goog.vec.Mat4.AnyType
}
angle
{number
}
goog.vec.Mat4.AnyType
}
.rotateY(mat, angle)
Rotate the given matrix by angle about the y axis. Equivalent to: goog.vec.Mat4.multMat( mat, goog.vec.Mat4.makeRotateY(goog.vec.Mat4.create(), angle), mat);
mat
{goog.vec.Mat4.AnyType
}
angle
{number
}
goog.vec.Mat4.AnyType
}
.rotateZ(mat, angle)
Rotate the given matrix by angle about the z axis. Equivalent to: goog.vec.Mat4.multMat( mat, goog.vec.Mat4.makeRotateZ(goog.vec.Mat4.create(), angle), mat);
mat
{goog.vec.Mat4.AnyType
}
angle
{number
}
goog.vec.Mat4.AnyType
}
.scale(mat, x, y, z)
Scales the given matrix by x,y,z. Equivalent to: goog.vec.Mat4.multMat( mat, goog.vec.Mat4.makeScale(goog.vec.Mat4.create(), x, y, z), mat);
mat
{goog.vec.Mat4.AnyType
}
x
{number
}
y
{number
}
z
{number
}
goog.vec.Mat4.AnyType
}
.setColumn(mat, column, vec)
Sets the specified column with the value from the supplied vector.
mat
{goog.vec.Mat4.AnyType
}
column
{number
}
vec
{goog.vec.Vec4.AnyType
}
goog.vec.Mat4.AnyType
}
.setColumnValues(mat, column, v0, v1, v2, v3)
Sets the specified column with the supplied values.
mat
{goog.vec.Mat4.AnyType
}
column
{number
}
v0
{number
}
v1
{number
}
v2
{number
}
v3
{number
}
goog.vec.Mat4.AnyType
}
.setColumns(mat, vec0, vec1, vec2, vec3)
Sets the columns of the matrix from the given vectors.
mat
{goog.vec.Mat4.AnyType
}
vec0
{goog.vec.Vec4.AnyType
}
vec1
{goog.vec.Vec4.AnyType
}
vec2
{goog.vec.Vec4.AnyType
}
vec3
{goog.vec.Vec4.AnyType
}
goog.vec.Mat4.AnyType
}
.setDiagonal(mat, vec)
Sets the diagonal values of the matrix from the given vector.
mat
{goog.vec.Mat4.AnyType
}
vec
{goog.vec.Vec4.AnyType
}
goog.vec.Mat4.AnyType
}
.setDiagonalValues(mat, v00, v11, v22, v33)
Sets the diagonal values of the matrix from the given values.
mat
{goog.vec.Mat4.AnyType
}
v00
{number
}
v11
{number
}
v22
{number
}
v33
{number
}
goog.vec.Mat4.AnyType
}
.setElement(mat, row, column, value)
Sets the element at the requested row and column.
mat
{goog.vec.Mat4.AnyType
}
row
{number
}
column
{number
}
value
{number
}
goog.vec.Mat4.AnyType
}
.setFromArray(mat, values)
Sets the matrix from the array of values stored in column major order.
mat
{goog.vec.Mat4.AnyType
}
values
{goog.vec.Mat4.AnyType
}
goog.vec.Mat4.AnyType
}
.setFromRowMajorArray(mat, values)
Sets the matrix from the array of values stored in row major order.
mat
{goog.vec.Mat4.AnyType
}
values
{goog.vec.Mat4.AnyType
}
goog.vec.Mat4.AnyType
}
.setFromValues(mat, v00, v10, v20, v30, v01, v11, v21, v31, v02, v12, v22, v32,
v03, v13, v23, v33)
Initializes the matrix from the set of values. Note the values supplied are in column major order.
mat
{goog.vec.Mat4.AnyType
}
v00
{number
}
v10
{number
}
v20
{number
}
v30
{number
}
v01
{number
}
v11
{number
}
v21
{number
}
v31
{number
}
v02
{number
}
v12
{number
}
v22
{number
}
v32
{number
}
v03
{number
}
v13
{number
}
v23
{number
}
v33
{number
}
goog.vec.Mat4.AnyType
}
.setRow(mat, row, vec)
Sets the row values from the supplied vector.
mat
{goog.vec.Mat4.AnyType
}
row
{number
}
vec
{goog.vec.Vec4.AnyType
}
goog.vec.Mat4.AnyType
}
.setRowValues(mat, row, v0, v1, v2, v3)
Sets the row values from the supplied values.
mat
{goog.vec.Mat4.AnyType
}
row
{number
}
v0
{number
}
v1
{number
}
v2
{number
}
v3
{number
}
goog.vec.Mat4.AnyType
}
.setRows(mat, vec0, vec1, vec2, vec3)
Sets the rows of the matrix from the supplied vectors.
mat
{goog.vec.Mat4.AnyType
}
vec0
{goog.vec.Vec4.AnyType
}
vec1
{goog.vec.Vec4.AnyType
}
vec2
{goog.vec.Vec4.AnyType
}
vec3
{goog.vec.Vec4.AnyType
}
goog.vec.Mat4.AnyType
}
.subMat(mat0, mat1, resultMat)
Performs a per-component subtraction of the matrix mat0 and mat1, storing the result into resultMat.
mat0
{goog.vec.Mat4.AnyType
}
mat1
{goog.vec.Mat4.AnyType
}
resultMat
{goog.vec.Mat4.AnyType
}
goog.vec.Mat4.AnyType
}
.toEulerZXZ(mat, euler, opt_theta2IsNegative)
Decomposes a rotation matrix into Euler angles using the ZXZ convention so that rotation = rotation_z(theta1) * rotation_x(theta2) * rotation_z(theta3), with theta1 in [0, 2 * pi], theta2 in [0, pi] and theta3 in [0, 2 * pi]. rotation_x(theta) means rotation around the X axis of theta radians.
mat
{goog.vec.Mat4.AnyType
}
euler
{goog.vec.Vec3.AnyType
}
opt_theta2IsNegative
{boolean
=}
goog.vec.Vec4.AnyType
}
.toLookAt(mat, eyePt, fwdVec, worldUpVec)
Decomposes a matrix into the lookAt vectors eyePt, fwdVec and worldUpVec. The matrix represents the modelview matrix of a camera. It is the inverse of lookAt except for the output of the fwdVec instead of centerPt. The centerPt itself cannot be recovered from a modelview matrix.
mat
{goog.vec.Mat4.AnyType
}
eyePt
{goog.vec.Vec3.AnyType
}
fwdVec
{goog.vec.Vec3.AnyType
}
worldUpVec
{goog.vec.Vec3.AnyType
}
boolean
}
.translate(mat, x, y, z)
Translates the given matrix by x,y,z. Equvialent to: goog.vec.Mat4.multMat( mat, goog.vec.Mat4.makeTranslate(goog.vec.Mat4.create(), x, y, z), mat);
mat
{goog.vec.Mat4.AnyType
}
x
{number
}
y
{number
}
z
{number
}
goog.vec.Mat4.AnyType
}
.transpose(mat, resultMat)
Transposes the given matrix mat storing the result into resultMat.
mat
{goog.vec.Mat4.AnyType
}
resultMat
{goog.vec.Mat4.AnyType
}
goog.vec.Mat4.AnyType
}