[3D]制作魔方
小小的制作了一个魔方
制作时没有太多需要考虑的难题。
只要建立好魔方方块的位置到方块实例(共26个映射,上下层有9个,中间层有8个)的映射关系以及面块(COLOR FACE,用于判断是否完成)的位置到面块实例(每一个面有9个面块,共6个面)的映射关系,就很容易做到旋转的效果。
大概就是从方块绝对位置可以找到这个位置上的方块实例指针,从面块的绝对位置可以找到这个位置上的面块实例指针。
一个用于对魔方进行旋转的可旋转体包含着9个魔方方块绝对位置(中间的只有8个方块),21个面块绝对位置(正面上有9个,侧面有12个)。进行旋转时,从位置找到这个位置上的实例指针,对旋转相关位置上的实例指针进行旋转替换即可(矩阵旋转)。比如,正上方的旋转体的绝对方块位置是0-8.是一个3X3的矩阵,位置内有方块实例指针
0(p0) 1(p1) 2(p2)
3(p3) 4(p4) 5(p5)
6(p6) 7(p7) 8(p8)
向右旋转时就将变成
0(p6) 1(p3) 2(p0)
3(p7) 4(p4) 5(p1)
6(p8) 7(p5) 8(p2)
以此类推,面块也是同样的做法。
下载地址:https://files.cnblogs.com/olswcsr/Magic_Cube.rar