# AlphaShapes.jl

Basic implementation of alpha shapes in 2+ dimensions

Travis | CodeCov | Doc |
---|---|---|

### Functionality:

AlphaShape is a function which returns the alpha shape from a set of N dimensional points

`AlphaShape(X;α=nothing,search=(0.0, 10.0),MaxSteps=100)`

Returns a list of triangles (3 by N+1) arrays with vertices addressed by [v,:].

Search is a tuple passed to the optimiser as the range of alpha values to search, whilst MaxSteps is the soft maximum number of steps the optimiser takes (may take many more if each iteration is very quick)

`AlphaShapeArea(A)`

Computes the area of the alpha shape from the triangulation returned from AlphaShape

### Usage:

Given a set of N-D points, X ~ npoints by N, compute the alpha shape (by automatically optimising alpha) using

`A = AlphaShape(X)`

To choose an alpha value simply pass it

`A = AlphaShape(X,α=1.0)`

### Deps:

- MiniQhull.jl for Delaunay Triangulations in any dimension
- BlackBoxOptim.jl for alpha value optimisation