Algorithm
Development Kit 1.0

algs.model.problems.convexhull.andrew
Class ConvexHullScan

java.lang.Object
  extended by algs.model.problems.convexhull.andrew.ConvexHullScan
All Implemented Interfaces:
IConvexHull

public class ConvexHullScan
extends java.lang.Object
implements IConvexHull

Computes Convex Hull following Andrew's Algorithm. This algorithm is described in the text.

Since:
1.0
Version:
1.0, 6/15/08
Author:
George Heineman

Constructor Summary
ConvexHullScan()
           
 
Method Summary
 IPoint[] compute(IPoint[] points)
          Use Andrew's algorithm to return the computed convex hull for the input set of points.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConvexHullScan

public ConvexHullScan()
Method Detail

compute

public IPoint[] compute(IPoint[] points)
Use Andrew's algorithm to return the computed convex hull for the input set of points.

Points must have at least three points to do anything meaningful. If it does not, then the sorted array is returned as the "hull".

This algorithm will still work if duplicate points are found in the input set of points.

Specified by:
compute in interface IConvexHull
Parameters:
points - a set of (n ≥ 3) two dimensional points.

Algorithm Development Kit 1.0

This code supports the Algorithms in a Nutshell book, published by O'Reilly Media, Inc. in November 2008. Please visit the book web page to learn of any changes to the code repository or to record a potential defect.