Quaternion Structure (Microsoft.Xna.Framework)

An efficient mathematical representation for three dimensional rotations.

Namespace: Microsoft.Xna.Framework
Assembly: MonoGame.Framework (MonoGame.Framework.dll 3.8.0.1082)
  • C#
  • VB
  • F#
[DataContractAttribute]
[DebuggerDisplayAttribute("{DebugDisplayString,nq}")]
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = -1, Size = -1)]
public struct Quaternion : IEquatable<Quaternion>

Syntax for VB is not yet implemented.

Syntax for F# is not yet implemented.

The Quaternion type exposes the following members.

  Platforms Name Description
Quaternion(float, float, float, float) Constructs a quaternion with X, Y, Z and W from four values. 
Quaternion(Vector3, float) Constructs a quaternion with X, Y, Z from Vector3 and rotation component from a scalar. 
Quaternion(Vector4) Constructs a quaternion from Vector4
Top
  Platforms Name Description
W The rotation component of this Quaternion
X The x coordinate of this Quaternion
Y The y coordinate of this Quaternion
Z The z coordinate of this Quaternion
Top
  Platforms Name Description
Identity Returns a quaternion representing no rotation. 
Top
  Platforms Name Description
Add(Quaternion, Quaternion) Creates a new Quaternion that contains the sum of two quaternions. 
Add(Quaternion, Quaternion, out Quaternion) Creates a new Quaternion that contains the sum of two quaternions. 
Concatenate(Quaternion, Quaternion) Creates a new Quaternion that contains concatenation between two quaternion. 
Concatenate(Quaternion, Quaternion, out Quaternion) Creates a new Quaternion that contains concatenation between two quaternion. 
Conjugate() Transforms this quaternion into its conjugated version. 
Conjugate(Quaternion) Creates a new Quaternion that contains conjugated version of the specified quaternion. 
Conjugate(Quaternion, out Quaternion) Creates a new Quaternion that contains conjugated version of the specified quaternion. 
CreateFromAxisAngle(Vector3, float) Creates a new Quaternion from the specified axis and angle. 
CreateFromAxisAngle(Vector3, float, out Quaternion) Creates a new Quaternion from the specified axis and angle. 
CreateFromRotationMatrix(Matrix) Creates a new Quaternion from the specified Matrix
CreateFromRotationMatrix(Matrix, out Quaternion) Creates a new Quaternion from the specified Matrix
CreateFromYawPitchRoll(float, float, float) Creates a new Quaternion from the specified yaw, pitch and roll angles. 
CreateFromYawPitchRoll(float, float, float, out Quaternion) Creates a new Quaternion from the specified yaw, pitch and roll angles. 
Deconstruct  
Divide(Quaternion, Quaternion) Divides a Quaternion by the other Quaternion
Divide(Quaternion, Quaternion, out Quaternion) Divides a Quaternion by the other Quaternion
Dot(Quaternion, Quaternion) Returns a dot product of two quaternions. 
Dot(Quaternion, Quaternion, out Single) Returns a dot product of two quaternions. 
Equals(object) Compares whether current instance is equal to specified System.Object. (Overrides ValueType.Equals().)
Equals(Quaternion) Compares whether current instance is equal to specified Quaternion. (Implements IEquatable<T>.Equals().)
GetHashCode Gets the hash code of this Quaternion. (Overrides ValueType.GetHashCode().)
Inverse(Quaternion) Returns the inverse quaternion which represents the opposite rotation. 
Inverse(Quaternion, out Quaternion) Returns the inverse quaternion which represents the opposite rotation. 
Length Returns the magnitude of the quaternion components. 
LengthSquared Returns the squared magnitude of the quaternion components. 
Lerp(Quaternion, Quaternion, float, out Quaternion) Performs a linear blend between two quaternions. 
Lerp(Quaternion, Quaternion, float) Performs a linear blend between two quaternions. 
Multiply(Quaternion, Quaternion) Creates a new Quaternion that contains a multiplication of two quaternions. 
Multiply(Quaternion, float) Creates a new Quaternion that contains a multiplication of Quaternion and a scalar. 
Multiply(Quaternion, float, out Quaternion) Creates a new Quaternion that contains a multiplication of Quaternion and a scalar. 
Multiply(Quaternion, Quaternion, out Quaternion) Creates a new Quaternion that contains a multiplication of two quaternions. 
Negate(Quaternion) Flips the sign of the all the quaternion components. 
Negate(Quaternion, out Quaternion) Flips the sign of the all the quaternion components. 
Normalize() Scales the quaternion magnitude to unit length. 
Normalize(Quaternion) Scales the quaternion magnitude to unit length. 
Normalize(Quaternion, out Quaternion) Scales the quaternion magnitude to unit length. 
Slerp(Quaternion, Quaternion, float) Performs a spherical linear blend between two quaternions. 
Slerp(Quaternion, Quaternion, float, out Quaternion) Performs a spherical linear blend between two quaternions. 
Subtract(Quaternion, Quaternion, out Quaternion) Creates a new Quaternion that contains subtraction of one Quaternion from another. 
Subtract(Quaternion, Quaternion) Creates a new Quaternion that contains subtraction of one Quaternion from another. 
ToString Returns a System.String representation of this Quaternion in the format: {X:[X] Y:[Y] Z:[Z] W:[W]} (Overrides ValueType.ToString().)
ToVector4 Gets a Vector4 representation for this object. 
Top
  Platforms Name Description
Addition Adds two quaternions. 
Division Divides a Quaternion by the other Quaternion
Equality Compares whether two Quaternion instances are equal. 
Inequality Compares whether two Quaternion instances are not equal. 
Multiply(Quaternion, Quaternion) Multiplies two quaternions. 
Multiply(Quaternion, float) Multiplies the components of quaternion by a scalar. 
Subtraction Subtracts a Quaternion from a Quaternion
UnaryNegation Flips the sign of the all the quaternion components. 
Top
Supported in:

    
 Windows DirectX Desktop
    
 Linux Desktop
    
 Windows OpenGL Desktop
    
 Web