我正在尝试使用three.js在webgl中制作一个魔方游戏(您可以尝试here)。
而且我在检测巫婆轴时遇到问题,必须根据立方体的旋转来旋转立方体。例如,如果多维数据集处于原始位置/旋转,则如果我想将左图层从下向上旋转,则必须在Y轴上旋转。但是我将立方体在Y轴上旋转90度,所以我必须在Z轴上旋转它,以使左图层从下向上旋转。
我正在尝试找到一种方法来根据立方体的方向获得正确的旋转轴。
目前,如果我想从下向上移动前一层,则检查立方体旋转矩阵轴的矢量与矢量(0,1,0)最平行。但是它在像这样的极端情况下不起作用:
我猜有一些简单的方法可以做到这一点,但是我在矩阵和数学方面还不够好:)
最佳答案
AxisHelper
可以显示场景的轴,您可以使用这些轴确定方向。
var axishelper = new THREE.AxisHelper(40);
axishelper.position.y = 300;
scene.add(axishelper);
您还可以
log
您的多维数据集,并使用Chrome开发者工具或Firebug检查position
和rotation
属性。