Package georegression.struct.se
Class SpecialEuclideanOps_F64
java.lang.Object
georegression.struct.se.SpecialEuclideanOps_F64
Various operations related to
SpecialEuclidean transformations.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Se3_F64axisXyz(double dx, double dy, double dz, double rotX, double rotY, double rotZ, @Nullable Se3_F64 se) Create SE3 using axis-angle for rotation and XYZ tanslationstatic booleanFinds the best fit projection of 'a' onto SE(3).static Se3_F64eulerXyz(double dx, double dy, double dz, double rotX, double rotY, double rotZ, @Nullable Se3_F64 se) Sets the value of anSe3_F64using Euler XYZ coordinates for the rotation and a translation vector.static Se3_F64eulerXyz(double dx, double dy, double dz, EulerType type, double rotX, double rotY, double rotZ, @Nullable Se3_F64 se) static booleanisIdentical(Se3_F64 a, Se3_F64 b, double tolT, double tolR) Can be used to see if two transforms are identical to within tolerancestatic Se3_F64quatXyz(double dx, double dy, double dz, double qw, double qx, double qy, double qz, @Nullable Se3_F64 se) static voidsetToNoMotion(Se3_F64 se) Sets the provided transform so that it does not transform any points.static Affine2D_F64toAffine(Se2_F64 se, @Nullable Affine2D_F64 affine) ConvertsSe2_F64intoAffine2D_F64.static DMatrixRMajtoHomogeneous(Se2_F64 se, @Nullable DMatrixRMaj ret) Converts it into a 3 by 3 homogeneous matrix.static DMatrixRMajtoHomogeneous(Se3_F64 se, @Nullable DMatrixRMaj ret) Converts it into a 4 by 4 homogeneous matrix.static Se2_F64toSe2(DMatrixRMaj H, @Nullable Se2_F64 ret) Converts a homogeneous representation intoSe2_F64.static Se3_F64toSe3(DMatrixRMaj H, @Nullable Se3_F64 ret) Converts a homogeneous representation intoSe3_F64.
-
Constructor Details
-
SpecialEuclideanOps_F64
public SpecialEuclideanOps_F64()
-
-
Method Details
-
setToNoMotion
Sets the provided transform so that it does not transform any points.- Parameters:
se- The transform which is to be set to no motion.
-
toAffine
ConvertsSe2_F64intoAffine2D_F64.- Parameters:
se- (Input) Se2affine- (Output) Equivalent affine. If null a new object will be declared.- Returns:
- Equivalent affine.
-
toHomogeneous
Converts it into a 4 by 4 homogeneous matrix.- Parameters:
se- original 3D transformret- Where the results will be written to. If null a new matrix is declared. Modified.- Returns:
- equivalent homogeneous transform.
-
toSe3
Converts a homogeneous representation intoSe3_F64.- Parameters:
H- Homogeneous 4 by 4 matrix.ret- If not null where the results are written to.- Returns:
- Se3_F64 transform.
-
toHomogeneous
Converts it into a 3 by 3 homogeneous matrix.- Parameters:
se- original 2D transformret- Where the results will be written to. If null a new matrix is declared. Modified.- Returns:
- equivalent homogeneous transform.
-
toSe2
Converts a homogeneous representation intoSe2_F64.- Parameters:
H- Homogeneous 3 by 3 matrix.ret- If not null where the results are written to.- Returns:
- Se3_F64 transform.
-
eulerXyz
public static Se3_F64 eulerXyz(double dx, double dy, double dz, double rotX, double rotY, double rotZ, @Nullable @Nullable Se3_F64 se) Sets the value of anSe3_F64using Euler XYZ coordinates for the rotation and a translation vector.- Parameters:
dx- Translation along x-axis.dy- Translation along y-axis.dz- Translation along z-axis.rotX- Rotation around X axis.rotY- Rotation around Y axis.rotZ- Rotation around Z axis.se- If not null then the transform is written here.- Returns:
- The transform.
-
eulerXyz
-
axisXyz
public static Se3_F64 axisXyz(double dx, double dy, double dz, double rotX, double rotY, double rotZ, @Nullable @Nullable Se3_F64 se) Create SE3 using axis-angle for rotation and XYZ tanslation- Parameters:
dx- Translation along x-axis.dy- Translation along y-axis.dz- Translation along z-axis.rotX- x-axis componentrotY- y-axis componentrotZ- z-axis componentse- If not null then the transform is written here.- Returns:
- The transform.
-
quatXyz
-
isIdentical
Can be used to see if two transforms are identical to within tolerance- Parameters:
a- transformb- tranformtolT- Tolerance for translationtolR- Tolerance for rotation in radians- Returns:
- true if identical or false if not
-
bestFit
Finds the best fit projection of 'a' onto SE(3). This is useful when a was estimated using a linear algorithm.See page 280 of "An Invitation to 3-D Vision, From Images to Geometric Models" 1st Ed. 2004. Springer.
- Parameters:
a- Approximate SE(3). Modified.- Returns:
- true if successful
-