Skip to content
This repository was archived by the owner on Dec 13, 2025. It is now read-only.

VRageMath.QuaternionD

Malware edited this page Dec 21, 2018 · 44 revisions

Index

QuaternionD Struct

Namespace: VRageMath
Assembly: VRage.Math.dll

Summary

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

Fields

_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.
_double W_ Specifies the rotation component of the quaternion.
static _QuaternionD Identity_
### Methods
_string ToString()_ Retireves a string representation of the current object.
_bool Equals(QuaternionD other)_ Determines whether the specified Object is equal to the QuaternionD.
_bool Equals(Object obj)_ Returns a value that indicates whether the current instance is equal to a specified object.
_int GetHashCode()_ Get the hash code of this object.
_double LengthSquared()_ Calculates the length squared of a QuaternionD.
_double Length()_ Calculates the length of a QuaternionD.
_void Normalize()_ Divides each component of the quaternion by the length of the quaternion.
_void GetAxisAngle(ref Vector3D axis, ref double angle)_
static _QuaternionD Normalize(QuaternionD quaternion)_ Divides each component of the quaternion by the length of the quaternion.
static _void Normalize(ref QuaternionD quaternion, ref QuaternionD result)_ Divides each component of the quaternion by the length of the quaternion.
_void Conjugate()_ Transforms this QuaternionD into its conjugate.
static _QuaternionD Conjugate(QuaternionD value)_ Returns the conjugate of a specified QuaternionD.
static _void Conjugate(ref QuaternionD value, ref QuaternionD result)_ Returns the conjugate of a specified QuaternionD.
static _QuaternionD Inverse(QuaternionD quaternion)_ Returns the inverse of a QuaternionD.
static _void Inverse(ref QuaternionD quaternion, ref QuaternionD result)_ Returns the inverse of a 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, ref QuaternionD result)_ Creates a QuaternionD from a vector and an angle to rotate about the vector.
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, ref QuaternionD result)_ Creates a new QuaternionD from specified yaw, pitch, and roll angles.
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, ref QuaternionD result)_ Creates a QuaternionD from a rotation MatrixD.
static _double Dot(QuaternionD quaternion1, QuaternionD quaternion2)_ Calculates the dot product of two Quaternions.
static _void Dot(ref QuaternionD quaternion1, ref QuaternionD quaternion2, ref double result)_ Calculates the dot product of two Quaternions.
static _QuaternionD Slerp(QuaternionD quaternion1, QuaternionD quaternion2, double amount)_ Interpolates between two quaternions, using spherical linear interpolation.
static _void Slerp(ref QuaternionD quaternion1, ref QuaternionD quaternion2, double amount, ref QuaternionD result)_ Interpolates between two quaternions, using spherical linear interpolation.
static _QuaternionD Lerp(QuaternionD quaternion1, QuaternionD quaternion2, double amount)_ Linearly interpolates between two quaternions.
static _void Lerp(ref QuaternionD quaternion1, ref QuaternionD quaternion2, double amount, ref QuaternionD result)_ Linearly interpolates between 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, ref QuaternionD result)_ Concatenates two Quaternions; the result represents the value1 rotation followed by the value2 rotation.
static _QuaternionD Negate(QuaternionD quaternion)_ Flips the sign of each component of the quaternion.
static _void Negate(ref QuaternionD quaternion, ref QuaternionD result)_ Flips the sign of each component of the quaternion.
static _QuaternionD Add(QuaternionD quaternion1, QuaternionD quaternion2)_ Adds two Quaternions.
static _void Add(ref QuaternionD quaternion1, ref QuaternionD quaternion2, ref QuaternionD result)_ Adds two Quaternions.
static _QuaternionD Subtract(QuaternionD quaternion1, QuaternionD quaternion2)_ Subtracts a quaternion from another quaternion.
static _void Subtract(ref QuaternionD quaternion1, ref QuaternionD quaternion2, ref QuaternionD result)_ Subtracts a quaternion from another quaternion.
static _QuaternionD Multiply(QuaternionD quaternion1, QuaternionD quaternion2)_ Multiplies two quaternions.
static _void Multiply(ref QuaternionD quaternion1, ref QuaternionD quaternion2, ref QuaternionD result)_ 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, ref QuaternionD result)_ Multiplies a quaternion by a scalar value.
static _QuaternionD Divide(QuaternionD quaternion1, QuaternionD quaternion2)_ Divides a QuaternionD by another QuaternionD.
static _void Divide(ref QuaternionD quaternion1, ref QuaternionD quaternion2, ref QuaternionD result)_ Divides a QuaternionD by another QuaternionD.
static _QuaternionD FromVector4(Vector4D v)_
_Vector4D ToVector4()_
static _bool IsZero(QuaternionD value)_
static _bool IsZero(QuaternionD value, double epsilon)_
static _void CreateFromTwoVectors(ref Vector3D firstVector, ref Vector3D secondVector, ref QuaternionD result)_
static _QuaternionD CreateFromTwoVectors(Vector3D firstVector, Vector3D secondVector)_

Clone this wiki locally