# Traslación, Rotación y Pose.

## Traslación

Translation in 2 dimensions is represented by WPILib’s Translation2d class (Java, C++). This class has an x and y component, representing the point $$(x, y)$$ or the vector $$\begin{bmatrix}x \\ y \end{bmatrix}$$ on a 2-dimensional coordinate system.

Usted puede obtener la distancia a otro objeto Translation2d al usar getDistance(Translation2d other), el cual regresa la distancia a otro Transalation2d al usar el teorema de Pitágoras.

Nota

Translation2d usa la Librería de Unidades C++. Si usted está planeando utilizar otras clases WPILib que usan Translation2d en Java, tal como el generador de trayectorias, asegúrese de usar metros.

## Rotación

Rotation in 2 dimensions is represented by WPILib’s Rotation2d class (Java, C++). This class has an angle component, which represents the robot’s rotation relative to an axis on a 2-dimensional coordinate system. Positive rotations are counterclockwise.

Nota

Rotation2d uses the C++ Units library. The constructor in Java accepts either the angle in radians, or the sine and cosine of the angle, but the fromDegrees method will construct a Rotation2d object from degrees.

Nota

Rotation2d does not wrap the value of the angle, so if a value of 400 degrees is passed into the constructor, then 400 degrees will be returned in subsequent value calls.

## Pose

Pose is a combination of both translation and rotation and is represented by the Pose2d class (Java, C++). It can be used to describe the pose of your robot in the field coordinate system, or the pose of objects, such as vision targets, relative to your robot in the robot coordinate system. Pose2d can also represent the vector $$\begin{bmatrix}x \\ y \\ \theta\end{bmatrix}$$.