"use strict"; var numeric = require("numeric"); var EPSILON = 1e-6; //General purpose algorithm, uses quadratic programming, very slow function closestPointnd(c, positions, x, result) { var D = numeric.rep([c.length, c.length], 0.0); var dvec = numeric.rep([c.length], 0.0); for(var i=0; i 0) { //Quadratic form may be singular, perturb and resolve for(var i=0; i