- Type Parameters:
S
- Type of the embedding space.P
- Type of the points in the embedding space.T
- Type of the embedded sub-space.Q
- Type of the points in the embedded sub-space.
public interface Embedding<S extends Space,P extends Point<S,P>,T extends Space,Q extends Point<T,Q>>
This interface defines mappers between a space and one of its sub-spaces.
Sub-spaces are the lower dimensions subsets of a n-dimensions
space. The (n-1)-dimension sub-spaces are specific sub-spaces known
as hyperplanes
. This interface can be used regardless
of the dimensions differences. As an example, Line
in 3D
implements Embedding< Vector3D
, Vector1D
>, i.e. it
maps directly dimensions 3 and 1.
In the 3D euclidean space, hyperplanes are 2D planes, and the 1D sub-spaces are lines.
Note that this interface is not intended to be implemented by Hipparchus users, it is only intended to be implemented within the library itself. New methods may be added even for minor versions, which breaks compatibility for external implementations.
- See Also:
-
Method Details
-
toSubSpace
Transform a space point into a sub-space point.- Parameters:
point
- n-dimension point of the space- Returns:
- (n-1)-dimension point of the sub-space corresponding to the specified space point
- See Also:
-
toSpace
Transform a sub-space point into a space point.- Parameters:
point
- (n-1)-dimension point of the sub-space- Returns:
- n-dimension point of the space corresponding to the specified sub-space point
- See Also:
-