Skip to content

mikolalysenko/incremental-delaunay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

incremental-delaunay

Incremental Delaunay triangulation data structure.

Warning This module has problems in >3D. For those cases you should use delaunay-triangulate instead.

Example

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 ]

API

var createTriangulation = require("incremental-delaunay")

Constructor

var triangulation = createTriangulation(dimension, points)

Creates a triangulation

  • dimension is the dimension of the ambient space
  • points is an array of points

Returns A DelaunayTriangulation object

Methods

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

Credits

(c) 2013-2014 Mikola Lysenko. MIT License

About

Constructs a Delaunay triangulation for a collection of points

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published