构建函数计算旋转矩阵
时间: 2024-10-19 16:10:29 浏览: 15
构建一个函数来计算旋转矩阵,通常是指将一个矩阵顺时针或逆时针旋转90度、180度或270度的操作。这里以Python为例,我们将编写一个通用函数,接受矩阵和旋转次数作为输入,并返回旋转后的矩阵。
假设函数名为`rotate_matrix`,我们可以这样实现:
```python
def rotate_matrix(matrix, rotations=1):
# 确保旋转次数是整数
rotations = int(rotations % 4)
# 旋转矩阵的基础操作,对于一个2D列表
def rotate():
n = len(matrix)
rotated = [list(row) for row in zip(*matrix[::-1])]
return rotated
# 由于最多旋转四次,每次旋转相当于翻转两次
for _ in range(rotations // 2): # 每两次翻转就相当于一次旋转
matrix = rotate()
if rotations % 2 != 0: # 如果还有剩余的奇数次旋转
matrix = rotate()
return matrix
```
这个函数首先确定旋转次数的有效范围(0到3),然后每两次翻转就完成一次顺时针旋转,如果旋转次数为奇数,还会额外进行一次旋转。
你可以像这样使用它:
```python
# 示例
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
rotated_matrix = rotate_matrix(matrix, 1) # 顺时针旋转90度
```
阅读全文