StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
StackGenVis/frontend/node_modules/compare-angle/test/test.js

51 lines
957 B

"use strict"
var tape = require("tape")
var compareAngle = require("../cmpangle")
var sgn = require("signum")
tape("compare-angle", function(t) {
var pts = [
[1, 1],
[0, 1],
[-1, 1],
[-1, 0],
[-1, -1],
[0, -1],
[1, -1],
[1, 0]
]
var a = [2,0]
var b = [0,0]
//det M[i] must be > 0
var M = [
[1, 0, 0, 1],
[2, 0, 0, 0.5],
[0, 1, -1, 0]
]
var X = [ [0,0], [10, 10], [-3, 1] ]
function xform(i, p) {
var m = M[i]
var x = X[i]
return [
x[0] + m[0]*p[0] + m[1]*p[1],
x[1] + m[2]*p[0] + m[3]*p[1]
]
}
for(var i=0; i<M.length; ++i) {
var ai = xform(i, a)
var bi = xform(i, b)
for(var j=0; j<pts.length; ++j) {
var ci = xform(i, pts[j])
for(var k=0; k<pts.length; ++k) {
var di = xform(i, pts[k])
t.equals(compareAngle(ai, bi, ci, di), sgn(j - k), "angle:" + ai + " " + bi + " " + ci + " " + di)
}
}
}
t.end()
})