Package georegression.transform.se
Class SePointOps_F64
java.lang.Object
georegression.transform.se.SePointOps_F64
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic Point2D_F64
transform
(Se2_F64 se, double x, double y, @Nullable Point2D_F64 result) static void
transform
(Se2_F64 se, Point2D_F64[] points, int length) Applies a 2D special euclidean transform to an array of points.static Point2D_F64
transform
(Se2_F64 se, Point2D_F64 orig, @Nullable Point2D_F64 result) Applies a 2D special euclidean transform to the point and stores the results in another variable.static void
transform
(Se2_F64 se, List<Point2D_F64> points) Applies a 2D special euclidean transform to a list of points.static Point3D_F64
transform
(Se3_F64 se, double x, double y, double z, double w, @Nullable Point3D_F64 dst) static Point4D_F64
transform
(Se3_F64 se, double x, double y, double z, double w, @Nullable Point4D_F64 dst) static Point3D_F64
transform
(Se3_F64 se, double x, double y, double z, @Nullable Point3D_F64 dst) static void
transform
(Se3_F64 se, Point3D_F64[] points, int start, int length) Applies a 3D special euclidean transform to a list of points.static Point3D_F64
transform
(Se3_F64 se, Point3D_F64 src, @Nullable Point3D_F64 dst) .static Point3D_F64
transform
(Se3_F64 se, Point4D_F64 src, @Nullable Point3D_F64 dst) .static Point4D_F64
transform
(Se3_F64 se, Point4D_F64 src, @Nullable Point4D_F64 dst) .static void
transform
(Se3_F64 se, List<Point3D_F64> points) Applies a 3D special euclidean transform to a list of points.static Point2D_F64
transformReverse
(Se2_F64 se, Point2D_F64 orig, @Nullable Point2D_F64 result) static Point4D_F64
transformReverse
(Se3_F64 se, double x, double y, double z, double w, @Nullable Point4D_F64 dst) static Point3D_F64
transformReverse
(Se3_F64 se, Point3D_F64 origPt, @Nullable Point3D_F64 tranPt) .static Point4D_F64
transformReverse
(Se3_F64 se, Point4D_F64 src, @Nullable Point4D_F64 dst) Applies the transform to points in homogenous coordinates.static Point3D_F64
transformV
(Se3_F64 se, double x, double y, double z, double w, @Nullable Point3D_F64 dst) static Point3D_F64
transformV
(Se3_F64 se, Point4D_F64 src, @Nullable Point3D_F64 dst) Applies the transform to src, but omits the last implicit last row in dst where dst.w = src.w
-
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
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
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
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
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 + TBoth 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]*pBoth 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]*pBoth 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.
-