Class ConvexHull3D
java.lang.Object
org.episteme.core.mathematics.geometry.ConvexHull3D
3D Convex Hull implementation using the Quickhull algorithm.
Time complexity: O(n log n) average case, O(n²) worst case.
The Quickhull algorithm:
- Find extreme points to form initial tetrahedron
- Partition remaining points by which face they're "above"
- Recursively process each face with associated points
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classRepresents a triangular face of the hull. -
Method Summary
Modifier and TypeMethodDescriptionstatic List<ConvexHull3D.Face> Computes the 3D convex hull of a set of points.static ConvexPolyhedron3DcomputePolyhedron(List<Point3D> points) Creates a ConvexPolyhedron3D from the hull.static RealcomputeSurfaceArea(List<Point3D> points) Computes the surface area of the convex hull.static RealcomputeVolume(List<Point3D> points) Computes the volume of the convex hull.static booleanChecks if a point is inside the convex hull.
-
Method Details
-
compute
Computes the 3D convex hull of a set of points.- Parameters:
points- input points- Returns:
- list of triangular faces forming the hull
-
computePolyhedron
Creates a ConvexPolyhedron3D from the hull.- Parameters:
points- the input points- Returns:
- a convex polyhedron boundary
-
computeVolume
-
computeSurfaceArea
-
contains
-