Incremental Delaunay triangulation data structure.
Warning This module has problems in >3D. For those cases you should use delaunay-triangulate instead.
var createTriangulation = require("incremental-delaunay")
//Create a 2D triangulation with some points
var triangulation = createTriangulation(2, [
[0,1],
[1,0],
[1,1]
])
//Insert some random point
triangulation.insert([1, 2])
//Get all points in the triangulation
console.log("points=", triangulation.points)
//Get all cells in the triangulation
console.log("cells=", triangulation.cells)
//Locate a triangle containing a point
console.log("located triangle=", triangulation.locate([0.5, 0.5]))
Example output:
points= [ [ -1e+30, -1e+30 ],
[ 1e+30, -1e+30 ],
[ 0, 1e+30 ],
[ 0, 1 ],
[ 1, 0 ],
[ 1, 1 ],
[ 1, 2 ] ]
cells= [ [ 5, 6, 3 ],
[ 3, 6, 2 ],
[ 6, 1, 2 ],
[ 5, 1, 6 ],
[ 4, 5, 3 ],
[ 4, 1, 5 ],
[ 3, 0, 4 ],
[ 0, 1, 4 ],
[ 0, 3, 2 ] ]
located triangle= [ 3, 0, 4 ]
var createTriangulation = require("incremental-delaunay")
var triangulation = createTriangulation(dimension, points)
Creates a triangulation
dimension
is the dimension of the ambient spacepoints
is an array of pointsReturns A DelaunayTriangulation
object
triangulation.cells
An array of all cells in the triangulation
triangulation.points
An array of all points in the triangulation
triangulation.insert(point)
Adds point
to the triangulation
triangulation.locate(point)
Returns the simplex containing point
(c) 2013-2014 Mikola Lysenko. MIT License