Arrays 使用矩阵变换旋转二维阵列

Arrays 使用矩阵变换旋转二维阵列,arrays,matrix,rotation,Arrays,Matrix,Rotation,我正在写一个程序,需要一个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 它的中心是什么?或者更确切地说,如何使用变换矩阵正确旋转数组 编辑

我正在写一个程序,需要一个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
它的中心是什么?或者更确切地说,如何使用变换矩阵正确旋转数组


编辑:假设数组可以包含任何内容,整数,甚至对象

如果这些是真正的矩阵,为什么不能使用转置运算符?实际上,我不希望这是特定于语言的,并且尽可能高效。它不需要是矩阵,但我想做的是旋转网格中的对象,可能的重复,具体地说,从概念上显示了发生了什么。