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.
47 lines
880 B
47 lines
880 B
4 years ago
|
module.exports = fromQuat;
|
||
|
|
||
|
/**
|
||
|
* Creates a matrix from a quaternion rotation.
|
||
|
*
|
||
|
* @param {mat4} out mat4 receiving operation result
|
||
|
* @param {quat4} q Rotation quaternion
|
||
|
* @returns {mat4} out
|
||
|
*/
|
||
|
function fromQuat(out, q) {
|
||
|
var x = q[0], y = q[1], z = q[2], w = q[3],
|
||
|
x2 = x + x,
|
||
|
y2 = y + y,
|
||
|
z2 = z + z,
|
||
|
|
||
|
xx = x * x2,
|
||
|
yx = y * x2,
|
||
|
yy = y * y2,
|
||
|
zx = z * x2,
|
||
|
zy = z * y2,
|
||
|
zz = z * z2,
|
||
|
wx = w * x2,
|
||
|
wy = w * y2,
|
||
|
wz = w * z2;
|
||
|
|
||
|
out[0] = 1 - yy - zz;
|
||
|
out[1] = yx + wz;
|
||
|
out[2] = zx - wy;
|
||
|
out[3] = 0;
|
||
|
|
||
|
out[4] = yx - wz;
|
||
|
out[5] = 1 - xx - zz;
|
||
|
out[6] = zy + wx;
|
||
|
out[7] = 0;
|
||
|
|
||
|
out[8] = zx + wy;
|
||
|
out[9] = zy - wx;
|
||
|
out[10] = 1 - xx - yy;
|
||
|
out[11] = 0;
|
||
|
|
||
|
out[12] = 0;
|
||
|
out[13] = 0;
|
||
|
out[14] = 0;
|
||
|
out[15] = 1;
|
||
|
|
||
|
return out;
|
||
|
};
|