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.
45 lines
743 B
45 lines
743 B
module.exports = fromQuat
|
|
|
|
/**
|
|
* Calculates a 3x3 matrix from the given quaternion
|
|
*
|
|
* @alias mat3.fromQuat
|
|
* @param {mat3} out mat3 receiving operation result
|
|
* @param {quat} q Quaternion to create matrix from
|
|
*
|
|
* @returns {mat3} out
|
|
*/
|
|
function fromQuat(out, q) {
|
|
var x = q[0]
|
|
var y = q[1]
|
|
var z = q[2]
|
|
var w = q[3]
|
|
|
|
var x2 = x + x
|
|
var y2 = y + y
|
|
var z2 = z + z
|
|
|
|
var xx = x * x2
|
|
var yx = y * x2
|
|
var yy = y * y2
|
|
var zx = z * x2
|
|
var zy = z * y2
|
|
var zz = z * z2
|
|
var wx = w * x2
|
|
var wy = w * y2
|
|
var wz = w * z2
|
|
|
|
out[0] = 1 - yy - zz
|
|
out[3] = yx - wz
|
|
out[6] = zx + wy
|
|
|
|
out[1] = yx + wz
|
|
out[4] = 1 - xx - zz
|
|
out[7] = zy - wx
|
|
|
|
out[2] = zx - wy
|
|
out[5] = zy + wx
|
|
out[8] = 1 - xx - yy
|
|
|
|
return out
|
|
}
|
|
|