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.
54 lines
1.7 KiB
54 lines
1.7 KiB
var test = require('tape').test
|
|
|
|
var mat = require('gl-mat4')
|
|
var decompose = require('./')
|
|
|
|
test("decompose a 3D matrix", function(t) {
|
|
var m = mat.create()
|
|
var translate = [0,0,0],
|
|
scale = [0,0,0],
|
|
skew = [0,0,0],
|
|
perspective = [0,0,0,1],
|
|
quaternion = [0,0,0,1]
|
|
|
|
var valid = decompose(m)
|
|
t.equal(valid, true, 'can be decomposed')
|
|
|
|
mat.identity(m)
|
|
mat.translate(m, m, [-5, 2, 10])
|
|
decompose(m, translate)
|
|
t.deepEqual(translate, [-5, 2, 10], 'extracts translation')
|
|
|
|
mat.identity(m)
|
|
mat.scale(m, m, [1, 0, 5])
|
|
decompose(m, translate, scale)
|
|
t.deepEqual(scale, [1, 0, 5], 'extracts scale')
|
|
|
|
mat.identity(m)
|
|
mat.rotateX(m, m, Math.PI)
|
|
decompose(m, translate, scale, skew, perspective, quaternion)
|
|
t.deepEqual(quaternion, [1, 0, 0, 0], 'extracts rotation x')
|
|
|
|
mat.identity(m)
|
|
mat.rotateY(m, m, -Math.PI)
|
|
decompose(m, translate, scale, skew, perspective, quaternion)
|
|
t.deepEqual(quaternion, [0, -1, 0, 0], 'extracts rotation y')
|
|
|
|
mat.identity(m)
|
|
mat.rotateZ(m, m, -Math.PI)
|
|
decompose(m, translate, scale, skew, perspective, quaternion)
|
|
t.deepEqual(quaternion, [0, 0, -1, 0], 'extracts rotation z')
|
|
t.deepEqual(skew, [0,0,0], 'extracts skew')
|
|
|
|
mat.identity(m)
|
|
mat.translate(m, m, [10, 5, -50])
|
|
mat.scale(m, m, [0.25, 0.5, -0.5])
|
|
mat.rotateZ(m, m, -Math.PI)
|
|
decompose(m, translate, scale, skew, perspective, quaternion)
|
|
t.deepEqual(translate, [10,5,-50], 'extracts translation')
|
|
t.deepEqual(perspective, [0,0,0,1], 'extracts perspective')
|
|
t.deepEqual(scale, [-0.25,-0.5,-0.5], 'extracts scale')
|
|
t.deepEqual(quaternion, [0,0,0,1], 'extracts rotation')
|
|
|
|
t.end()
|
|
}) |