|
constexpr | Rotation3d ()=default |
| Constructs a Rotation3d representing no rotation.
|
|
constexpr | Rotation3d (const Quaternion &q) |
| Constructs a Rotation3d from a quaternion.
|
|
constexpr | Rotation3d (units::radian_t roll, units::radian_t pitch, units::radian_t yaw) |
| Constructs a Rotation3d from extrinsic roll, pitch, and yaw.
|
|
constexpr | Rotation3d (const Eigen::Vector3d &axis, units::radian_t angle) |
| Constructs a Rotation3d with the given axis-angle representation.
|
|
constexpr | Rotation3d (const Eigen::Vector3d &rvec) |
| Constructs a Rotation3d with the given rotation vector representation.
|
|
constexpr | Rotation3d (const Eigen::Matrix3d &rotationMatrix) |
| Constructs a Rotation3d from a rotation matrix.
|
|
constexpr | Rotation3d (const Eigen::Vector3d &initial, const Eigen::Vector3d &final) |
| Constructs a Rotation3d that rotates the initial vector onto the final vector.
|
|
constexpr | Rotation3d (const Rotation2d &rotation) |
| Constructs a 3D rotation from a 2D rotation in the X-Y plane.
|
|
constexpr Rotation3d | operator+ (const Rotation3d &other) const |
| Adds two rotations together.
|
|
constexpr Rotation3d | operator- (const Rotation3d &other) const |
| Subtracts the new rotation from the current rotation and returns the new rotation.
|
|
constexpr Rotation3d | operator- () const |
| Takes the inverse of the current rotation.
|
|
constexpr Rotation3d | operator* (double scalar) const |
| Multiplies the current rotation by a scalar.
|
|
constexpr Rotation3d | operator/ (double scalar) const |
| Divides the current rotation by a scalar.
|
|
constexpr bool | operator== (const Rotation3d &other) const |
| Checks equality between this Rotation3d and another object.
|
|
constexpr Rotation3d | RotateBy (const Rotation3d &other) const |
| Adds the new rotation to the current rotation.
|
|
constexpr const Quaternion & | GetQuaternion () const |
| Returns the quaternion representation of the Rotation3d.
|
|
constexpr units::radian_t | X () const |
| Returns the counterclockwise rotation angle around the X axis (roll).
|
|
constexpr units::radian_t | Y () const |
| Returns the counterclockwise rotation angle around the Y axis (pitch).
|
|
constexpr units::radian_t | Z () const |
| Returns the counterclockwise rotation angle around the Z axis (yaw).
|
|
constexpr Eigen::Vector3d | Axis () const |
| Returns the axis in the axis-angle representation of this rotation.
|
|
constexpr units::radian_t | Angle () const |
| Returns the angle in the axis-angle representation of this rotation.
|
|
constexpr Eigen::Matrix3d | ToMatrix () const |
| Returns rotation matrix representation of this rotation.
|
|
constexpr Eigen::Vector3d | ToVector () const |
| Returns rotation vector representation of this rotation.
|
|
constexpr Rotation2d | ToRotation2d () const |
| Returns a Rotation2d representing this Rotation3d projected into the X-Y plane.
|
|
A rotation in a 3D coordinate frame represented by a quaternion.
frc::Rotation3d::Rotation3d |
( |
units::radian_t | roll, |
|
|
units::radian_t | pitch, |
|
|
units::radian_t | yaw ) |
|
inlineconstexpr |
Constructs a Rotation3d from extrinsic roll, pitch, and yaw.
Extrinsic rotations occur in that order around the axes in the fixed global frame rather than the body frame.
Angles are measured counterclockwise with the rotation axis pointing "out
of the page". If you point your right thumb along the positive axis direction, your fingers curl in the direction of positive rotation.
- Parameters
-
roll | The counterclockwise rotation angle around the X axis (roll). |
pitch | The counterclockwise rotation angle around the Y axis (pitch). |
yaw | The counterclockwise rotation angle around the Z axis (yaw). |
Adds the new rotation to the current rotation.
The other rotation is applied extrinsically, which means that it rotates around the global axes. For example, Rotation3d{90_deg, 0, 0}.RotateBy(Rotation3d{0, 45_deg, 0}) rotates by 90 degrees around the +X axis and then by 45 degrees around the global +Y axis. (This is equivalent to Rotation3d{90_deg, 45_deg, 0})
- Parameters
-
other | The extrinsic rotation to rotate by. |
- Returns
- The new rotated Rotation3d.