美文网首页
Python旋转矩阵数组

Python旋转矩阵数组

作者: 狂奔的胖蜗牛 | 来源:发表于2018-01-07 23:20 被阅读1364次

问题:

假设有一个3*3的二维数组,如下

[[1,2,3],
[4,5,6],
[7,8,9]]

现在,请你用最简单的方式顺时针翻转数组90°,使之成为如下

[[7,4,1],
[8,5,2],
[9,6,3]]

解法:

思路:很多朋友第一时间可能会想,翻转90°,就是坐标系变化了,只需要找出翻转后的坐标系和翻转前的规律,然后变换就可以了。是的,这是一种方法,但是,这绝对不是一个简便的方法。

我们先分析一下,翻转后的矩阵是怎么从翻转前矩阵得到的,仔细看一下,会发现,翻转后的矩阵数组,假设是list2,翻转前是list1,会发现,list2[0]是由list1中,每个元素内,的第一位拼接得到。我们很容易就想到一个系统自带函数zip()。

zip()用法:

a=[1,2,3]
b=[4,5,6]
c=zip(a,b) #c = [(1, 4), (2, 5), (3, 6)]

所以,现在旋转矩阵就变得容易了,我们可以利用zip函数快速的实现:

a=[[1,2,3],[4,5,6],[7,8,9]]
d=zip(a[2],a[1],a[0]) #[(7, 4, 1), (8, 5, 2), (9, 6, 3)]

通过上述方式,就能快速的获得顺时针旋转90°后的矩阵数组了。

相关文章

  • Python旋转矩阵数组

    问题: 假设有一个3*3的二维数组,如下 现在,请你用最简单的方式顺时针翻转数组90°,使之成为如下 解法: 思路...

  • 2018-05-25

    python 1.python中数组和矩阵乘法及使用总结 对数组的运算 矩阵求逆,转置,求迹

  • opencv图像旋转矩阵

    在Python opencv中图像旋转矩阵可以用来旋转源图片到目标图片、旋转源坐标点到目标坐标点。根据图像旋转矩阵...

  • python之数组

    python中,一维数组被打印成行,二维数组成矩阵,三维数组成矩阵列表。 一维是行,横着延伸;(里层for) 二维...

  • 正确使用OpenCV和Python旋转图像

    使用OpenCV和Python旋转图像 其中,旋转矩阵中前两列控制旋转,最后一列控制其位置(即平移) 我们先定义了...

  • np.array的shape |tf.nn.conv2d | t

    python中的矩阵、多维数组----numpy 上面这个(3, 4, 2)三维数组就可以看作3个4*2的二维矩阵...

  • Numpy基础教程

    numpy创建数组(矩阵)1.从Python中的列表、元组等类型创建ndarray数组In [1]: import...

  • 【算法】python实现逻辑回归

    预备资源 Python的几个包: numpy: Python的语言扩展,定义了数字的数组和矩阵 pandas: 直...

  • Python的numpy库

    numpy(numerical python)是一个开源的 Python 科学计算库,支持大量的数组与矩阵运算,并...

  • 基本变换矩阵

    1 平移变换 平移矩阵 T 平移后的新点 2 旋转矩阵 旋转矩阵用、、 分别表示 对一个绕任意轴旋转角度的旋转矩阵...

网友评论

      本文标题:Python旋转矩阵数组

      本文链接:https://www.haomeiwen.com/subject/dtfvnxtx.html