Save to my list
Unsave this
Created on
0
Mar 2014
Last activity
0
Dec 2015

Short Description

QuickHull library for Icy. Computes convex envelopes of random point sets in 2D or 3D.

Documentation

The QuickHull library for Icy implements 2D and 3D algorithns to calculate convex envelopes from a given (random) set of points.

The 2D version of the algorithm is detailed here (see "alternative method"): https://en.wikipedia.org/wiki/Quickhull

The 3D version of the algorithm is detailed here: https://www.cs.ubc.ca/~lloyd/java/quickhull3d.html

The easiest way to use the library from within Icy is via the Convexify ROI plug-in

The low-level API can be accessed as follows:

  • In 2D:
      List<Point2D> points = ...
// replace the list by its envelope
points = QuickHull2D.computeConvexEnvelope(points);
// Conveniently, a region of interest is easy to create
ROI2DPolygon polygon = new ROI2DPolygon(points);
  • In 3D:
     Point3d[] points = ...
QuickHull3D qhull3d = new QuickHull3D();
// build the envelope (nothing is returned)
qhull3d.build(points, points.length);
// The envelope is built as a mesh (faces and vertices), accessible via:
Point3d[] hullVertices = qhull3d.getVertices();
int[][] faces = qhull3d.getVertices();
// However, conveniently, a ROI can easily be obtained from the QuickHull3D object using
ROI3DPolygonalMesh mesh = new ROI3DPolygonalMesh(qhull3d);

 

Resources needing this

Leave a Review

Leave a review
Cancel review
View full changelog
Close changelog

Changelog

  • Version 1.0.0.0 • Released on: 2015-12-10 09:03:07
    Download
    Description:

    Adjusted error messages

  • Version 0.0.1.0 • Released on: 2014-03-04 17:38:57
    Download