# se3

## Description

The `se3`

object represents an SE(3) transformation as a
3-D homogeneous transformation matrix consisting of a translation and rotation:

For more information, see the 3-D Homogeneous Transformation Matrix section.

This object acts like a numerical matrix enabling you to compose poses using multiplication and division.

## Creation

### Syntax

### Description

#### Rotation Matrices, Translation Vectors, and Transformation Matrices

`transformation = se3`

creates an SE(3) transformation
representing an identity rotation with no translation.

$$transformation=\left[\begin{array}{cccc}1& 0& 0& 0\\ 0& 1& 0& 0\\ 0& 0& 1& 0\\ 0& 0& 0& 1\end{array}\right]$$

`transformation = se3(`

creates an
SE(3) transformation representing a pure rotation defined by the orthonormal rotation
`rotation`

)`rotation`

with no translation. The rotation matrix is represented
by the elements in the top left of the `transformation`

matrix.

$$rotation=\left[\begin{array}{ccc}{r}_{11}& {r}_{12}& {r}_{13}\\ {r}_{11}& {r}_{22}& {r}_{23}\\ {r}_{31}& {r}_{32}& {r}_{33}\end{array}\right]$$

$$transformation=\left[\begin{array}{cccc}{r}_{11}& {r}_{12}& {r}_{13}& 0\\ {r}_{21}& {r}_{22}& {r}_{23}& 0\\ {r}_{31}& {r}_{32}& {r}_{33}& 0\\ 0& 0& 0& 1\end{array}\right]$$

`transformation = se3(`

creates an SE(3) transformation representing a rotation defined by the orthonormal
rotation `rotation`

,`translation`

)`rotation`

and the translation
`translation`

. The function applies the rotation matrix first, then
translation vector to create the transformation.

$$rotation=\left[\begin{array}{ccc}{r}_{11}& {r}_{12}& {r}_{13}\\ {r}_{11}& {r}_{22}& {r}_{23}\\ {r}_{31}& {r}_{32}& {r}_{33}\end{array}\right]$$, $$translation=\left[\begin{array}{c}{t}_{1}\\ {t}_{2}\\ {t}_{3}\end{array}\right]$$

$$transformation=\left[\begin{array}{cccc}{r}_{11}& {r}_{12}& {r}_{13}& {t}_{1}\\ {r}_{21}& {r}_{22}& {r}_{23}& {t}_{2}\\ {r}_{31}& {r}_{32}& {r}_{33}& {t}_{3}\\ 0& 0& 0& 1\end{array}\right]=\left[\begin{array}{cccc}1& 0& 0& {t}_{1}\\ 0& 1& 0& {t}_{2}\\ 0& 0& 1& {t}_{3}\\ 0& 0& 0& 1\end{array}\right]\xb7\left[\begin{array}{cccc}{r}_{11}& {r}_{12}& {r}_{13}& 0\\ {r}_{21}& {r}_{22}& {r}_{23}& 0\\ {r}_{31}& {r}_{32}& {r}_{33}& 0\\ 0& 0& 0& 1\end{array}\right]$$

`transformation = se3(`

creates an SE(3) transformation representing a translation and rotation as defined by
the homogeneous transformation `transformation`

)`transformation`

.

#### Other 3-D Rotation Representations

`transformation = se3(`

creates
an SE(3) transformation from the rotations defined by the Euler angles
`euler`

,"eul")`euler`

.

`transformation = se3(`

creates
an SE(3) transformation from the rotations defined by the numeric quaternions
`quat`

,"quat")`quat`

.

`transformation = se3(`

creates an SE(3) transformation from the rotations defined by the axis-angle rotation
`axang`

,"axang")`axang`

.

`transformation = se3(___,`

creates an SE(3) transformation from the translation vector
`translation`

,"trvec")`translation`

along with any other type of rotation input
arguments.

#### Other Translations and Transformation Representations

`transformation = se3(`

creates an SE(3) transformation from the translation vector
`translation`

,"trvec")`translation`

.

`transformation = se3(`

creates an SE(3) transformation from the 3-D compact pose
`pose`

,"xyzquat")`pose`

.

**Note**

If any inputs contain more than one rotation, translation, or transformation, then the
output `transformation`

is an *N*-element array of
`se3`

objects corresponding to each of the *N*
input rotations, translations, or transformations.

### Input Arguments

## Object Functions

## Examples

## Algorithms

## Extended Capabilities

## Version History

**Introduced in R2022b**