- Object
-
- GrahamScan
-
- All Implemented Interfaces:
HullGenerator
public class GrahamScan extends Object implements HullGenerator
Implementation of the Graham Scan convex hull algorithm.This algorithm handles coincident and colinear points by ignoring them during processing. This ensures the produced hull will not have coincident or colinear vertices.
This algorithm is O(n log n) where n is the number of input points.
- Since:
- 2.2.0
- Version:
- 3.4.0
- Author:
- William Bittle
-
-
Constructor Summary
Constructors Constructor Description GrahamScan()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Vector2[]
generate(Vector2... points)
Returns a convex hull generated from the given point set in counter-clockwise point order.
-
-
-
Method Detail
-
generate
public Vector2[] generate(Vector2... points)
Description copied from interface:HullGenerator
Returns a convex hull generated from the given point set in counter-clockwise point order.Returns null if the given points array is null.
Returns the array unchanged if the length is less than or equal to 2.
- Specified by:
generate
in interfaceHullGenerator
- Parameters:
points
- the point set or cloud- Returns:
Vector2
[] the convex hull vertices
-
-