我正在尝试使用three.js在webgl中制作魔方游戏(您可以在这里试玩)。我遇到了一个问题,就是无法确定旋转魔方时应该绕哪个轴旋转。例如,如果魔方处于初始位置/旋转状态,如果我想把左侧层从下面向上旋转,我必须绕Y轴旋转。但是如果我将魔方绕Y轴旋转90度,我就必须绕Z轴旋转才能将左侧层从下面向上旋转。
我正在寻找一种方法来根据魔方的方向获取正确的旋转轴。目前,我检查魔方旋转矩阵轴向量中与向量(0,1,0)最平行的向量。如果我想要将前侧层从下面向上移动,但它在某些边缘情况下无法正常工作,例如上图所示的情况。
我猜应该有一种简单的方法来解决这个问题,但是我不太擅长矩阵和数学方面的知识 :)
我正在寻找一种方法来根据魔方的方向获取正确的旋转轴。目前,我检查魔方旋转矩阵轴向量中与向量(0,1,0)最平行的向量。如果我想要将前侧层从下面向上移动,但它在某些边缘情况下无法正常工作,例如上图所示的情况。
我猜应该有一种简单的方法来解决这个问题,但是我不太擅长矩阵和数学方面的知识 :)