Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var alpha = this.deviceOrientation.alpha ? THREE.Math.degToRad( this.deviceOrientation.alpha ) + this.alphaOffsetAngle : 0; // Z
- var beta = this.deviceOrientation.beta ? THREE.Math.degToRad( this.deviceOrientation.beta ) + this.betaOffsetAngle : 0; // X'
- var gamma = this.deviceOrientation.gamma ? THREE.Math.degToRad( this.deviceOrientation.gamma ) + this.gammaOffsetAngle : 0; // Y''
- var orient = this.screenOrientation ? THREE.Math.degToRad( this.screenOrientation ) : 0; // O
- this.setObjectQuaternion( this.object.rotation, this.object.quaternion, alpha, beta, gamma, orient );
- this.alpha = alpha;
- this.setObjectQuaternion = function() {
- var zee = new THREE.Vector3( 0, 0, 1 );
- var euler = new THREE.Euler();
- var q0 = new THREE.Quaternion();
- var q1 = new THREE.Quaternion( - Math.sqrt( 0.5 ), 0, 0, Math.sqrt(0.5) ); // - PI/2 around the x-axis
- return function( rotation,quaternion, alpha, beta, gamma, orient ) {
- ///////////////////////////////
- rotation.x = beta;
- rotation.y = gamma
- rotation.z = alpha;
- this.vec.copy(viewer.scene.getActiveCamera().getWorldDirection());
- viewer.scene.view.direction = this.vec;
- ////////////////////////////////
- // euler.set( beta, gamma, - alpha, 'YXZ' ); // 'ZXY' for the device, but 'YXZ' for us
- // quaternion.setFromEuler( euler ); // orient the device
- // quaternion.multiply( q1 ); // camera looks out the back of the device, not the top
- quaternion.multiply( q0.setFromAxisAngle( zee, - orient ) ); // adjust for screen orientation
- // document.getElementById('area').value = 'alpha: ' + beta.toFixed(5) + ' beta: ' + gamma.toFixed(5) + ' gamma: ' + alpha.toFixed(5) ;
- // document.getElementById('area').value = 'X : ' + beta.toFixed(5) + ' Y ' + gamma.toFixed(5) + ' Z: ' + alpha.toFixed(5) ;
- // document.getElementById('area').value = "alphaoffset:" + this.alphaOffsetAngle + " betaoffset:" + this.betaOffsetAngle + " gammaoffset:" + this.gammaOffsetAngle;
- }
- }();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement