alpha.js 397 B

12345678910111213141516
  1. 'use strict'
  2. module.exports = alphaComplex
  3. var delaunay = require('delaunay-triangulate')
  4. var circumradius = require('circumradius')
  5. function alphaComplex(alpha, points) {
  6. return delaunay(points).filter(function(cell) {
  7. var simplex = new Array(cell.length)
  8. for(var i=0; i<cell.length; ++i) {
  9. simplex[i] = points[cell[i]]
  10. }
  11. return circumradius(simplex) * alpha < 1
  12. })
  13. }