原文链接: 简单魔方的旋转 [todo]
上一篇: 绘制不同面显示不同图片的魔方
下一篇: lottie-web 实现可以播放zip文件的播放器
独立的旋转是没有问题的, 但是如果两个旋转含有相同的块就会有问题, 这个也挺好理解的, 毕竟真实的魔方也不可能同时把一个块旋转两个方向
主要问题在于是否需要在旋转后, 更新块的位置, 之前一直想的是固定块旋转颜色的实现, 貌似现在看来使用的是单独的块固定颜色的实现, 那么久需要把之前对颜色的处理应用到块上
但是为什么两个旋转矩阵不能按照顺序进行正确的组合呢... 有点奇怪, 可能需要好好看看位置和矩阵的映射是否正确了, 讲道理应该是只需要更新操作矩阵就行的
好像是应该按照固定颜色的实现.... 不然块的位置变化后, 还需要更新块索引... 不过颜色也得有这个更新过程, 但全部写在块里面, 好像有点乱.
就算在移动过程中不加全局锁, 也得对移动中的块加上锁, 否则容易出现碰撞, 穿模以及奇怪的计算bug
初步猜测是index对不上的问题, 也就是位置计算不对了, 旋转后块的位置信息有所变化, 但是对于一个块来讲, 他展示的面是没有变化的
不过没查到原因, 看起来像是多轴旋转的次序有影响... 后面好好过一遍gl数学再查吧