在小鸟数据《Scratch列表变量-一维数组的90度转向》一文中,我们设想并实现了数组的90度旋转,因为急于实现这个“2048”小游戏。所以在实现功能之后没有做更深入的思考,游戏完成之后,感觉还是有一点意犹未尽,逆时针是实现了,顺时针旋转90度有没有规律可循呢?
顺时针旋转一个数组后,其实就是原数组的x轴坐标变为了负数并成为了Y轴,而原来的Y轴则被交换成了X轴;
实际翻转后的结果如上图,在不同的应用场景下,可能会有顺逆时针旋转的需求,如果按博主实现游戏的方式,多逆时针旋转几次来实现顺时针90度,实际操作中虽然也是可行,但一件事重复3次才能完成,显然是浪费了很多的资源。
在EXCEL表格中测试了一下顺时针旋转的运算规律:
将转置后的Y乘以行列数,再减去转置后的X,再减1,就可以获取到正确的结果。
在偶数行列的数组中,比如一个4x4的二维数组,这个公式也是可以通用的。