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

  • Type Parameters:
    S - Type of the embedding space.
    T - Type of the embedded sub-space.

    public interface Transform<S extends Space,​T extends Space>
    This interface represents an inversible affine transform in a space.

    Inversible affine transform include for example scalings, translations, rotations.

    Transforms are dimension-specific. The consistency rules between the three apply methods are the following ones for a transformed defined for dimension D:

    • the transform can be applied to a point in the D-dimension space using its apply(Point) method
    • the transform can be applied to a (D-1)-dimension hyperplane in the D-dimension space using its apply(Hyperplane) method
    • the transform can be applied to a (D-2)-dimension sub-hyperplane in a (D-1)-dimension hyperplane using its apply(SubHyperplane, Hyperplane, Hyperplane) method
    • Method Detail

      • apply

        Point<S> apply​(Point<S> point)
        Transform a point of a space.
        Parameters:
        point - point to transform
        Returns:
        a new object representing the transformed point
      • apply

        Hyperplane<S> apply​(Hyperplane<S> hyperplane)
        Transform an hyperplane of a space.
        Parameters:
        hyperplane - hyperplane to transform
        Returns:
        a new object representing the transformed hyperplane
      • apply

        SubHyperplane<T> apply​(SubHyperplane<T> sub,
                               Hyperplane<S> original,
                               Hyperplane<S> transformed)
        Transform a sub-hyperplane embedded in an hyperplane.
        Parameters:
        sub - sub-hyperplane to transform
        original - hyperplane in which the sub-hyperplane is defined (this is the original hyperplane, the transform has not been applied to it)
        transformed - hyperplane in which the sub-hyperplane is defined (this is the transformed hyperplane, the transform has been applied to it)
        Returns:
        a new object representing the transformed sub-hyperplane