Interface Transform<S extends Space,P extends Point<S,P>,H extends Hyperplane<S,P,H,I>,I extends SubHyperplane<S,P,H,I>,T extends Space,Q extends Point<T,Q>,F extends Hyperplane<T,Q,F,J>,J extends SubHyperplane<T,Q,F,J>>
- Type Parameters:
S
- Type of the origin space.P
- Type of the points in the origin space.H
- Type of the hyperplane in the origin space.I
- Type of the sub-hyperplane in the origin space.T
- Type of the destination sub-space.Q
- Type of the points in the destination sub-space.F
- Type of the hyperplane in the destination sub-space.J
- Type of the sub-hyperplane in the destination sub-space.
public interface Transform<S extends Space,P extends Point<S,P>,H extends Hyperplane<S,P,H,I>,I extends SubHyperplane<S,P,H,I>,T extends Space,Q extends Point<T,Q>,F extends Hyperplane<T,Q,F,J>,J extends SubHyperplane<T,Q,F,J>>
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 Details
-
apply
Transform a point of a space.- Parameters:
point
- point to transform- Returns:
- a new object representing the transformed point
-
apply
Transform an hyperplane of a space.- Parameters:
hyperplane
- hyperplane to transform- Returns:
- a new object representing the transformed hyperplane
-
apply
Transform a sub-hyperplane embedded in an hyperplane.- Parameters:
sub
- sub-hyperplane to transformoriginal
- 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
-