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 boolean
Checks 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:
true
if the vertices form a convex hull,false
otherwise
-
getVertices
Get the vertices of the convex hull.- Specified by:
getVertices
in 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:
createRegion
in 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
-