threejs中让物体围绕指定轴旋转 - 莫西摩西的个人空间 - 开源中国

年底了,该给自己写个总结了,一个六年女Java程序员的心声 >>>   

第一点 物体的rotation的旋转属性是相对与该物体的本身坐标系而言的,物体的rotation就是Euler欧拉角,但是会存在万向节死锁的问题。

第二点 three.js中提供了相关的方法rotateOnAxis(axis,angle),该方法需要注意的是angle是相对于物体之前状态的旋转角度,也就是增加角度;另外一点需要注意的是axis参数向量是相对物体本身坐标系的,且为单位向量,通过调用.normalize()得到单位向量;rotateOnAxis方法其实也就是调用Quaternion对象的setFromAxisAngle方法

第三点 构建旋转矩阵,方法有:1、makeRotationAxis(axis,angle)方法生成绕任意轴转angle弧度的旋转矩阵 2、new THREE.Matrix4().makeBasis(axisX, axisY, axisZ).setPosition(point);构建矩阵 之后将物体的quaternion应用setFromRotationMatrix


原网址: 访问
创建于: 2019-01-02 22:41:23
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论