Transforms in 2D

Transform 2D points between frames

py123d.geometry.transform.convert_absolute_to_relative_points_2d_array(origin, points_2d_array)[source]

Converts an absolute 2D point array from global to relative coordinates.

Parameters:
Return type:

ndarray[tuple[Any, ...], dtype[float64]]

Returns:

2D points array in relative coordinates

py123d.geometry.transform.convert_relative_to_absolute_points_2d_array(origin, points_2d_array)[source]

Converts relative 2D point array to absolute coordinates.

Parameters:
Return type:

ndarray[tuple[Any, ...], dtype[float64]]

Returns:

2D points array in absolute coordinates

py123d.geometry.transform.convert_points_2d_array_between_origins(from_origin, to_origin, points_2d_array)[source]

Converts 2D points from one origin frame to another origin frame.

Parameters:
Raises:

TypeError – If the origins are not PoseSE2 or np.ndarray.

Return type:

ndarray[tuple[Any, ...], dtype[float64]]

Returns:

The 2D points in the target origin frame, indexed by Point2DIndex.

Transform SE2 poses between frames

py123d.geometry.transform.convert_absolute_to_relative_se2_array(origin, pose_se2_array)[source]

Converts an StateSE2 array from global to relative coordinates.

Parameters:
Return type:

ndarray[tuple[Any, ...], dtype[float64]]

Returns:

SE2 array, index by PoseSE2Index, in last dim

py123d.geometry.transform.convert_relative_to_absolute_se2_array(origin, pose_se2_array)[source]

Converts an StateSE2 array from global to relative coordinates.

Parameters:
Return type:

ndarray[tuple[Any, ...], dtype[float64]]

Returns:

SE2 coords array in relative coordinates

py123d.geometry.transform.convert_se2_array_between_origins(from_origin, to_origin, se2_array)[source]

Converts an SE2 array from one origin frame to another origin frame.

Parameters:
Raises:

TypeError – If the origins are not PoseSE2 or np.ndarray.

Return type:

ndarray[tuple[Any, ...], dtype[float64]]

Returns:

The SE2 array in the target origin frame, indexed by PoseSE2Index.

Translation along frame axes

py123d.geometry.transform.translate_se2_along_body_frame(pose_se2, translation)[source]

Translate a single SE2 state along its local coordinate frame.

Parameters:
  • pose_se2 (PoseSE2) – SE2 state to translate

  • translation (Vector2D) – 2D translation in local frame (x: forward, y: left)

Return type:

PoseSE2

Returns:

translated SE2 state

py123d.geometry.transform.translate_se2_along_x(pose_se2, distance)[source]

Translate a single SE2 state along its local X-axis.

Parameters:
  • pose_se2 (PoseSE2) – SE2 state to translate

  • distance (float) – distance to translate along the local X-axis

Return type:

PoseSE2

Returns:

translated SE2 state

py123d.geometry.transform.translate_se2_along_y(pose_se2, distance)[source]

Translate a single SE2 state along its local Y-axis.

Parameters:
  • pose_se2 (PoseSE2) – SE2 state to translate

  • distance (float) – distance to translate along the local Y-axis

Return type:

PoseSE2

Returns:

translated SE2 state

py123d.geometry.transform.translate_se2_array_along_body_frame(pose_se2_array, translation)[source]

Translate an array of SE2 states along their respective local coordinate frames.

Parameters:
  • pose_se2_array (ndarray[tuple[Any, ...], dtype[float64]]) – array of SE2 states with (x,y,yaw) in last dim

  • translation (Vector2D) – 2D translation in local frame (x: forward, y: left)

Return type:

ndarray[tuple[Any, ...], dtype[float64]]

Returns:

translated SE2 array

py123d.geometry.transform.translate_2d_along_body_frame(points_2d, yaws, x_translate, y_translate)[source]

Translate 2D points along their body frame.

Parameters:
Return type:

ndarray[tuple[Any, ...], dtype[float64]]

Returns:

Array of translated 2D points, indexed by Point2DIndex.