按前面写过的四元数旋转 就是要构造一个q Pq-1代表了P绕轴转x度的一次旋转变换
threejs里面封装了 就不需要全部算了。就用个接口
threejs中,先构造一个q=setFromAxisAngle(axis, -angle)好像q就已经是得出一个qPq-1了。。乘原来的qua就直接得到新的qua
取得P=camera.quaternion 然后P multiply q,再归一化,最后把camera的四元数赋值为这个新计算出来的就好了
camera.setRotationFromQuaternion(newP)
angle就捕捉onTouchMove事件取deltaX deltaY来计算
旋转轴x(1 0 0) y(0 1 0),当然,这里可以是任意轴
为啥用四元数,四元数效率比矩阵高 。