Class ConvexHull2D
java.lang.Object
org.apache.commons.math3.geometry.euclidean.twod.hull.ConvexHull2D
- All Implemented Interfaces:
Serializable,ConvexHull<Euclidean2D,Vector2D>
This class represents a convex hull in an two-dimensional euclidean space.
- Since:
- 3.3
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns a new region that is enclosed by the convex hull.Segment[]Get the line segments of the convex hull, ordered.Vector2D[]Get the vertices of the convex hull.private booleanChecks whether the given hull vertices form a convex hull.private Segment[]Retrieve the line segments from the cached array or create them if needed.
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerializable UID.- See Also:
-
vertices
Vertices of the hull. -
tolerance
private final double toleranceTolerance threshold used during creation of the hull vertices. -
lineSegments
Line segments of the hull. The array is not serialized and will be created from the vertices on first access.
-
-
Constructor Details
-
ConvexHull2D
Simple constructor.- Parameters:
vertices- the vertices of the convex hull, must be orderedtolerance- tolerance below which points are considered identical- Throws:
MathIllegalArgumentException- if the vertices do not form a convex hull
-
-
Method Details
-
isConvex
Checks whether the given hull vertices form a convex hull.- Parameters:
hullVertices- the hull vertices- Returns:
trueif the vertices form a convex hull,falseotherwise
-
getVertices
Get the vertices of the convex hull.- Specified by:
getVerticesin interfaceConvexHull<Euclidean2D,Vector2D> - Returns:
- vertices of the convex hull
-
getLineSegments
Get the line segments of the convex hull, ordered.- Returns:
- the line segments of the convex hull
-
retrieveLineSegments
Retrieve the line segments from the cached array or create them if needed.- Returns:
- the array of line segments
-
createRegion
Returns a new region that is enclosed by the convex hull.- Specified by:
createRegionin interfaceConvexHull<Euclidean2D,Vector2D> - Returns:
- the region enclosed by the convex hull
- Throws:
InsufficientDataException- if the number of vertices is not enough to build a region in the respective space
-