Package georegression.struct.so
Class Rodrigues_F64
java.lang.Object
georegression.struct.so.Rodrigues_F64
- All Implemented Interfaces:
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 Summary
-
Constructor Summary
ConstructorDescriptionRodrigues_F64
(double theta, double x, double y, double z) Constructor which specifies the transform using an unnormalized rotation axis.Rodrigues_F64
(double theta, Vector3D_F64 unitAxisRotation) Constructor which specifies the transform. -
Method Summary
Modifier and TypeMethodDescriptionvoid
setParamVector
(double x, double y, double z) Assign the Rodrigues coordinates using a 3 element vector.setTo
(Rodrigues_F64 src) void
setUnitAxisRotation
(Vector3D_F64 unitAxisRotation) toString()
-
Field Details
-
unitAxisRotation
-
theta
public double theta
-
-
Constructor Details
-
Rodrigues_F64
public Rodrigues_F64() -
Rodrigues_F64
Constructor which specifies the transform.- Parameters:
theta
- Angle of rotationunitAxisRotation
- 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 rotationx
- Axis of rotation. x-component.y
- Axis of rotation. y-component.z
- Axis of rotation. z-component.
-
-
Method Details
-
setTo
-
getUnitAxisRotation
-
setUnitAxisRotation
-
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 vectory
- y-component of 3 vectorz
- z-component of 3 vector
-
toString
-