Package org.apache.commons.geometry.core.partitioning
This package contains code related to partitioning of spaces by hyperplanes.
A hyperplane is a subspace of dimension one less than its surrounding space. In Euclidean 3D space, the hyperplanes are 2-dimensional planes, while in Euclidean 2D space, the hyperplanes are 1-dimensional lines. Hyperplanes have the property that they partition the entire surrounding space into 3 distinct sets of points: (1) points lying on one side of the hyperplane, (2) points lying on the opposite side, and (3) points lying directly on the hyperplane itself. In order to differentiate between the two sides of the hyperplane, one side is labeled as the plus side and the other as the minus side. The plus side of a Euclidean plane, for example, lies in the direction of the plane normal.
-
ClassDescriptionBase class for convex hyperplane-bounded regions.AbstractConvexHyperplaneBoundedRegion.ConvexRegionBoundaryBuilder<P extends Point<P>,
S extends HyperplaneConvexSubset<P>> Internal class encapsulating the logic for building convex region boundaries from collections of hyperplanes.AbstractHyperplane<P extends Point<P>>Base class for hyperplane implementations.Simple implementation ofBoundarySource
containing boundaries stored in a list.Interface representing an object that can produce region boundaries as a stream of hyperplane convex subsets.Hyperplane that also embeds a subspace.Hyperplane<P extends Point<P>>Interface representing a hyperplane, which in a space of dimensionn
is a subspace of dimensionn - 1
.HyperplaneBoundedRegion<P extends Point<P>>Interface representing regions with boundaries defined by hyperplanes or portions of hyperplanes.HyperplaneConvexSubset<P extends Point<P>>Extension of theHyperplaneSubset
interface with the additional restriction that instances represent convex regions of space.Enumeration containing possible locations of a point with respect to a hyperplane.HyperplaneSubset<P extends Point<P>>Interface representing a subset of the points lying in a hyperplane.Split<T>Class containing the result of splitting an object with a hyperplane.Enumeration representing the location of a split object with respect to its splittinghyperplane
.Interface representing objects that can be split byHyperplane
s.