Class Quaternion_F64

java.lang.Object
georegression.struct.so.Quaternion_F64
All Implemented Interfaces:
Serializable

public class Quaternion_F64 extends Object implements Serializable

Specifies a 3D rotation using a quaternion. q = w + x*i + y*j + z*k, where (w,x,y,z) are the parameters of the quaternion and (i,j,k) are unit vectors representing the Cartesian axis.

If the quaternion is a unit quaternion then the following is true:
q = cos(theta/2) + (x*i + y*j + z*k)*sin(theta/2)
where 'theta' is the angle of rotation, (x,y,z) is the unit axis of rotation.

See Also:
  • Field Details

    • w

      public double w
      Describes the angle of rotation. See above for how it is encoded.
    • x

      public double x
      Axis of rotation
    • y

      public double y
      Axis of rotation
    • z

      public double z
      Axis of rotation
  • Constructor Details

    • Quaternion_F64

      public Quaternion_F64()
    • Quaternion_F64

      public Quaternion_F64(double w, double x, double y, double z)
  • Method Details

    • setTo

      public Quaternion_F64 setTo(Quaternion_F64 quaternion)
    • setTo

      public Quaternion_F64 setTo(double w, double x, double y, double z)
    • normalize

      public void normalize()
      Converts the quaternion into a unit quaternion.
    • norm

      public double norm()
      Returns the f-norm of this quaternion
    • isIdentical

      public boolean isIdentical(Quaternion_F64 q, double tol)
      Returns true if the two quaternions are identical. Note that they might be equivalent and fail this test
    • toString

      public String toString()
      Overrides:
      toString in class Object