Python:numpy.rot90() 三维矩阵绕着某一轴旋转

这篇具有很好参考价值的文章主要介绍了Python:numpy.rot90() 三维矩阵绕着某一轴旋转。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


  在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 np

arr = 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 参数,你可以控制旋转的轴,从而影响旋转结果。文章来源地址https://www.toymoban.com/news/detail-815124.html

到了这里,关于Python:numpy.rot90() 三维矩阵绕着某一轴旋转的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • numpy 矩阵向量相除(python)

    下面看一个简单的例子就明白了

    2024年02月13日
    浏览(35)
  • python实现混淆矩阵(numpy)

    假设有A、B、C、D、E五个类别 step1:将pred和label进行一对一组合 Step2:遍历list_pred_label,将其中的类别转为混淆矩阵索引(A:0,B:1,C:2,D:3,E:4) step3:对混淆矩阵进行赋值

    2024年02月12日
    浏览(38)
  • 【python】使用numpy创建同心矩阵

    输入一个正奇数N,创建一个N*N的矩阵满足: 1. 矩阵中心的元素为N,其外层被N-1包围; 2. N-1的外层被N-2包围; 3. 依次循环,直到形成一个N*N的矩阵。 很容易可以计算得出,矩阵元素从内到外递减,最外层的元素为(N+1)/2. 我们可以使用numpy从外向内地填充矩阵;首先生成一个

    2024年02月13日
    浏览(45)
  • Python numpy - 数组与矩阵的运算

    目录  数组array 一 数组的函数 unique函数  sum函数  max函数 二 数组的加减 三 数组的乘除  矩阵matrix 一 矩阵的生成 二 矩阵的加减 三  矩阵的乘法 创建数组a和b用来运算(至少两个) 数组常用函数 函数 作用 unique() 求数组里的唯一值,输出从小到大排列 sum() 对数组整

    2024年02月11日
    浏览(46)
  • Python 使用numpy.bincount计算混淆矩阵

    Confusion matrix using numpy.bincount. np.bincount 用于统计一个非负数组中元素的出现次数。函数格式如下: 通常默认数组 x x

    2024年02月07日
    浏览(42)
  • python中numpy矩阵的零填充

    目录 需求:  方法: 一、再new一个更大的所需要的矩阵大小   二、pad函数  其他想法 对于图像处理中的一些过程,我需要对读取的numpy矩阵进行size的扩充,比如原本是(4,6)的矩阵,现在需要上下左右各扩充3行,且为了不影响数值计算,都用0填充。 比如下图,我有一个

    2024年02月11日
    浏览(34)
  • Python学习(2)-NumPy矩阵与通用函数

    文章首发于:My Blog 欢迎大佬们前来逛逛 data:表示输入的 数组 或者 字符串 ,使用‘,’分割列,使用‘;’分割行 创建两个普通的矩阵: 需要注意:mat创建的矩阵是不会产生副本的,即 共享内存 : matrix也是创建矩阵的: data:数组或者字符串,与mat一样 copy:表示创建

    2024年03月25日
    浏览(33)
  • 【Python】如何用 python 计算矩阵相乘 - numpy.dot()

    使用 Numpy 包里的 dot() 函数。 该函数主要功能有两个: 向量点积 和 矩阵乘法 。 格式: x.dot(y) 等价于 np.dot(x,y) x 是m × n 矩阵 ,y 是 n×m 矩阵,则 x.dot(y) 得到 m×m 矩阵。 向量相乘,得到内积 输出结果: 矩阵相乘,得到矩阵的积 (1)实例 1 输出结果: (2)实例 2 输出结果

    2024年02月11日
    浏览(40)
  • Python库第一课:基础Numpy知识(下):矩阵

            好的,我们今天继续来学习Numpy的基础,昨天,已经介绍完Numpy的成员之一——数组,今天,在接着介绍其另一大成员——矩阵,也是应用非常广泛的成员。         矩阵,在线性代数中是几乎贯穿全文的成员,因此,这里需要较高的线性代数的基础。在这里,默认

    2024年02月03日
    浏览(55)
  • Python中范数计算以及numpy矩阵的运算

    1.1 定义: ​ 范数(norm)是数学中的一种基本概念。在泛函分析中,它定义在赋范线性空间中,并满足一定的条件,即①非负性;②齐次性;③三角不等式。它常常被用来度量某个向量空间(或矩阵)中的每个向量的长度或大小。 ​ 最常见的范数就是p范数。若 x = [ x 1 , x 2 .

    2023年04月09日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包