嗯,我正在使用Java3D开发一个应用程序,它可以解决魔方,向用户展示一步一步的解决方案。
我完美地完成了算法部分,现在的问题是3D立方体,
到目前为止,我已经创建了27个立方体。
问题是,为了顺时针或逆时针旋转一个面,我应该把这些单独的立方体添加到一个组中,这个组反过来可以用来逆时针或顺时针方向旋转这个面,但实际上,边上的节点必须在多个组中,这样它们就可以在X轴或Y轴上旋转,或者我们可以取两个旋转轴。
那么,我现在的问题是,如何将一个节点添加到多个组中?
或者如果不可能,那么一定有一种方法来构造一个魔方并旋转它的面,怎么做呢?
你能帮我吗? !
将多维数据集添加到BranchGroups并动态更新它们或管理多个组听起来很复杂。
也许可以考虑保持多维数据集独立。创建三个变换:一个旋转顺时针/逆时针各90度的三个轴。要旋转一个面,请对该面中的每个立方体应用相同的变换—因为它们无论如何都围绕同一轴旋转。