Math.Quaternion
(in ./Carbon/Math/Quaternion.lua)
Provides a quaternion object for representing rotations.
The loose form of a Quaternion, loose<Quaternion>
is of the form (x, y, z, w)
Inherits Math.Vector<4>
Methods
class public Quaternion:NewFromAngles(Vector3 angles
)
Returns Quaternion
object public Quaternion:InitFromAngles(Vector3 angles
)
Returns void
- required
angles
: A Vector3 containing the angles to convert.
Converts a Vector3 containing Euler angles into a Quaternion.
class public Quaternion:NewFromLooseAngles(number x, number y, number z
)
Returns Quaternion
object public Quaternion:InitFromLooseAngles(number x, number y, number z
)
Returns void
- required
x
: The x component of the angles. - required
y
: The y component of the angles. - required
z
: The z component of the angles.
Converts a loose<Vector3> containing Euler angles into a Quaternion.
class public Quaternion:NewLooseFromAngles(Vector3 angles
)
Returns loose<Quaternion>
- required
angles
: A Vector3 containing the angles to convert.
Converts a Vector3 containing Euler angles into a loose Quaternion.
class public Quaternion:NewLooseFromLooseAngles(number x, number y, number z
)
Returns loose<Quaternion>
- required
x
: The x component of the angles. - required
y
: The y component of the angles. - required
z
: The z component of the angles.
Converts a loose<Vector3> containing Euler angles into a loose Quaternion.
class public Quaternion:LooseMultiplyLooseLoose(loose<Quaternion> a, loose<Quaternion> b
)
Returns loose<Quaternion>
- required
a
: The left operand on the multiply. - required
b
: The right operand on the multiply.
Multiplies two loose quaternions together and returns the result in loose form.
object public Quaternion:LooseMultiplyLoose(loose<Quaternion> quaternion
)
Returns loose<Quaternion>
- required
quaternion
: The quaternion to multiply with.
Multiplies the quaternion with a loose Quaternion, yielding a loose<Quaternion>.
object public Quaternion:Slerp(Quaternion other, number t, [Quaternion out]
)
Returns self
- required
other
: The Quaternion to slerp with. - required
t
: A number, normally on [0, 1], that determines the mixing ratio of the quaternions. - optional
out
: Where to put the resulting slerped Quaternion.
Performs a Quaternion slerp (spherical interpolation).
object public Quaternion:Conjugate([Quaternion out]
)
Returns Quaternion
- optional
out
: Where to put the resulting data.
Returns the conjugate of the Quaternion, (-i, -j, -k, w)
.
object public Quaternion:Conjugate!()
Returns Quaternion
object public Quaternion:ConjugateInPlace()
Returns Quaternion
Conjugates the Quaternion in-place.
object public Quaternion:LooseConjugate()
Returns loose<Quaternion>
Returns the conjugate of the quaternion in loose form.
object public Quaternion:Multiply(Quaternion other, [Quaternion out]
)
Returns Quaternion
- required
other
: The quaternion to multiply with. - optional
out
: Where to put the resulting data.
Multiplies the quaternion with another Quaternion.
object public Quaternion:Multiply!(Quaternion other
)
Returns self
object public Quaternion:MultiplyInPlace(Quaternion other
)
Returns self
- required
other
: The quaternion to multiply with.
Multiplies the quaternion with another Quaternion and puts the result in the first Quaternion.
object public Quaternion:MultiplyLoose(loose<Quaternion> quaternion, [Quaternion out]
)
Returns Quaternion
- required
quaternion
: The loose quaternion to multiply with. - optional
out
: Where to put the resulting data.
Multiplies the quaternion with a loose Quaternion.
object public Quaternion:MultiplyLoose!(loose<Quaternion> quaternion
)
Returns Quaternion
- required
quaternion
: The loose quaternion to multiply with.
Multiplies this quaternion with another loose Quaternion in-place.
object public Quaternion:Slerp!(Quaternion other, number t
)
Returns self
object public Quaternion:SlerpInPlace(Quaternion other, number t
)
Returns self
- required
other
: The Quaternion to slerp with. - required
t
: A number, normally on [0, 1], that determines the mixing ratio of the quaternions.
Performs a Quaternion slerp (spherical interpolation) in place.
object public Quaternion:TransformVector(Vector3 vec, [Vector3 out]
)
Returns self
- required
vec
: The vector to rotate. - optional
out
: Where to put the resulting data.
Transforms a vector by rotating it.
Properties
[none]