Class SpecialEuclideanOps_F64

java.lang.Object
georegression.struct.se.SpecialEuclideanOps_F64

public class SpecialEuclideanOps_F64 extends Object
Various operations related to SpecialEuclidean transformations.
  • Constructor Details

    • SpecialEuclideanOps_F64

      public SpecialEuclideanOps_F64()
  • Method Details

    • setToNoMotion

      public static void setToNoMotion(Se3_F64 se)
      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

      public static Affine2D_F64 toAffine(Se2_F64 se, @Nullable @Nullable Affine2D_F64 affine)
      Converts Se2_F64 into Affine2D_F64.
      Parameters:
      se - (Input) Se2
      affine - (Output) Equivalent affine. If null a new object will be declared.
      Returns:
      Equivalent affine.
    • toHomogeneous

      public static org.ejml.data.DMatrixRMaj toHomogeneous(Se3_F64 se, @Nullable @Nullable org.ejml.data.DMatrixRMaj ret)
      Converts it into a 4 by 4 homogeneous matrix.
      Parameters:
      se - original 3D transform
      ret - Where the results will be written to. If null a new matrix is declared. Modified.
      Returns:
      equivalent homogeneous transform.
    • toSe3

      public static Se3_F64 toSe3(org.ejml.data.DMatrixRMaj H, @Nullable @Nullable Se3_F64 ret)
      Converts a homogeneous representation into Se3_F64.
      Parameters:
      H - Homogeneous 4 by 4 matrix.
      ret - If not null where the results are written to.
      Returns:
      Se3_F64 transform.
    • toHomogeneous

      public static org.ejml.data.DMatrixRMaj toHomogeneous(Se2_F64 se, @Nullable @Nullable org.ejml.data.DMatrixRMaj ret)
      Converts it into a 3 by 3 homogeneous matrix.
      Parameters:
      se - original 2D transform
      ret - Where the results will be written to. If null a new matrix is declared. Modified.
      Returns:
      equivalent homogeneous transform.
    • toSe2

      public static Se2_F64 toSe2(org.ejml.data.DMatrixRMaj H, @Nullable @Nullable Se2_F64 ret)
      Converts a homogeneous representation into Se2_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 an Se3_F64 using 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

      public static Se3_F64 eulerXyz(double dx, double dy, double dz, EulerType type, double rotX, double rotY, double rotZ, @Nullable @Nullable Se3_F64 se)
    • 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 component
      rotY - y-axis component
      rotZ - z-axis component
      se - If not null then the transform is written here.
      Returns:
      The transform.
    • quatXyz

      public static Se3_F64 quatXyz(double dx, double dy, double dz, double qw, double qx, double qy, double qz, @Nullable @Nullable Se3_F64 se)
    • isIdentical

      public static boolean isIdentical(Se3_F64 a, Se3_F64 b, double tolT, double tolR)
      Can be used to see if two transforms are identical to within tolerance
      Parameters:
      a - transform
      b - tranform
      tolT - Tolerance for translation
      tolR - Tolerance for rotation in radians
      Returns:
      true if identical or false if not
    • bestFit

      public static boolean bestFit(Se3_F64 a)
      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