pub struct SE3(/* private fields */);Expand description
SE(3) transformation represented as an isometry matrix.
An SE(3) transformation combines a rotation and a translation in 3D space. It combines a rotation matrix $R\in \text{SO}(3)$ and a translation vector $t \in \mathbb{R}^3$
Implementations§
Source§impl SE3
impl SE3
Sourcepub fn new(translation: Vector3D, axis_angle: Vector3D) -> Self
pub fn new(translation: Vector3D, axis_angle: Vector3D) -> Self
Creates a new SE(3) transformation from a rotation (given as axis-angle) and a translation.
Sourcepub fn from_parts(translation: Vector3D, rotation: SpatialRotation) -> Self
pub fn from_parts(translation: Vector3D, rotation: SpatialRotation) -> Self
Creates a new SE(3) transformation from a rotation and a translation.
Sourcepub fn identity() -> Self
pub fn identity() -> Self
Creates a new identity SE(3) transformation, with $R = I_3$ and $t = 0_3$.
Sourcepub fn translation(&self) -> Vector3D
pub fn translation(&self) -> Vector3D
Returns the translation component of the SE(3) transformation.
Sourcepub fn rotation(&self) -> SpatialRotation
pub fn rotation(&self) -> SpatialRotation
Returns the rotation component of the SE(3) transformation.
Sourcepub fn action_matrix(&self) -> Matrix6<f64>
pub fn action_matrix(&self) -> Matrix6<f64>
Computes the action matrix of the SE(3) transformation.
Mathematically, the action matrix is: $$\begin{bmatrix}R & [t]_X R \\ 0 & R\end{bmatrix}$$ where $R$ is the rotation matrix and $[t]_X$ is the skew-symmetric matrix of the translation vector $t$.
Sourcepub fn dual_matrix(&self) -> Matrix6<f64>
pub fn dual_matrix(&self) -> Matrix6<f64>
Computes the dual action matrix of the SE(3) transformation.
Mathematically, the action matrix is: $$\begin{bmatrix}R & 0 \\ [t]_X R & R\end{bmatrix}$$ where $R$ is the rotation matrix and $[t]_X$ is the skew-symmetric matrix of the translation vector $t$.
Sourcepub fn inv_matrix(&self) -> Matrix6<f64>
pub fn inv_matrix(&self) -> Matrix6<f64>
Computes the inverse of the action matrix of the SE(3) transformation.
Trait Implementations§
impl Copy for SE3
impl StructuralPartialEq for SE3
Auto Trait Implementations§
impl Freeze for SE3
impl RefUnwindSafe for SE3
impl Send for SE3
impl Sync for SE3
impl Unpin for SE3
impl UnsafeUnpin for SE3
impl UnwindSafe for SE3
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.