node-red-contrib-tak-registration
Version:
A Node-RED node to register to TAK and to help wrap files as datapackages to send to TAK
38 lines (29 loc) • 830 B
JavaScript
function Utils() {
}
KMEANS.prototype.getRandomVector = function(extremes) {
var maxDim = extremes.length;
var x = [];
var r = 0;
// calculate radius of n-sphere which covers all points in dataset
var nSphereRadius = 0;
for (var i = 0; i < maxDim; i++) {
var extreme = extremes[i];
var er = Math.max(extreme.center - extreme.min, extreme.center - extreme.max);
if (er > nSphereRadius)
nSphereRadius = er;
}
for (var i = 0; i < maxDim; i++) {
var val = (Math.random() * 2) - 1;
// adjust to radius of n-sphere
x.push(val);
r += val * val;
}
r = Math.sqrt(r);
for (var i = 0; i < maxDim; i++) {
x[i] /= r;
// resize to fit n-sphere
x[i] *= nSphereRadius;
x[i] += extremes[i].center;
}
return x;
}