#C05L10P01. C05.L10.二维数组的旋转与翻转.引例1.二维数组的旋转和翻转.填空题

C05.L10.二维数组的旋转与翻转.引例1.二维数组的旋转和翻转.填空题

第1题 二维数组的旋转与翻转(填空题) 矩阵和方阵

一、矩阵与方阵:

在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合 ,最早来自于方程组的系数及常数所构成的方阵。

这一概念由19世纪英国数学家凯利首先提出。

矩阵是高等代数学中的常见工具,也常见于统计分析等应用数学学科中。

在物理学中,矩阵于电路学、力学、光学和量子物理中都有应用。

计算机科学中,三维动画制作也需要用到矩阵。

矩阵是二维的。

我们知道队列是一维的,可以理解为线性的。

img

二、矩阵是二维的

全班人排成一个 6*8 的队伍,就有 6 行 8 列,每个同学对应于唯一的某一行某一列。例如:张三同学只能在第 3 行,第 4 列,记作 a[3][4] ( 以 1 为开始)。

img

这里可以简要理解一下坐标系。

img

img

三、用二维数组表示矩阵和方阵

我们可以把二维数组就可以理解为矩阵,方阵是一种特殊的矩阵。例如:

const int N=100;
const int M=150;
const int K=100;
int a[N][M];     //可知N≠M,所以二维数组a是矩阵
int b[K][N];     //可知N=K,所以二维数组b是方阵(特殊的矩阵)。

四、方阵的旋转

我们这节课我们主要研究的是方阵的旋转,当然矩阵也是可以旋转的,矩阵的旋转,我们可以使用研究方阵旋转的方法,来研究、学习矩阵的旋转,你会发现矩阵的旋转和翻转和方阵的旋转是及其类似的。

给定方阵A:

img

那么方阵 A 的旋转主要包括以下六种:

  1. 顺时针旋转90°

旋转前:
img

旋转后:
img

转换公式:b[i][j]={{ input(1) }}

a[n+1-j][i]

  1. 逆时针旋转90°

旋转前:
img

旋转后:
img

转换公式:b[i][j]={{ input(2) }}

  1. 水平翻转180°(左右翻转)

翻转前:
img

翻转后:
img

转换公式:b[i][j]={{ input(3) }}

  1. 垂直翻转180°(上下翻转)

翻转前:
img

翻转后:
img

转换公式:
b[i][j]={{ input(4) }}

  1. 主对角线翻转

img

转换公式:b[i][j]={{ input(5) }}

  1. 副对角线翻转

img

转换公式: b[i][j]={{ input(6) }}

研究方阵旋转的最关键点就是选择变换的基点(参考点)。选择二维数组变换的参考点是非常重要的,然后对准该基点,研究变换前和变换后该基点的下标的变换规律。

复合变换的矩阵可通过将几个单独的变换矩阵相加(乘)而得到,这就意味着任何仿射变换的序列均可存储于单个的 Matrix 对象中。可以根据一定的运算求出某个矩阵的逆矩阵,这个矩阵可以用来求出新的坐标点在原坐标系的位置。