Skip to content
This repository has been archived by the owner on Oct 22, 2024. It is now read-only.

VRageMath.QuaternionD

Morten Aune Lyrstad edited this page Apr 16, 2022 · 43 revisions

IndexNamespace Index

QuaternionD Struct

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

Fields

Member Description
\static QuaternionD Identity
\double W Specifies the rotation component of the quaternion.
\double X Specifies the x-value of the vector component of the quaternion.
\double Y Specifies the y-value of the vector component of the quaternion.
\double Z Specifies the z-value of the vector component of the quaternion.

Constructors

Member Description
\QuaternionD(double, double, double, double)
\QuaternionD(Vector3D, double)

Methods

Member Description
\static QuaternionD Add(QuaternionD, QuaternionD) Adds two Quaternions.
\static void Add(ref QuaternionD, ref QuaternionD, out QuaternionD) Adds two Quaternions.
\static QuaternionD Concatenate(QuaternionD, QuaternionD) Concatenates two Quaternions; the result represents the value1 rotation followed by the value2 rotation.
\static void Concatenate(ref QuaternionD, ref QuaternionD, out QuaternionD) Concatenates two Quaternions; the result represents the value1 rotation followed by the value2 rotation.
\static QuaternionD Conjugate(QuaternionD) Returns the conjugate of a specified QuaternionD.
\static void Conjugate(ref QuaternionD, out QuaternionD) Returns the conjugate of a specified QuaternionD.
\static QuaternionD CreateFromAxisAngle(Vector3D, double) Creates a QuaternionD from a vector and an angle to rotate about the vector.
\static void CreateFromAxisAngle(ref Vector3D, double, out QuaternionD) Creates a QuaternionD from a vector and an angle to rotate about the vector.
\static QuaternionD CreateFromForwardUp(Vector3D, Vector3D) Works for normalized vectors only
\static QuaternionD CreateFromRotationMatrix(MatrixD) Creates a QuaternionD from a rotation MatrixD.
\static void CreateFromRotationMatrix(ref MatrixD, out QuaternionD) Creates a QuaternionD from a rotation MatrixD.
\static void CreateFromTwoVectors(ref Vector3D, ref Vector3D, out QuaternionD)
\static QuaternionD CreateFromTwoVectors(Vector3D, Vector3D)
\static QuaternionD CreateFromYawPitchRoll(double, double, double) Creates a new QuaternionD from specified yaw, pitch, and roll angles.
\static void CreateFromYawPitchRoll(double, double, double, out QuaternionD) Creates a new QuaternionD from specified yaw, pitch, and roll angles.
\static QuaternionD Divide(QuaternionD, QuaternionD) Divides a QuaternionD by another QuaternionD.
\static void Divide(ref QuaternionD, ref QuaternionD, out QuaternionD) Divides a QuaternionD by another QuaternionD.
\static double Dot(QuaternionD, QuaternionD) Calculates the dot product of two Quaternions.
\static void Dot(ref QuaternionD, ref QuaternionD, out double) Calculates the dot product of two Quaternions.
\static QuaternionD FromVector4(Vector4D)
\static QuaternionD Inverse(QuaternionD) Returns the inverse of a QuaternionD.
\static void Inverse(ref QuaternionD, out QuaternionD) Returns the inverse of a QuaternionD.
\static bool IsZero(QuaternionD)
\static bool IsZero(QuaternionD, double)
\static QuaternionD Lerp(QuaternionD, QuaternionD, double) Linearly interpolates between two quaternions.
\static void Lerp(ref QuaternionD, ref QuaternionD, double, out QuaternionD) Linearly interpolates between two quaternions.
\static QuaternionD Multiply(QuaternionD, QuaternionD) Multiplies two quaternions.
\static void Multiply(ref QuaternionD, ref QuaternionD, out QuaternionD) Multiplies two quaternions.
\static QuaternionD Multiply(QuaternionD, double) Multiplies a quaternion by a scalar value.
\static void Multiply(ref QuaternionD, double, out QuaternionD) Multiplies a quaternion by a scalar value.
\static QuaternionD Negate(QuaternionD) Flips the sign of each component of the quaternion.
\static void Negate(ref QuaternionD, out QuaternionD) Flips the sign of each component of the quaternion.
\static QuaternionD Normalize(QuaternionD) Divides each component of the quaternion by the length of the quaternion.
\static void Normalize(ref QuaternionD, out QuaternionD) Divides each component of the quaternion by the length of the quaternion.
\static QuaternionD Slerp(QuaternionD, QuaternionD, double) Interpolates between two quaternions, using spherical linear interpolation.
\static void Slerp(ref QuaternionD, ref QuaternionD, double, out QuaternionD) Interpolates between two quaternions, using spherical linear interpolation.
\static QuaternionD Subtract(QuaternionD, QuaternionD) Subtracts a quaternion from another quaternion.
\static void Subtract(ref QuaternionD, ref QuaternionD, out QuaternionD) Subtracts a quaternion from another quaternion.
\void Conjugate() Transforms this QuaternionD into its conjugate.
\bool Equals(QuaternionD) Determines whether the specified Object is equal to the QuaternionD.
\bool Equals(object) Returns a value that indicates whether the current instance is equal to a specified object.
\void GetAxisAngle(out Vector3D, out double)
\int GetHashCode() Get the hash code of this object.
\double Length() Calculates the length of a QuaternionD.
\double LengthSquared() Calculates the length squared of a QuaternionD.
\void Normalize() Divides each component of the quaternion by the length of the quaternion.
\string ToString() Retireves a string representation of the current object.
\Vector4D ToVector4()
Clone this wiki locally