Nodes > Projects > Convex Hull Visualizer

# Convex Hull Visualizer

This is really a simple thing in order to demonstrate and test a known solution to the Convex-Hull problem. The solution used here is the Graham-scan, named after famous juggler mathematician and frequent Paul Erdos collaborator -- Ronald Graham

But more about Professor Graham in another post.

The convex-hull problem goes something like this: given a set of points, find the smallest convex shape that encloses all points. You can imagine taking a set of points, as say pegs/nails on a board, and putting a rubber band around them. In three dimensions, you can imagine a set of randomly spaced objects and wrapping them up in gift-wrap.

This simple project is a learning tool. It draws a random set of points using RaphaelJS, and then executes the Graham-scan to then draw the convex hull. It is an easy way of seeing this wonderful algorithm in action and proving at least to myself that it works as advertised.

Here are some improvements I never quite got around to making:

• Animate each step of the scan, really showing the process as it goes.
• Implement multiple other Convexhull algorithms to choose from a dropdown.
• Consider doing a version in 3d, perhaps using ThreeJS.