-
Notifications
You must be signed in to change notification settings - Fork 123
VRageMath.QuaternionD
← Index ← Namespace Index
public struct QuaternionD
Defines a four-dimensional vector (x,y,z,w), which is used to efficiently rotate an object about the (x, y, z) vector by the angle theta, where w = cos(theta/2). Uses double precision floating point numbers for calculation and storage
Namespace: VRageMath
Assembly: VRage.Math.dll
Specifies the rotation component of the quaternion.
Specifies the x-value of the vector component of the quaternion.
Specifies the y-value of the vector component of the quaternion.
Specifies the z-value of the vector component of the quaternion.
QuaternionD(double x, double y, double z, double w)
QuaternionD(Vector3D vectorPart, double scalarPart)
static QuaternionD Add(QuaternionD quaternion1, QuaternionD quaternion2)
Adds two Quaternions.
static void Add(ref QuaternionD quaternion1, ref QuaternionD quaternion2, out QuaternionD result)
Adds two Quaternions.
static QuaternionD Concatenate(QuaternionD value1, QuaternionD value2)
Concatenates two Quaternions; the result represents the value1 rotation followed by the value2 rotation.
static void Concatenate(ref QuaternionD value1, ref QuaternionD value2, out QuaternionD result)
Concatenates two Quaternions; the result represents the value1 rotation followed by the value2 rotation.
static QuaternionD Conjugate(QuaternionD value)
Returns the conjugate of a specified QuaternionD.
static void Conjugate(ref QuaternionD value, out QuaternionD result)
Returns the conjugate of a specified QuaternionD.
static QuaternionD CreateFromAxisAngle(Vector3D axis, double angle)
Creates a QuaternionD from a vector and an angle to rotate about the vector.
static void CreateFromAxisAngle(ref Vector3D axis, double angle, out QuaternionD result)
Creates a QuaternionD from a vector and an angle to rotate about the vector.
static QuaternionD CreateFromForwardUp(Vector3D forward, Vector3D up)
Works for normalized vectors only
static QuaternionD CreateFromRotationMatrix(MatrixD matrix)
Creates a QuaternionD from a rotation MatrixD.
static void CreateFromRotationMatrix(ref MatrixD matrix, out QuaternionD result)
Creates a QuaternionD from a rotation MatrixD.
static QuaternionD CreateFromTwoVectors(Vector3D firstVector, Vector3D secondVector)
static QuaternionD CreateFromYawPitchRoll(double yaw, double pitch, double roll)
Creates a new QuaternionD from specified yaw, pitch, and roll angles.
static void CreateFromYawPitchRoll(double yaw, double pitch, double roll, out QuaternionD result)
Creates a new QuaternionD from specified yaw, pitch, and roll angles.
static QuaternionD Divide(QuaternionD quaternion1, QuaternionD quaternion2)
Divides a QuaternionD by another QuaternionD.
static void Divide(ref QuaternionD quaternion1, ref QuaternionD quaternion2, out QuaternionD result)
Divides a QuaternionD by another QuaternionD.
static double Dot(QuaternionD quaternion1, QuaternionD quaternion2)
Calculates the dot product of two Quaternions.
static void Dot(ref QuaternionD quaternion1, ref QuaternionD quaternion2, out double result)
Calculates the dot product of two Quaternions.
static QuaternionD FromVector4(Vector4D v)
static QuaternionD Inverse(QuaternionD quaternion)
Returns the inverse of a QuaternionD.
static void Inverse(ref QuaternionD quaternion, out QuaternionD result)
Returns the inverse of a QuaternionD.
static bool IsZero(QuaternionD value)
static bool IsZero(QuaternionD value, double epsilon)
static QuaternionD Lerp(QuaternionD quaternion1, QuaternionD quaternion2, double amount)
Linearly interpolates between two quaternions.
Linearly interpolates between two quaternions.
static QuaternionD Multiply(QuaternionD quaternion1, QuaternionD quaternion2)
Multiplies two quaternions.
Multiplies two quaternions.
static QuaternionD Multiply(QuaternionD quaternion1, double scaleFactor)
Multiplies a quaternion by a scalar value.
static void Multiply(ref QuaternionD quaternion1, double scaleFactor, out QuaternionD result)
Multiplies a quaternion by a scalar value.
static QuaternionD Negate(QuaternionD quaternion)
Flips the sign of each component of the quaternion.
static void Negate(ref QuaternionD quaternion, out QuaternionD result)
Flips the sign of each component of the quaternion.
static QuaternionD Normalize(QuaternionD quaternion)
Divides each component of the quaternion by the length of the quaternion.
static void Normalize(ref QuaternionD quaternion, out QuaternionD result)
Divides each component of the quaternion by the length of the quaternion.
static QuaternionD Slerp(QuaternionD quaternion1, QuaternionD quaternion2, double amount)
Interpolates between two quaternions, using spherical linear interpolation.
Interpolates between two quaternions, using spherical linear interpolation.
static QuaternionD Subtract(QuaternionD quaternion1, QuaternionD quaternion2)
Subtracts a quaternion from another quaternion.
Subtracts a quaternion from another quaternion.
Transforms this QuaternionD into its conjugate.
bool Equals(QuaternionD other)
Determines whether the specified Object is equal to the QuaternionD.
Returns a value that indicates whether the current instance is equal to a specified object.
void GetAxisAngle(out Vector3D axis, out double angle)
Get the hash code of this object.
Calculates the length of a QuaternionD.
Calculates the length squared of a QuaternionD.
Divides each component of the quaternion by the length of the quaternion.
Retireves a string representation of the current object.
Do you have questions, comments, suggestions for improvements? Is there something I can do better? Did I make a mistake? Please add an issue here, and prefix your issue title with Wiki. Thank you, your help will be very appreciated!