Math.Matrix4x4
(in ./Carbon/Math/Matrix4x4.lua)
A 4x4 row-major matrix.
Inherits Math.Matrix3x3, Math.Matrix
Methods
class public Matrix4x4:NewFromLooseQuaternion(loose<Quaternion> quaternion)
Returns Matrix4x4
object public Matrix4x4:InitFromLooseQuaternion(loose<Quaternion> quaternion)
Returns void
- required
quaternion: The quaternion to initialize the matrix with.
Creates a new Matrix4x4 from a Quaternion.
class public Matrix4x4:NewFromQuaternion(Quaternion quaternion)
Returns Matrix4x4
object public Matrix4x4:InitFromQuaternion(Quaternion quaternion)
Returns void
- required
quaternion: The quaternion to initialize the matrix with.
Creates a new Matrix4x4 from a Quaternion.
class public Matrix4x4:NewLookAt(Vector3 eye, Vector3 center, Vector3 up)
Returns Matrix4x4
- required
eye: The position of the observer. - required
center: The focus of the observer. - required
up: The upwards direction for the observer.
Creates a projection to look at a point from another.
class public Matrix4x4:NewLooseFromLooseQuaternion(loose<Quaternion> quaternion)
Returns loose<Matrix4x4>
- required
quaternion: The quaternion, in loose form, to convert.
Takes a loose Quaternion and returns a loose rotation matrix from it.
class public Matrix4x4:NewLooseFromQuaternion(Quaternion quaternion)
Returns loose<Matrix4x4>
- required
quaternion: The quaternion to convert.
Takes a Quaternion and returns a loose rotation matrix from it.
class public Matrix4x4:NewOrthographic(number l, number r, number t, number b, number near, number far)
Returns Matrix4x4
- required
l: The left edge of the projection. - required
r: The right edge of the projection. - required
t: The top edge of the projection. - required
b: The bottom edge of the projection. - required
near: The near plane of the projection. - required
far: The far plane of the projection.
Creates an orthographic projection matrix with the given properties
class public Matrix4x4:NewPerspective(number fov, number aspect, number near, number far)
Returns Matrix4x4
- required
fov: The field of view in radians. - required
aspect: The aspect ratio of the observer. - required
near: The near plane of the projection. - required
far: The far plane of the projection.
Creates a perspective matrix with the given properties.
class public Matrix4x4:LooseRotationX(number t, ...)
- required
t: The amount to rotate, in radians. - optional
...: Data to pipe through the method.
Returns a loose<Matrix4x4> representing a rotation t radians around the X axis.
class public Matrix4x4:RotationX(number t, ...)
Returns Matrix4x4
- required
t: The amount to rotate, in radians. - optional
...: Data to pipe through the method.
Returns a Matrix4x4 representing a rotation t radians around the X axis.
object public Matrix4x4:RotateX(number t, [Matrix4x4 out])
Returns Matrix4x4
- required
t: The amount to rotate, in radians. - optional
out: Where to put the resulting data.
Rotates the matrix around the X axis.
object public Matrix4x4:RotateX!(number t)
Returns self
object public Matrix4x4:RotateXInPlace(number t)
Returns self
- required
t: The amount to rotate, in radians.
Rotates the matrix around the X axis in place.
class public Matrix4x4:LooseRotationY(number t, ...)
- required
t: The amount to rotate, in radians. - optional
...: Data to pipe through the method.
Returns a loose<Matrix4x4> representing a rotation t radians around the Y axis.
class public Matrix4x4:RotationY(number t, ...)
Returns Matrix4x4
- required
t: The amount to rotate, in radians. - optional
...: Data to pipe through the method.
Returns a Matrix4x4 representing a rotation t radians around the Y axis.
object public Matrix4x4:RotateY(number t, [Matrix4x4 out])
Returns Matrix4x4
- required
t: The amount to rotate, in radians. - optional
out: Where to put the resulting data.
Rotates the matrix around the Y axis.
object public Matrix4x4:RotateY!(number t)
Returns self
object public Matrix4x4:RotateXInPlace(number t)
Returns self
- required
t: The amount to rotate, in radians.
Rotates the matrix around the Y axis in place.
class public Matrix4x4:LooseRotationZ(number t, ...)
- required
t: The amount to rotate, in radians. - optional
...: Data to pipe through the method.
Returns a loose<Matrix4x4> representing a rotation t radians around the Z axis.
class public Matrix4x4:RotationZ(number t, ...)
Returns Matrix4x4
- required
t: The amount to rotate, in radians. - optional
...: Data to pipe through the method.
Returns a Matrix4x4 representing a rotation t radians around the Z axis.
object public Matrix4x4:RotateZ(number t, [Matrix4x4 out])
Returns Matrix4x4
- required
t: The amount to rotate, in radians. - optional
out: Where to put the resulting data.
Rotates the matrix around the Z axis.
object public Matrix4x4:RotateZ!(number t)
Returns self
object public Matrix4x4:RotateXInPlace(number t)
Returns self
- required
t: The amount to rotate, in radians.
Rotates the matrix around the Z axis in place.
class public Matrix4x4:LooseScaling(number x, number y, number z)
Returns Matrix4x4
- required
x: The amount to scale on the X axis. - required
y: The amount to scale on the Y axis. - required
z: The amount to scale on the Z axis.
Returns a loose<Matrix4x4> representing a scaling transformation.
class public Matrix4x4:Rotation(number x, number y, number z, [Matrix4x4 out])
Returns Matrix4x4
- required
x: The x component of the rotation. - required
y: The y component of the rotation. - required
z: The z component of the rotation. - optional
out: Where to put the data for the rotation.
Creates a rotation matrix with the given Euler angles.
class public Matrix4x4:Scale(number x, number y, number z, [Matrix4x4 out])
Returns Matrix4x4
- required
x: The amount to scale on the X axis. - required
y: The amount to scale on the Y axis. - required
z: The amount to scale on the Z axis. - optional
out: Where to put the resulting data.
Scales the Matrix4x4, optionally outputting to an existing Matrix4x4.
class public Matrix4x4:Scale!(number x, number y, number z)
Returns self
class public Matrix4x4:ScaleInPlace(number x, number y, number z)
Returns self
- required
x: The amount to scale on the X axis. - required
y: The amount to scale on the Y axis. - required
z: The amount to scale on the Z axis.
Scales the Matrix4x4 in place.
class public Matrix4x4:Scaling(number x, number y, number z)
Returns Matrix4x4
- required
x: The amount to scale on the X axis. - required
y: The amount to scale on the Y axis. - required
z: The amount to scale on the Z axis.
Returns a Matrix4x4 representing a scaling transformation.
class public Matrix4x4:Translation(number x, number y, number z, [Matrix4x4 out])
Returns Matrix4x4
object public Matrix4x4:Translate(number x, number y, number z, [Matrix4x4 out])
Returns Matrix4x4
- required
x: The x coordinate of the translation. - required
y: The y coordinate of the translation. - required
z: The z coordinate of the translation. - optional
out: Where to put the data for the translation.
Creates a translation matrix.
The Translate form offsets from an existing matrix.
object public Matrix4x4:GetDeterminant()
Returns number
Returns the determinant of the matrix.
object public Matrix4x4:GetInverse([Matrix4x4 out])
Returns Matrix4x4
- optional
out: Where to put the data, a new matrix if not specified.
Yields the inverse of the matrix, optionally outputting into an existing matrix.
object public Matrix4x4:Rotate(number x, number y, number z, [Matrix4x4 out])
Returns Matrix4x4
- required
x: The x component of the rotation. - required
y: The y component of the rotation. - required
z: The z component of the rotation. - optional
out: Where to put the data for the rotation.
Rotates the Matrix4x4 and outputs its data to out, or a new Matrix4x4 if not given.
object public Matrix4x4:Rotate!(number x, number y, number z)
Returns self
object public Matrix4x4:RotateInPlace(number x, number y, number z)
Returns self
- required
x: The x component of the rotation. - required
y: The y component of the rotation. - required
z: The z component of the rotation.
Rotates the Matrix4x4 in place.
Properties
[none]