我正在编写一个程序,需要一个nxn数组围绕它的中心旋转。旋转仅为90度角。
我所做的是将原点转换为中心并执行旋转,然后再将其转换回来。
例如,一个3x3阵列:
0 0 1
0 1 1
0 1 1
当它围绕它的中心旋转90度时,变为:
1 1 1
0 1 1
0 0 0
使用(1,1)作为其中心,然后在获得相对于中心的位置之后,应用旋转变换。问题是当我有一个偶数维,一个4x4数组,例如:
0 1 1 1
1 1 1 0
0 0 0 0
0 1 0 0
它的中心是什么?或者更确切地说,如何使用变换矩阵正确旋转数组?
编辑:假设数组可以包含任何内容,整数或甚至是对象