Class Rodrigues_F64

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

public class Rodrigues_F64 extends Object implements Serializable

Defines a 3D rotation based upon the axis of rotation and the angle of rotation in SO(3).

R(θ) = ew*θ
R(θ) = 1 + w*sin(θ) + w2*(1-cos(θ))
where θ is the angle of rotation, 'w' is a skew symmetric matrix around the axis of rotation.

See Also:
  • Field Details

    • unitAxisRotation

      public Vector3D_F64 unitAxisRotation
    • theta

      public double theta
  • Constructor Details

    • Rodrigues_F64

      public Rodrigues_F64()
    • Rodrigues_F64

      public Rodrigues_F64(double theta, Vector3D_F64 unitAxisRotation)
      Constructor which specifies the transform.
      Parameters:
      theta - Angle of rotation
      unitAxisRotation - Axis of rotation Must be normalized to 1.
    • Rodrigues_F64

      public Rodrigues_F64(double theta, double x, double y, double z)
      Constructor which specifies the transform using an unnormalized rotation axis.
      Parameters:
      theta - Angle of rotation
      x - Axis of rotation. x-component.
      y - Axis of rotation. y-component.
      z - Axis of rotation. z-component.
  • Method Details

    • setTo

      public Rodrigues_F64 setTo(Rodrigues_F64 src)
    • getUnitAxisRotation

      public Vector3D_F64 getUnitAxisRotation()
    • setUnitAxisRotation

      public void setUnitAxisRotation(Vector3D_F64 unitAxisRotation)
    • setParamVector

      public void setParamVector(double x, double y, double z)
      Assign the Rodrigues coordinates using a 3 element vector. Theta is the vector's magnitude and the axis of rotation is the unit vector.
      Parameters:
      x - x-component of 3 vector
      y - y-component of 3 vector
      z - z-component of 3 vector
    • toString

      public String toString()
      Overrides:
      toString in class Object