Package arc.math

Class DelaunayTriangulator

java.lang.Object
arc.math.DelaunayTriangulator

public class DelaunayTriangulator extends Object
Delaunay triangulation. Adapted from Paul Bourke's triangulate: http://paulbourke.net/papers/triangulate/
  • Constructor Details

    • DelaunayTriangulator

      public DelaunayTriangulator()
  • Method Details

    • computeTriangles

      public ShortSeq computeTriangles(FloatSeq points, boolean sorted)
      See Also:
    • computeTriangles

      public ShortSeq computeTriangles(float[] polygon, boolean sorted)
      See Also:
    • computeTriangles

      public ShortSeq computeTriangles(float[] points, int offset, int count, boolean sorted)
      Triangulates the given point cloud to a list of triangle indices that make up the Delaunay triangulation.
      Parameters:
      points - x,y pairs describing points. Duplicate points will result in undefined behavior.
      sorted - If false, the points will be sorted by the x coordinate, which is required by the triangulation algorithm. If sorting is done the input array is not modified, the returned indices are for the input array, and count*2 additional working memory is needed.
      Returns:
      triples of indices into the points that describe the triangles in clockwise order. Note the returned array is reused for later calls to the same method.
    • trim

      public void trim(ShortSeq triangles, float[] points, float[] hull, int offset, int count)
      Removes all triangles with a centroid outside the specified hull, which may be concave. Note some triangulations may have triangles whose centroid is inside the hull but a portion is outside.