我正在尝试理解three.js的坐标空间,我理解有object.matrix和object.matrixWorld。
在偶然发现这篇博文后 Matrix Basics. How to step away from storing an orientation as ’3 angles’ ,我决定尝试学习如何手动操作 Matrix4 的属性,从而避免使用欧拉旋转。
我要做的就是将我的立方体从原点 0,0,0 移开,然后在世界空间中旋转它。在我看来,结果是立方体首先在 y 轴上平移,然后旋转将它以大弧线带回平面,但实际发生的是它只是回到原点而忽略了平移。
我已经阅读了大量有关向量和矩阵的资料,我相信我现在已经充分理解了它们背后的理论。我真正不明白的是 three.js 如何处理 matrixWorld 和矩阵。我都试过了!
这里有一个 fiddle 来演示:http://jsfiddle.net/SCXNQ/151/
只需查看 render() 函数即可了解我正在尝试做什么!
编辑 - [已解决] 工作版本 14/09/12 的更新 JS FIDDLE
在下面的答案的帮助下,我想我会发布我更新的 fiddle 来展示我想要实现的目标 - http://jsfiddle.net/SCXNQ/363/
最佳答案
关于javascript - 在 THREE.JS 中手动对 Matrix4 应用旋转和平移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11118126/