Skip to content

Instantly share code, notes, and snippets.

@mayakraft
Created April 17, 2020 00:35
Show Gist options
  • Save mayakraft/8d12172a673e9f7f65b1f2a8566e1f58 to your computer and use it in GitHub Desktop.
Save mayakraft/8d12172a673e9f7f65b1f2a8566e1f58 to your computer and use it in GitHub Desktop.
two
var degtorad = Math.PI / 180;
function makeRotationMatrix(alpha, beta, gamma) {
var _x = beta ? beta * degtorad : 0;
var _y = gamma ? gamma * degtorad : 0;
var _z = alpha ? alpha * degtorad : 0;
var cX = Math.cos( _x );
var cY = Math.cos( _y );
var cZ = Math.cos( _z );
var sX = Math.sin( _x );
var sY = Math.sin( _y );
var sZ = Math.sin( _z );
//
// ZXY-ordered rotation matrix construction.
//
var m11 = cZ * cY - sZ * sX * sY;
var m12 = - cX * sZ;
var m13 = cY * sZ * sX + cZ * sY;
var m21 = cY * sZ + cZ * sX * sY;
var m22 = cZ * cX;
var m23 = sZ * sY - cZ * cY * sX;
var m31 = - cX * sY;
var m32 = sX;
var m33 = cX * cY;
return [
m11, m12, m13, 0,
m21, m22, m23, 0,
m31, m32, m33, 0,
0, 0, 0, 1
];
};
function handleOrientation(e) {
let matrix = makeRotationMatrix(e.alpha, e.beta, e.gamma);
if (matrix) {
}
}
function getPermission() {
if (typeof DeviceOrientationEvent.requestPermission === "function") {
DeviceOrientationEvent.requestPermission()
.then(permissionState => {
if (permissionState === "granted") {
window.addEventListener("deviceorientation", handleOrientation);
}
}).catch(console.error);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment