Advertisement
Guest User

Untitled

a guest
Aug 17th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 KB | None | 0 0
  1. var alpha = this.deviceOrientation.alpha ? THREE.Math.degToRad( this.deviceOrientation.alpha ) + this.alphaOffsetAngle : 0; // Z
  2. var beta = this.deviceOrientation.beta ? THREE.Math.degToRad( this.deviceOrientation.beta ) + this.betaOffsetAngle : 0; // X'
  3. var gamma = this.deviceOrientation.gamma ? THREE.Math.degToRad( this.deviceOrientation.gamma ) + this.gammaOffsetAngle : 0; // Y''
  4. var orient = this.screenOrientation ? THREE.Math.degToRad( this.screenOrientation ) : 0; // O
  5. this.setObjectQuaternion( this.object.rotation, this.object.quaternion, alpha, beta, gamma, orient );
  6. this.alpha = alpha;
  7.  
  8. this.setObjectQuaternion = function() {
  9.  
  10. var zee = new THREE.Vector3( 0, 0, 1 );
  11.  
  12. var euler = new THREE.Euler();
  13.  
  14. var q0 = new THREE.Quaternion();
  15.  
  16. var q1 = new THREE.Quaternion( - Math.sqrt( 0.5 ), 0, 0, Math.sqrt(0.5) ); // - PI/2 around the x-axis
  17.  
  18. return function( rotation,quaternion, alpha, beta, gamma, orient ) {
  19.  
  20. ///////////////////////////////
  21. rotation.x = beta;
  22. rotation.y = gamma
  23. rotation.z = alpha;
  24.  
  25. this.vec.copy(viewer.scene.getActiveCamera().getWorldDirection());
  26.  
  27. viewer.scene.view.direction = this.vec;
  28.  
  29. ////////////////////////////////
  30.  
  31. // euler.set( beta, gamma, - alpha, 'YXZ' ); // 'ZXY' for the device, but 'YXZ' for us
  32.  
  33. // quaternion.setFromEuler( euler ); // orient the device
  34.  
  35. // quaternion.multiply( q1 ); // camera looks out the back of the device, not the top
  36.  
  37.  
  38. quaternion.multiply( q0.setFromAxisAngle( zee, - orient ) ); // adjust for screen orientation
  39.  
  40. // document.getElementById('area').value = 'alpha: ' + beta.toFixed(5) + ' beta: ' + gamma.toFixed(5) + ' gamma: ' + alpha.toFixed(5) ;
  41. // document.getElementById('area').value = 'X : ' + beta.toFixed(5) + ' Y ' + gamma.toFixed(5) + ' Z: ' + alpha.toFixed(5) ;
  42. // document.getElementById('area').value = "alphaoffset:" + this.alphaOffsetAngle + " betaoffset:" + this.betaOffsetAngle + " gammaoffset:" + this.gammaOffsetAngle;
  43.  
  44.  
  45. }
  46.  
  47. }();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement