Class SePointOps_F64

java.lang.Object
georegression.transform.se.SePointOps_F64

public class SePointOps_F64 extends Object
  • Constructor Details

    • SePointOps_F64

      public SePointOps_F64()
  • Method Details

    • transform

      public static Point2D_F64 transform(Se2_F64 se, Point2D_F64 orig, @Nullable @Nullable Point2D_F64 result)
      Applies a 2D special euclidean transform to the point and stores the results in another variable.
      Parameters:
      se - The transform.
      orig - Original point being transformed. Not modified.
      result - Where the results are stored. Can be the same as orig. If null a new instance is created. Modified.
      Returns:
      Transformed point.
    • transform

      public static Point2D_F64 transform(Se2_F64 se, double x, double y, @Nullable @Nullable Point2D_F64 result)
    • transformReverse

      public static Point2D_F64 transformReverse(Se2_F64 se, Point2D_F64 orig, @Nullable @Nullable Point2D_F64 result)
    • transform

      public static void transform(Se2_F64 se, Point2D_F64[] points, int length)
      Applies a 2D special euclidean transform to an array of points.
      Parameters:
      se - The transform.
      points - Array of points which are to be transformed. Modified.
      length - The number of elements in the array that are to be processed.
    • transform

      public static void transform(Se2_F64 se, List<Point2D_F64> points)
      Applies a 2D special euclidean transform to a list of points.
      Parameters:
      se - The transform.
      points - List of points which are to be transformed. Modified.
    • transform

      public static void transform(Se3_F64 se, Point3D_F64[] points, int start, int length)
      Applies a 3D special euclidean transform to a list of points.
      Parameters:
      se - The transform.
      points - List of points which are to be transformed. Modified.
    • transform

      public static void transform(Se3_F64 se, List<Point3D_F64> points)
      Applies a 3D special euclidean transform to a list of points.
      Parameters:
      se - The transform.
      points - List of points which are to be transformed. Modified.
    • transform

      public static Point3D_F64 transform(Se3_F64 se, Point3D_F64 src, @Nullable @Nullable Point3D_F64 dst)

      . Applies the transform specified by SpecialEuclidean to a point.

      p' = R*p + T

      Both origPt and tranPt can be the same instance.

      Parameters:
      se - SpecialEuclidean transform. Not modified.
      src - Original coordinate of the point. Not modified.
      dst - Storage for transformed coordinate of the point. Point declared if null. Modified.
      Returns:
      Transformed point.
    • transform

      public static Point3D_F64 transform(Se3_F64 se, double x, double y, double z, @Nullable @Nullable Point3D_F64 dst)
    • transform

      public static Point3D_F64 transform(Se3_F64 se, Point4D_F64 src, @Nullable @Nullable Point3D_F64 dst)

      . Applies rigid body motion to a point. The homogeneous coordinate is converted into a cartesian coordinate. This will not handle points at infinity. A NaN will be produced.

      p' = [R t]*p

      Both origPt and tranPt can be the same instance.

      Parameters:
      se - SpecialEuclidean transform. Not modified.
      src - Original coordinate of the point. Not modified.
      dst - Storage for transformed coordinate of the point. Point declared if null. Modified.
      Returns:
      Transformed point.
    • transform

      public static Point3D_F64 transform(Se3_F64 se, double x, double y, double z, double w, @Nullable @Nullable Point3D_F64 dst)
    • transformV

      public static Point3D_F64 transformV(Se3_F64 se, Point4D_F64 src, @Nullable @Nullable Point3D_F64 dst)
      Applies the transform to src, but omits the last implicit last row in dst where dst.w = src.w
    • transformV

      public static Point3D_F64 transformV(Se3_F64 se, double x, double y, double z, double w, @Nullable @Nullable Point3D_F64 dst)
    • transform

      public static Point4D_F64 transform(Se3_F64 se, Point4D_F64 src, @Nullable @Nullable Point4D_F64 dst)

      . Applies the transform specified by SpecialEuclidean to a homogenous point.

      p' = [R t]*p

      Both origPt and tranPt can be the same instance.

      Parameters:
      se - SpecialEuclidean transform. Not modified.
      src - Original coordinate of the point. Not modified.
      dst - Storage for transformed coordinate of the point. Point declared if null. Modified.
      Returns:
      Transformed point.
    • transform

      public static Point4D_F64 transform(Se3_F64 se, double x, double y, double z, double w, @Nullable @Nullable Point4D_F64 dst)
    • transformReverse

      public static Point4D_F64 transformReverse(Se3_F64 se, Point4D_F64 src, @Nullable @Nullable Point4D_F64 dst)
      Applies the transform to points in homogenous coordinates.
      Parameters:
      se - SpecialEuclidean transform. Not modified.
      src - Original coordinate of the point. Not modified.
      dst - Storage for transformed coordinate of the point. Point declared if null. Modified.
      Returns:
      Transformed point.
    • transformReverse

      public static Point4D_F64 transformReverse(Se3_F64 se, double x, double y, double z, double w, @Nullable @Nullable Point4D_F64 dst)
    • transformReverse

      public static Point3D_F64 transformReverse(Se3_F64 se, Point3D_F64 origPt, @Nullable @Nullable Point3D_F64 tranPt)

      . Applies the transform in the reverse direction

      p = RT*(p'-T)

      Both origPt and tranPt can be the same instance.

      Parameters:
      se - SpecialEuclidean transform.
      origPt - Original coordinate of the point.
      tranPt - Transformed coordinate of the point.