好吧,我正在使用Java3D开发一个应用程序,它可以解决Rubik的多维数据集,显示用户的步骤解决方案。
我完美地完成了算法部分,现在问题出在3D立方体上
直到现在,我创造了27个立方体,就像真实的一样
问题是,为了顺时针或逆时针旋转一个面,我应该将这些单独的立方体添加到一个组中,这个组又可以用来逆时针或顺时针方向旋转面,就像我说的那样,但实际上是节点边必须在多个组中,以便它们可以在X轴或Y轴上旋转,否则我们可以采用两个旋转轴。
那么,我现在的问题是,如何将节点添加到多个组?
或者,如果不可能,那么必须有一种方法来构建一个Rubiks立方体并旋转它的面,如何做到这一点!
你能帮我解决这个问题吗?
答案 0 :(得分:0)
将多维数据集添加到BranchGroup并动态更新它们或管理多个组听起来很复杂。
也许考虑保持立方体独立。创建三个变换:一个围绕三个轴中的每一个顺时针/逆时针旋转90度。要旋转面,请对该面中的每个立方体应用相同的变换 - 因为它们都是围绕同一轴旋转。