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

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

QuaternionD(double x, double y, double z, double w)

QuaternionD(Vector3D vectorPart, double scalarPart)

Methods

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 void CreateFromTwoVectors(ref Vector3D firstVector, ref Vector3D secondVector, out QuaternionD result)

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.

static void Lerp(ref QuaternionD quaternion1, ref QuaternionD quaternion2, double amount, out QuaternionD result)

Linearly interpolates between two quaternions.

static QuaternionD Multiply(QuaternionD quaternion1, QuaternionD quaternion2)

Multiplies two quaternions.

static void Multiply(ref QuaternionD quaternion1, ref QuaternionD quaternion2, out 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, 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.

static void Slerp(ref QuaternionD quaternion1, ref QuaternionD quaternion2, double amount, out QuaternionD result)

Interpolates between two quaternions, using spherical linear interpolation.

static QuaternionD Subtract(QuaternionD quaternion1, QuaternionD quaternion2)

Subtracts a quaternion from another quaternion.

static void Subtract(ref QuaternionD quaternion1, ref QuaternionD quaternion2, out QuaternionD result)

Subtracts a quaternion from another quaternion.

void Conjugate()

Transforms this QuaternionD into its conjugate.

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.

void GetAxisAngle(out Vector3D axis, out double angle)

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