c++旋转方法

一、矩阵与方阵:

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

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

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

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

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

矩阵是二维的。

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

二、矩阵是二维的

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

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

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

 

 

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

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

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是方阵(特殊的矩阵)。

Copy

四、方阵的旋转

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

给定方阵A:

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

  1. 顺时针旋转90°

旋转前:

旋转后:

转换公式:b[i][j]= a[n+1-j][i]

  1. 逆时针旋转90°

旋转前:

旋转后:

转换公式:b[i][j]= a[j][n+1-i]

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

翻转前:

 

翻转后:

转换公式:b[i][j]= a[i][n-j+1]

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

翻转前:

 翻转后:

转换公式:
b[i][j]= a[n-i+1][j]

  1. 主对角线翻转

 

转换公式:b[i][j]=  a[j][i]

  1. 副对角线翻转

 

转换公式: b[i][j]= a[n-j+1][n-i+1]

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

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值