我不知道你打算如何準確90度旋轉矩陣,但仍然具有的旋轉版本左上角的左上方X,但旋轉一些東西90度,我只是做一個新的陣列,交換行和列,並水平翻轉。
int[][] start = new int[4][];
start[0] = new int[4] { x, 0, 0, 0 }
start[1] = new int[4] { 0, 0, 1, 0 }
start[2] = new int[4] { 0, 1, 1, 0 }
start[3] = new int[4] { 0, 1, 0, 0 }
int[][] rotate = new int[4][];
for (int i=0; i<4; i++) rotate[i] = new int[4];
for (int i=0; i<4; i++)
for (int j=0; j<4; j++)
rotate[i][j] = start[j][i];
旋轉完成有:
0, 0, 0, 0,
0, 0, 1, 1,
0, 1, 1, 0,
0, 0, 0, 0,
現在,這是一個對角翻轉(編輯:剛剛發生,我認爲這將讓X在同樣的位置:或許這就是你的意思?) ,但只是做了horisontal翻轉,它應該是罰款:
0, 0, 0, 0,
1, 1, 0, 0,
0, 1, 1, 0,
0, 0, 0, 0,
0123:
for (int i=0; i<4; i++)
for (int j=0; j<4; j++)
rotate[i][3-j] = start[j][i];
與旋轉完成
(要傾斜的其他方式:rotate[i][j] = start[j][3-i];
)
:)
退房的Rot90這裏定義:http://pastebin.com/k667ujJ8 – AlexFoxGill 2013-02-14 15:02:04