文章目录
- 1. numpy.rot90() 语法
- 2. numpy.rot90() 举例说明
- 3.axes说明
在NumPy中,可以使用 numpy.rot90() 函数对三维矩阵绕着某个轴旋转。
1. numpy.rot90() 语法
numpy.rot90(m, k=1, axes=(0, 1))
.
- m: 输入的数组。
- k: 旋转的次数,默认为1。
- axes: 旋转的轴,默认为(0, 1)。旋转方向:是从第一轴到第二轴
2. numpy.rot90() 举例说明
下面是一个具体的例子,演示如何在三维矩阵上绕着某个轴旋转:
import numpy as np# 创建一个三维数组
matrix_3d = np.array([[[1, 2, 3], [4, 5, 6]],[[7, 8, 9], [10, 11, 12]],[[13, 14, 15], [16, 17, 18]]])# 使用 rot90 函数绕着第三个轴逆时针旋转90度
result_3d = np.rot90(matrix_3d, k=1, axes=(2, 0))# 输出原始三维数组和旋转后的数组
print("原始三维数组:")
print(matrix_3d)print("\n绕着第三个轴逆时针旋转90度后的数组:")
print(result_3d)
这里的 axes=(2, 0) 表示绕着第三个轴逆时针旋转(z轴到x轴:)90度。
输出结果如下:
原始三维数组:
[[[ 1 2 3][ 4 5 6]][[ 7 8 9][10 11 12]][[13 14 15][16 17 18]]]绕着第三个轴逆时针旋转90度后的数组:
[[[ 1 7 13][ 4 10 16]][[ 2 8 14][ 5 11 17]][[ 3 9 15][ 6 12 18]]]
通过指定 k 参数,还可以实现不同次数的旋转。
3.axes说明
axes 参数用于指定绕着哪两个轴进行旋转。在三维矩阵中,通常有三个轴:0、1、2。这些轴分别对应数组的三个维度x,y,z。
考虑一个三维矩阵 arr,其形状为 (n, m, p),其中 n、m、p 分别是矩阵在三个维度上的大小。axes 参数是一个包含两个元素的元组,用于指定旋转操作涉及的两个轴。
例如,axes=(1, 2) 表示绕着第一个轴旋转,方向为第二个轴到第三个轴。
下面是一个例子,演示了不同 axes 参数值对旋转结果的影响:
import numpy as nparr = np.array([[[1, 2], [3, 4]],[[5, 6], [7, 8]]])# 默认情况下,绕着前两个轴 (0, 1) 逆时针旋转90度
result_default = np.rot90(arr)
print("默认情况下绕着前两个轴逆时针旋转90度:")
print(result_default)# 指定 axes=(0, 2),绕着第一个轴和第三个轴逆时针旋转90度
result_axes_0_2 = np.rot90(arr, axes=(0, 2))
print("\n指定 axes=(0, 2),绕着第一个轴和第三个轴逆时针旋转90度:")
print(result_axes_0_2)
输出结果:
默认情况下绕着前两个轴逆时针旋转90度:
[[[2 4][1 3]][[6 8][5 7]]]指定 axes=(0, 2),绕着第一个轴和第三个轴逆时针旋转90度:
[[[3 1][4 2]][[7 5][8 6]]]
通过调整 axes 参数,你可以控制旋转的轴,从而影响旋转结果。