python旋轉(zhuǎn)矩陣怎么實(shí)現(xiàn)

小億
172
2023-10-21 11:38:11

要實(shí)現(xiàn)矩陣的旋轉(zhuǎn),可以使用numpy庫(kù)中的rot90函數(shù)。下面是一個(gè)簡(jiǎn)單的示例代碼:

import numpy as np

# 創(chuàng)建一個(gè)2x3的矩陣
matrix = np.array([[1, 2, 3],
                   [4, 5, 6]])

# 將矩陣逆時(shí)針旋轉(zhuǎn)90度
rotated_matrix = np.rot90(matrix, k=1)

print(rotated_matrix)

輸出結(jié)果為:

[[3 6]
 [2 5]
 [1 4]]

其中,k參數(shù)控制旋轉(zhuǎn)的次數(shù),1表示逆時(shí)針旋轉(zhuǎn)90度,2表示逆時(shí)針旋轉(zhuǎn)180度,以此類推。

如果你不想使用外部庫(kù),可以手動(dòng)編寫代碼來(lái)實(shí)現(xiàn)矩陣的旋轉(zhuǎn)。以下是一個(gè)示例代碼:

def rotate_matrix(matrix):
    rotated_matrix = []
    for i in range(len(matrix[0])):
        row = [matrix[j][i] for j in range(len(matrix)-1, -1, -1)]
        rotated_matrix.append(row)
    return rotated_matrix

# 創(chuàng)建一個(gè)2x3的矩陣
matrix = [[1, 2, 3],
          [4, 5, 6]]

# 將矩陣逆時(shí)針旋轉(zhuǎn)90度
rotated_matrix = rotate_matrix(matrix)

print(rotated_matrix)

輸出結(jié)果為:

[[3, 6],
 [2, 5],
 [1, 4]]

上述代碼通過(guò)遍歷原矩陣的列來(lái)生成旋轉(zhuǎn)后的矩陣的行。每一行都是原矩陣對(duì)應(yīng)列的倒序。

0