javascript - Three.js - 围绕特定 Axis 旋转球体

标签 javascript vector rotation three.js axis

我有一个问题。在 Three.js 中,我想围绕倾斜 23.5 度的 Axis 旋转一个球体(地球)。我找到了 sphere.rotation.x、sphere.rotation.y 和 sphere.rotation.z,但是当我以正确的比例组合它们时,球体的旋转非常奇怪 - 它没有永久旋转 Axis 。我想我需要像 sphere.rotation.vector(1,0,-1) 这样的函数。有谁知道这个函数是如何调用的以及正确的语法是怎样的?

非常感谢您的回答!

最佳答案

您无需了解欧拉 Angular 或四元数的工作原理即可完成您想要的操作。你可以使用

Object3D.rotateOnAxis( axis, angle );
Object3D.rotateOnWorldAxis( axis, angle );

确保 axis 是单位向量(长度为 1),angle 以弧度为单位。

Object3D.rotateOnAxis( axis, angle ) 在对象空间中绕 Axis 旋转。

Object3D.rotateOnWorldAxis( axis, angle ) 在世界空间中的 Axis 上旋转。

three.js r.104

关于javascript - Three.js - 围绕特定 Axis 旋转球体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16319742/

相关文章:

c++ - 需要修改我的递归算法

image - 如果图像数据形状发生变化,则使用 imshow 设置正确的限制

iphone - 旋转 UIBarButtonItem

iphone - 使用 UITouch 旋转 UIView

javascript - polymer 适合纸质对话框显示在抽屉顶部

javascript - 为什么我的内容在使用滚动时消失了

javascript - 将 CSS 属性值与 Eclipse 中的字符串进行比较

javascript - 让第二层保持关闭

c++ - std::vector 在 push_back 期间多次调用析构函数?

c++ - 如何从 vector<shared_ptr> 中删除一个元素