我試圖在Java中逆時針旋轉矩陣90度。我找到了關於如何用2D矩陣做到這一點的答案,但我的矩陣是3D。如何將3D矩陣逆時針旋轉90度?
以下是我發現瞭如何做一個二維旋轉:
static int[][] rotateCW(int[][] mat) {
final int M = mat.length;
final int N = mat[0].length;
int[][] ret = new int[N][M];
for (int r = 0; r < M; r++) {
for (int c = 0; c < N; c++) {
ret[c][M-1-r] = mat[r][c];
}
}
return ret;
}
我怎麼會去,然後旋轉3D矩陣?
大概,你會留下一個固定在這個旋轉軸?然後代碼基本上應該完全相同,除了你有一個額外的'for'循環,並且你不改變這個索引的映射。 –
你能定義「3D矩陣」嗎? – Henry
在3D中,問題在於你想旋轉哪個軸?如果你想圍繞主軸旋轉(如果你想圍繞另一個軸旋轉則很複雜),它就像2D一樣。 – MrSmith42