如何围绕轴旋转三个js的对象?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何围绕轴旋转三个js的对象?相关的知识,希望对你有一定的参考价值。

我想绕y轴旋转一个globe对象。我发现了一个功能:

function rotateAroundObjectAxis(object, axis, radians) {

  var rotationMatrix = new THREE.Matrix4();

  rotationMatrix.makeRotationAxis(axis.normalize(), radians);
  object.matrix.multiply(rotationMatrix);
  console.log("object matrix: " + object.matrix.elements);
  object.rotation.setFromRotationMatrix( object.matrix );
}

但是,旋转在特定点停止。我假设这是因为用于与我计算的旋转矩阵的矩阵乘法的object.matrix的值得到<= 0.我将如何接近连续旋转?

先感谢您。

答案

你应该使用object.rotateS(rad)qazxsw poi。对于连续旋转,请使用小角度并在渲染循环中更新。

以上是关于如何围绕轴旋转三个js的对象?的主要内容,如果未能解决你的问题,请参考以下文章

three.js:结合 tween.js 围绕世界轴旋转对象

three.js 在它的中心围绕 Y 轴旋转 Object3d

如何在three.js中围绕对象的中心旋转?

如何使用 webgl 和 glMatrix 围绕世界轴旋转对象

ARcore:如何围绕 Y 轴旋转对象?

如何在 OpenGL 中围绕 Z 轴中心旋转对象?