Class TLcdPanoramicTransformationFactory
ILcdModelModelTransformations
to be used in ILcdPanoramicImages
.
Source and destination coordinate systems (CS)
The source CS of the model-model transformations is a 3D topocentric CS. Its center is the focus point of the panoramic image, its axes are parallel to the axes of the model reference. For example, if the model reference is UTM, then the X axis will point east, the Y axis will point north and the Z axis will point up.
The destination CS is the 2D image CS, where:
- the origin is the lower-left corner of the image,
- the entire image plane is described within the range (0.0,0.0) to (1.0,1.0) (regardless of the image's width/height ratio).
Note: the setters for the transformation's source and target references are meaningless and will throw an UnsupportedOperationException.
Conversion between source and destination
When converting a point from the source CS to the destination CS, we lose depth information: all points on the same line going through the center of projection, will end on the same point in the destination CS.
The reverse transformation (from destination to source CS) converts a 2D point to a 3D point that lies on the
image plane, and must therefore be interpreted as a vector starting in the center of projection,
rather than as a real 3D coordinate.
For the calculations in the realm of the panoramic image API, conversions are indeed treated as a direction in
which is looked from the vantage point of the camera.
Information needed for creating transformations
Transforming points from a 3D reference CS to point in a 2D image CS, requires three elements:
- the projection type: this defines how the image plane is oriented and distorted relative to the camera CS;
- the camera pose: the position and orientation of the image camera relative to the reference CS;
- the internal camera parameters: like field of view, focal length, ..., which can vary for different projection types
This class provides static factory methods for creating transformation builders, based on the projection type. See the specific builders for more information on how to set the camera pose and internal parameters for each of them:
newPerspectiveTransformation()
for perspective (or so-called "pinhole") imagesnewSphericalTransformation()
for equirectangular images
- Since:
- 2020.1
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Builder for aILcdModelModelTransformations
that transform 3D reference CS points to 2D image CS points for perspective camera images ("pinhole images").static class
Builder for aILcdModelModelTransformations
that transform 3D reference CS points to 2D image CS points for spherical camera images ("equirectangular images"). -
Method Summary
Modifier and TypeMethodDescriptionCreates a builder for a perspective camera ("pinhole camera") transformation.Creates a builder for a spherical camera ("equirectangular") transformation.
-
Method Details
-
newPerspectiveTransformation
public static TLcdPanoramicTransformationFactory.PerspectiveTransformationBuilder newPerspectiveTransformation()Creates a builder for a perspective camera ("pinhole camera") transformation.- Returns:
- a new perspective transformation builder
-
newSphericalTransformation
public static TLcdPanoramicTransformationFactory.SphericalTransformationBuilder newSphericalTransformation()Creates a builder for a spherical camera ("equirectangular") transformation.- Returns:
- a new spherical transformation builder
-