symforce.geo.rot2 module¶
- class Rot2(z=None)[source]¶
Bases:
LieGroup
Group of two-dimensional orthogonal matrices with determinant
+1
, representing rotations in 2D space. Backed by a complex number.- Parameters:
z (T.Optional[Complex]) –
- to_storage()[source]¶
Flat list representation of the underlying storage, length of
storage_dim()
. This is used purely for plumbing, it is NOT like a tangent space.
- classmethod from_storage(vec)[source]¶
Construct from a flat list representation. Opposite of
to_storage()
.
- classmethod symbolic(name, **kwargs)[source]¶
Construct a symbolic element with the given name prefix. Kwargs are forwarded to
sf.Symbol
(for example, sympy assumptions).
- classmethod from_tangent(v, epsilon=0.0)[source]¶
Mapping from the tangent space vector about identity into a group element.
- to_tangent(epsilon=0.0)[source]¶
Mapping from this element to the tangent space vector about identity.
- storage_D_tangent()[source]¶
Note: generated from
symforce/notebooks/storage_D_tangent.ipynb
- Return type:
- tangent_D_storage()[source]¶
Note: generated from
symforce/notebooks/tangent_D_storage.ipynb
- Return type:
- classmethod from_angle(theta)[source]¶
Create a Rot2 from an angle
theta
in radiansThis is equivalent to
from_tangent([theta])
- to_angle(epsilon=0.0)[source]¶
Get the angle of this Rot2 in radians
This is equivalent to
to_tangent()[0]
- to_rotation_matrix()[source]¶
A matrix representation of this element in the Euclidean space that contains it.
- Return type:
- classmethod from_rotation_matrix(r)[source]¶
Create a Rot2 from a 2x2 rotation matrix.
Returns the closest Rot2 to the input matrix, by the Frobenius norm. Will be singular when
r[0, 0] == -r[1, 1]
andr[0, 1] == r[1, 0]
are both true.See notebooks/rot2_from_rotation_matrix_derivation.ipynb for the derivation.