Interface Embedding<S extends Space,​T extends Space>

  • Type Parameters:
    S - Type of the embedding space.
    T - Type of the embedded sub-space.
    All Known Implementing Classes:
    Circle, Line, Line, Plane

    public interface Embedding<S extends Space,​T extends Space>
    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:
    Hyperplane
    • Method Detail

      • toSubSpace

        Point<T> toSubSpace​(Point<S> point)
        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(org.hipparchus.geometry.Point<T>)
      • toSpace

        Point<S> toSpace​(Point<T> point)
        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:
        toSubSpace(org.hipparchus.geometry.Point<S>)