vec.Matrix4

Classes


Public Protected Private

Global Functions

goog.vec.Matrix4.add(mat0mat1resultMat) goog.vec.ArrayType
Performs a per-component addition of the matrix mat0 and mat1, storing the result into resultMat.
Arguments:
mat0 : goog.vec.ArrayType
The first addend.
mat1 : goog.vec.ArrayType
The second addend.
resultMat : goog.vec.ArrayType
The matrix to receive the results (may be either mat0 or mat1).
Returns: goog.vec.ArrayType  return resultMat so that operations can be chained together.
code »
goog.vec.Matrix4.applyRotate(matanglexyz)
Applies a rotation by angle about the x,y,z axis to the given matrix.
Arguments:
mat : goog.vec.ArrayType
The matrix.
angle : number
The angle in radians.
x : number
The x component of the rotation axis.
y : number
The y component of the rotation axis.
z : number
The z component of the rotation axis.
code »
goog.vec.Matrix4.applyScale(matxyz)
Applies an x,y,z scale to the given matrix.
Arguments:
mat : goog.vec.ArrayType
The matrix.
x : number
The x scale factor.
y : number
The y scale factor.
z : number
The z scale factor.
code »
goog.vec.Matrix4.applyTranslate(matxyz)
Applies a translation by x,y,z to the given matrix.
Arguments:
mat : goog.vec.ArrayType
The matrix.
x : number
The translation along the x axis.
y : number
The translation along the y axis.
z : number
The translation along the z axis.
code »
goog.vec.Matrix4.clone(matrix) goog.vec.Matrix4.Type
Creates a clone of a 4x4 matrix.
Arguments:
matrix : goog.vec.Matrix4.Type
The source 4x4 matrix.
Returns: goog.vec.Matrix4.Type  The new, 16 element matrix.
code »
goog.vec.Matrix4.create() goog.vec.Matrix4.Type
Creates the array representation of a 4x4 matrix. The use of the array directly eliminates any overhead associated with the class representation defined above. The returned matrix is cleared to all zeros.
Returns: goog.vec.Matrix4.Type  The new, sixteen element array.
code »
goog.vec.Matrix4.createFromArray(matrix) goog.vec.Matrix4.Type
Creates a 4x4 matrix initialized from the given array.
Arguments:
matrix : goog.vec.ArrayType
The array containing the matrix values in column major order.
Returns: goog.vec.Matrix4.Type  The new, 16 element array.
code »
goog.vec.Matrix4.createFromValues(v00v10v20v30v01v11v21v31v02v12v22v32v03v13v23v33) goog.vec.Matrix4.Type
Creates a 4x4 matrix initialized from the given values.
Arguments:
v00 : number
The values at (0, 0).
v10 : number
The values at (1, 0).
v20 : number
The values at (2, 0).
v30 : number
The values at (3, 0).
v01 : number
The values at (0, 1).
v11 : number
The values at (1, 1).
v21 : number
The values at (2, 1).
v31 : number
The values at (3, 1).
v02 : number
The values at (0, 2).
v12 : number
The values at (1, 2).
v22 : number
The values at (2, 2).
v32 : number
The values at (3, 2).
v03 : number
The values at (0, 3).
v13 : number
The values at (1, 3).
v23 : number
The values at (2, 3).
v33 : number
The values at (3, 3).
Returns: goog.vec.Matrix4.Type  The new, 16 element array.
code »
goog.vec.Matrix4.createIdentity() goog.vec.Matrix4.Type
Creates the array representation of a 4x4 matrix. The use of the array directly eliminates any overhead associated with the class representation defined above. The returned matrix is initialized with the identity
Returns: goog.vec.Matrix4.Type  The new, sixteen element array.
code »
goog.vec.Matrix4.determinant(mat) number
Computes the determinant of the matrix.
Arguments:
mat : goog.vec.ArrayType
The matrix to compute the matrix for.
Returns: number  The determinant of the matrix.
code »
goog.vec.Matrix4.equals(mat0mat1) boolean
Returns true if the components of mat0 are equal to the components of mat1.
Arguments:
mat0 : goog.vec.ArrayType
The first matrix.
mat1 : goog.vec.ArrayType
The second matrix.
Returns: boolean  True if the the two matrices are equivalent.
code »
goog.vec.Matrix4.fromEulerZXZ(matrixtheta1theta2theta3)
Constructs a rotation matrix from its 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), where rotation_x(theta) means rotation around the X axis of theta radians.
Arguments:
matrix : goog.vec.ArrayType
The rotation matrix.
theta1 : number
The angle of rotation around the Z axis in radians.
theta2 : number
The angle of rotation around the X axis in radians.
theta3 : number
The angle of rotation around the Z axis in radians.
code »
goog.vec.Matrix4.getColumn(matcolumnvec)
Retrieves the specified column from the matrix into the given vector array.
Arguments:
mat : goog.vec.ArrayType
The matrix supplying the values.
column : number
The column to get the values from.
vec : goog.vec.ArrayType
The vector of elements to receive the column.
code »
goog.vec.Matrix4.getColumns(matvec0vec1vec2vec3)
Retrieves the column values from the given matrix into the given vector elements.
Arguments:
mat : goog.vec.ArrayType
The matrix containing the columns to retrieve.
vec0 : goog.vec.ArrayType
The vector elements to receive column 0.
vec1 : goog.vec.ArrayType
The vector elements to receive column 1.
vec2 : goog.vec.ArrayType
The vector elements to receive column 2.
vec3 : goog.vec.ArrayType
The vector elements to receive column 3.
code »
goog.vec.Matrix4.getElement(matrowcolumn) number
Retrieves the element at the requested row and column.
Arguments:
mat : goog.vec.ArrayType
The matrix containing the value to retrieve.
row : number
The row index.
column : number
The column index.
Returns: number  The element value at the requested row, column indices.
code »
goog.vec.Matrix4.getRow(matrowvec)
Retrieves the row values into the given vector.
Arguments:
mat : goog.vec.ArrayType
The matrix supplying the values.
row : number
The index of the row supplying the values.
vec : goog.vec.ArrayType
The vector to receive the row.
code »
goog.vec.Matrix4.getRows(matvec0vec1vec2vec3)
Retrieves the rows of the matrix into the supplied vectors.
Arguments:
mat : goog.vec.ArrayType
The matrix to supply the values.
vec0 : goog.vec.ArrayType
The vector to receive row 0.
vec1 : goog.vec.ArrayType
The vector to receive row 1.
vec2 : goog.vec.ArrayType
The vector to receive row 2.
vec3 : goog.vec.ArrayType
The vector to receive row 3.
code »
goog.vec.Matrix4.invert(matresultMat) boolean
Computes the inverse of mat storing the result into resultMat. If the inverse is defined, this function returns true, false otherwise.
Arguments:
mat : goog.vec.ArrayType
The matrix to invert.
resultMat : goog.vec.ArrayType
The matrix to receive the result (may be mat).
Returns: boolean  True if the inverse is defined. If false is returned, resultMat is not modified.
code »
goog.vec.Matrix4.lookAt(viewMatrixeyePtcenterPtworldUpVec)
Updates a matrix representing the modelview matrix of a camera so that the camera is 'looking at' the given center point.
Arguments:
viewMatrix : goog.vec.ArrayType
The matrix.
eyePt : goog.vec.ArrayType
The position of the eye point (camera origin).
centerPt : goog.vec.ArrayType
The point to aim the camera at.
worldUpVec : goog.vec.ArrayType
The vector that identifies the up direction for the camera.
code »
goog.vec.Matrix4.makeAxisAngleRotate(matangleaxayaz)
Initializes the given 4x4 matrix as a rotation matrix with the given rotation angle about the axis defined by the vector (ax, ay, az).
Arguments:
mat : goog.vec.ArrayType
The 4x4 (16-element) matrix array to receive the new translation matrix.
angle : number
The rotation angle in radians.
ax : number
The x component of the rotation axis.
ay : number
The y component of the rotation axis.
az : number
The z component of the rotation axis.
code »
goog.vec.Matrix4.makeFrustum(matleftrightbottomtopnearfar)
Initializes the given 4x4 matrix as a perspective projection matrix.
Arguments:
mat : goog.vec.ArrayType
The 4x4 (16-element) matrix array to receive the new translation matrix.
left : number
The coordinate of the left clipping plane.
right : number
The coordinate of the right clipping plane.
bottom : number
The coordinate of the bottom clipping plane.
top : number
The coordinate of the top clipping plane.
near : number
The distance to the near clipping plane.
far : number
The distance to the far clipping plane.
code »
goog.vec.Matrix4.makeOrtho(matleftrightbottomtopnearfar)
Initializes the given 4x4 matrix as an orthographic projection matrix.
Arguments:
mat : goog.vec.ArrayType
The 4x4 (16-element) matrix array to receive the new translation matrix.
left : number
The coordinate of the left clipping plane.
right : number
The coordinate of the right clipping plane.
bottom : number
The coordinate of the bottom clipping plane.
top : number
The coordinate of the top clipping plane.
near : number
The distance to the near clipping plane.
far : number
The distance to the far clipping plane.
code »
goog.vec.Matrix4.makePerspective(matfovyaspectnearfar)
Initializes the given 4x4 matrix as a perspective projection matrix given a field of view and aspect ratio.
Arguments:
mat : goog.vec.ArrayType
The 4x4 (16-element) matrix array to receive the new translation matrix.
fovy : number
The field of view along the y (vertical) axis in radians.
aspect : number
The x (width) to y (height) aspect ratio.
near : number
The distance to the near clipping plane.
far : number
The distance to the far clipping plane.
code »
goog.vec.Matrix4.makeScale(matxyz)
Initializes the given 4x4 matrix as a scale matrix with x, y and z scale factors.
Arguments:
mat : goog.vec.ArrayType
The 4x4 (16-element) matrix array to receive the new translation matrix.
x : number
The scale along the x axis.
y : number
The scale along the y axis.
z : number
The scale along the z axis.
code »
goog.vec.Matrix4.makeTranslate(matxyz)
Initializes the given 4x4 matrix as a translation matrix with x, y and z translation factors.
Arguments:
mat : goog.vec.ArrayType
The 4x4 (16-element) matrix array to receive the new translation matrix.
x : number
The translation along the x axis.
y : number
The translation along the y axis.
z : number
The translation along the z axis.
code »
goog.vec.Matrix4.multMat(mat0mat1resultMat) goog.vec.ArrayType
Multiplies the two matrices mat0 and mat1 using matrix multiplication, storing the result into resultMat.
Arguments:
mat0 : goog.vec.ArrayType
The first (left hand) matrix.
mat1 : goog.vec.ArrayType
The second (right hand) matrix.
resultMat : goog.vec.ArrayType
The matrix to receive the results (may be either mat0 or mat1).
Returns: goog.vec.ArrayType  return resultMat so that operations can be chained together.
code »
goog.vec.Matrix4.multVec3(matvecresultVec) goog.vec.ArrayType
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.
Arguments:
mat : goog.vec.ArrayType
The matrix supplying the transformation.
vec : goog.vec.ArrayType
The 3 element vector to transform.
resultVec : goog.vec.ArrayType
The 3 element vector to receive the results (may be vec).
Returns: goog.vec.ArrayType  return resultVec so that operations can be chained together.
code »
goog.vec.Matrix4.multVec3NoTranslate(matvecresultVec) goog.vec.ArrayType
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.
Arguments:
mat : goog.vec.ArrayType
The matrix supplying the transformation.
vec : goog.vec.ArrayType
The 3 element vector to transform.
resultVec : goog.vec.ArrayType
The 3 element vector to receive the results (may be vec).
Returns: goog.vec.ArrayType  return resultVec so that operations can be chained together.
code »
goog.vec.Matrix4.multVec3Projective(matvecresultVec) goog.vec.ArrayType
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.
Arguments:
mat : goog.vec.ArrayType
The matrix supplying the transformation.
vec : goog.vec.ArrayType
The 3 element vector to transform.
resultVec : goog.vec.ArrayType
The 3 element vector to receive the results (may be vec).
Returns: goog.vec.ArrayType  return resultVec so that operations can be chained together.
code »
goog.vec.Matrix4.multVec3ToArray(matvecresultVec) goog.vec.ArrayType
Transforms the given vector with the given matrix storing the resulting, transformed vector into resultVec. The input matrix is multiplied against the upper 3x4 matrix omitting the projective component.
Arguments:
mat : goog.vec.ArrayType
The matrix supplying the transformation.
vec : goog.vec.ArrayType
The 3 element vector to transform.
resultVec : goog.vec.ArrayType
The 3 element vector to receive the results (may be vec).
Returns: goog.vec.ArrayType  return resultVec so that operations can be chained together.
code »
goog.vec.Matrix4.multVec4(matvecresultVec) goog.vec.ArrayType
Transforms the given vector with the given matrix storing the resulting, transformed vector into resultVec.
Arguments:
mat : goog.vec.ArrayType
The matrix supplying the transformation.
vec : goog.vec.ArrayType
The vector to transform.
resultVec : goog.vec.ArrayType
The vector to receive the results (may be vec).
Returns: goog.vec.ArrayType  return resultVec so that operations can be chained together.
code »
goog.vec.Matrix4.multVec4ToArray(matvecresultVec) goog.vec.ArrayType
Transforms the given vector with the given matrix storing the resulting, transformed vector into resultVec.
Arguments:
mat : goog.vec.ArrayType
The matrix supplying the transformation.
vec : goog.vec.ArrayType
The vector to transform.
resultVec : goog.vec.ArrayType
The vector to receive the results (may be vec).
Returns: goog.vec.ArrayType  return resultVec so that operations can be chained together.
code »
goog.vec.Matrix4.scale(mat0scalarresultMat) goog.vec.ArrayType
Performs a component-wise multiplication of mat0 with the given scalar storing the result into resultMat.
Arguments:
mat0 : goog.vec.ArrayType
The matrix to scale.
scalar : number
The scalar value to multiple to each element of mat0.
resultMat : goog.vec.ArrayType
The matrix to receive the results (may be mat0).
Returns: goog.vec.ArrayType  return resultMat so that operations can be chained together.
code »
goog.vec.Matrix4.setColumn(matcolumnvec)
Sets the specified column with the value from the supplied array.
Arguments:
mat : goog.vec.ArrayType
The matrix to receive the values.
column : number
The column index to set the values on.
vec : goog.vec.ArrayType
The vector of elements for the column.
code »
goog.vec.Matrix4.setColumnValues(matcolumnv0v1v2v3)
Sets the specified column with the supplied values.
Arguments:
mat : goog.vec.ArrayType
The matrix to recieve the values.
column : number
The column index to set the values on.
v0 : number
The value for row 0.
v1 : number
The value for row 1.
v2 : number
The value for row 2.
v3 : number
The value for row 3.
code »
goog.vec.Matrix4.setColumns(matvec0vec1vec2vec3)
Sets the columns of the matrix from the set of vector elements.
Arguments:
mat : goog.vec.ArrayType
The matrix to receive the values.
vec0 : goog.vec.ArrayType
The values for column 0.
vec1 : goog.vec.ArrayType
The values for column 1.
vec2 : goog.vec.ArrayType
The values for column 2.
vec3 : goog.vec.ArrayType
The values for column 3.
code »
goog.vec.Matrix4.setDiagonal(matvec)
Sets the diagonal values of the matrix from the given vector.
Arguments:
mat : goog.vec.ArrayType
The matrix to receive the values.
vec : goog.vec.ArrayType
The vector containing the values.
code »
goog.vec.Matrix4.setDiagonalValues(matv00v11v22v33)
Sets the diagonal values of the matrix from the given values.
Arguments:
mat : goog.vec.ArrayType
The matrix to receive the values.
v00 : number
The values for (0, 0).
v11 : number
The values for (1, 1).
v22 : number
The values for (2, 2).
v33 : number
The values for (3, 3).
code »
goog.vec.Matrix4.setElement(matrowcolumnvalue)
Sets the element at the requested row and column.
Arguments:
mat : goog.vec.ArrayType
The matrix containing the value to retrieve.
row : number
The row index.
column : number
The column index.
value : number
The value to set at the requested row, column.
code »
goog.vec.Matrix4.setFromArray(matvalues)
Sets the matrix from the array of values stored in column major order.
Arguments:
mat : goog.vec.ArrayType
The matrix to receive the values.
values : goog.vec.ArrayType
The column major ordered array of values to store in the matrix.
code »
goog.vec.Matrix4.setFromRowMajorArray(matvalues)
Sets the matrix from the array of values stored in row major order.
Arguments:
mat : goog.vec.ArrayType
The matrix to receive the values.
values : goog.vec.ArrayType
The row major ordered array of values to store in the matrix.
code »
goog.vec.Matrix4.setFromValues(matv00v10v20v30v01v11v21v31v02v12v22v32v03v13v23v33)
Initializes the matrix from the set of values. Note the values supplied are in column major order.
Arguments:
mat : goog.vec.ArrayType
The matrix to receive the values.
v00 : number
The values at (0, 0).
v10 : number
The values at (1, 0).
v20 : number
The values at (2, 0).
v30 : number
The values at (3, 0).
v01 : number
The values at (0, 1).
v11 : number
The values at (1, 1).
v21 : number
The values at (2, 1).
v31 : number
The values at (3, 1).
v02 : number
The values at (0, 2).
v12 : number
The values at (1, 2).
v22 : number
The values at (2, 2).
v32 : number
The values at (3, 2).
v03 : number
The values at (0, 3).
v13 : number
The values at (1, 3).
v23 : number
The values at (2, 3).
v33 : number
The values at (3, 3).
code »
goog.vec.Matrix4.setIdentity(mat)
Sets the given matrix to the identity matrix.
Arguments:
mat : goog.vec.ArrayType
The matrix to set.
code »
goog.vec.Matrix4.setRow(matrowvec)
Sets the row values from the supplied vector.
Arguments:
mat : goog.vec.ArrayType
The matrix to receive the row values.
row : number
The index of the row.
vec : goog.vec.ArrayType
The vector containing the values.
code »
goog.vec.Matrix4.setRowValues(matrowv0v1v2v3)
Sets the row values from the supplied values.
Arguments:
mat : goog.vec.ArrayType
The matrix to receive the values.
row : number
The index of the row to receive the values.
v0 : number
The value for column 0.
v1 : number
The value for column 1.
v2 : number
The value for column 2.
v3 : number
The value for column 3.
code »
goog.vec.Matrix4.setRows(matvec0vec1vec2vec3)
Sets the rows of the matrix from the supplied vectors.
Arguments:
mat : goog.vec.ArrayType
The matrix to receive the values.
vec0 : goog.vec.ArrayType
The values for row 0.
vec1 : goog.vec.ArrayType
The values for row 1.
vec2 : goog.vec.ArrayType
The values for row 2.
vec3 : goog.vec.ArrayType
The values for row 3.
code »
goog.vec.Matrix4.setZero(mat)
Clears the given matrix to zero.
Arguments:
mat : goog.vec.ArrayType
The matrix to clear.
code »
goog.vec.Matrix4.subtract(mat0mat1resultMat) goog.vec.ArrayType
Performs a per-component subtraction of the matrix mat0 and mat1, storing the result into resultMat.
Arguments:
mat0 : goog.vec.ArrayType
The minuend.
mat1 : goog.vec.ArrayType
The subtrahend.
resultMat : goog.vec.ArrayType
The matrix to receive the results (may be either mat0 or mat1).
Returns: goog.vec.ArrayType  return resultMat so that operations can be chained together.
code »
goog.vec.Matrix4.toEulerZXZ(matrixeuler)
Decomposes a rotation matrix into Euler angles using the ZXZ convention.
Arguments:
matrix : goog.vec.ArrayType
The rotation matrix.
euler : goog.vec.ArrayType
The ZXZ Euler angles in radians. euler = [roll, tilt, pan].
code »
goog.vec.Matrix4.toLookAt(viewMatrixeyePtfwdVecworldUpVec) boolean
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.
Arguments:
viewMatrix : goog.vec.ArrayType
The matrix.
eyePt : goog.vec.ArrayType
The position of the eye point (camera origin).
fwdVec : goog.vec.ArrayType
The vector describing where the camera points to.
worldUpVec : goog.vec.ArrayType
The vector that identifies the up direction for the camera.
Returns: boolean  True if the method succeeds, false otherwise. The method can only fail if the inverse of viewMatrix is not defined.
code »
goog.vec.Matrix4.transpose(matresultMat) goog.vec.ArrayType
Transposes the given matrix mat storing the result into resultMat.
Arguments:
mat : goog.vec.ArrayType
The matrix to transpose.
resultMat : goog.vec.ArrayType
The matrix to receive the results (may be mat).
Returns: goog.vec.ArrayType  return resultMat so that operations can be chained together.
code »

Global Properties

goog.vec.Matrix4.Type :
No description.
Code »
goog.vec.Matrix4.tmpMatrix4_ :
No description.
Code »
goog.vec.Matrix4.tmpVec3_ :
No description.
Code »
goog.vec.Matrix4.tmpVec4_ :
No description.
Code »

Package vec

Package Reference