script.js
include a backend library
by ruiss
JavaScript
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
module.exports = alphaShape
var ac = require('alpha-complex')
var bnd = require('simplicial-complex-boundary')
function alphaShape(alpha, points) {
return bnd(ac(alpha, points))
}
},{"alpha-complex":2,"simplicial-complex-boundary":25}],2:[function(require,module,exports){
'use strict'
module.exports = alphaComplex
var delaunay = require('delaunay-triangulate')
var circumradius = require('circumradius')
function alphaComplex(alpha, points) {
return delaunay(points).filter(function(cell) {
var simplex = new Array(cell.length)
for(var i=0; i<cell.length; ++i) {
simplex[i] = points[cell[i]]
}
return circumradius(simplex) * alpha < 1
})
}
},{"circumradius":3,"delaunay-triangulate":24}],3:[function(require,module,exports){
module.exports = circumradius
var circumcenter = require('circumcenter')
function circumradius(points) {
var center = circumcenter(points)
var avgDist = 0.0
for(var i=0; i<points.length; ++i) {
var p = points[i]
for(var j=0; j<center.length; ++j) {
avgDist += Math.pow(p[j] - center[j], 2)
}
}
return Math.sqrt(avgDist / points.length)
}
},{"circumcenter":4}],4:[function(require,module,exports){
"use strict"
var dup = require("dup")
var solve = require("robust-linear-solve")
function dot(a, b) {
var s = 0.0
var d = a.length
for(var i=0; i<d; ++i) {
s += a[i] * b[i]
}
return s
}
function barycentricCircumcenter(points) {
var N = points.length
if(N === 0) {
return []
}
var D =...