我正在从传感器获取四元数坐标[x,y,z,w]。我想改变坐标,这样我就可以旋转我的React VR应用程序场景来旋转该场景。我需要将四元数坐标改为旋转坐标。但是这里的旋转是不平滑的,因为平滑的旋转“四元数坐标”必须转换为旋转。 import {VRInstance} from 'react-vr-web';
import scene from 'three.js';
//let us assume x,y,z,w are my coordinate in quaternion formate which I //am taking through web so
下面是jsFiddle中的完整代码:
围绕Y和Z旋转,就像我所期望的那样,对所有的过渡都是一样的。当我试图围绕X轴旋转时,看起来THREE.js正在做一些特别的事情来使它看起来“更酷”--但这不是我想要实现的。
阅读类似的主题,我确信这与我的rotateX函数有关:
camera.position.y = y * cos - z * sin;
camera.position.z = y * sin + z * cos;
camera.lookAt(scene.position);
当我启动3d世界时,我用以下值设置摄像机的坐标,只是为了保持所需的视图:
camera.position.x =