首页 > 其他分享 >图形 1.2.2 矩阵运算

图形 1.2.2 矩阵运算

时间:2023-02-17 19:13:19浏览次数:37  
标签:运算 1.2 变换 矩阵 相乘 列数 乘法

图形 1.2.2 矩阵运算

代数计算

线性方程


线性方程具有可加性和比例性。

解线性方程

矩阵最开始用作解线性方程组。

用矩阵的方式解线性方程组:

竖线左边是系数,竖线右边是等号右边的值,通过行列变换,分别得到x系数为1y系数为0和x系数为0y系数为1的两个方程式,即可得解。

矩阵

什么是矩阵

特殊的矩阵


注意2阶0矩阵和3阶0矩阵是不一样的,矩阵是一个列表。

矩阵加减法

行数、列数分别相同的同型矩阵才能相加减,对应位置元素相加减即可。其几何意义为对单位向量的空间变换。

矩阵的加法满足交换律和结合律。

矩阵的数乘

每一个元素对应相乘即可,其几何意义为空间的缩放。

矩阵的乘法

乘号左边矩阵的列数等于乘号右边矩阵的行数才能相乘,得到的矩阵行数与左边矩阵行数相同,列数与右边矩阵列数相同。

得到的矩阵第i行j列元素等于左边矩阵第i行的元素与右边矩阵第j列的元素对应相乘的和,因此可以理解为什么需要满足左边矩阵列数等于右边矩阵行数,只有相等才能保证对应元素数足够相乘。也可以用点积来理解矩阵乘法。

矩阵乘法的几何意义可以分为两种:一种是一个矩阵乘以一个矩阵,实际上是一种变换,例如旋转矩阵乘以缩放矩阵,得到旋转加缩放的变换效果。
另外一种是矩阵与列向量的乘法,本质上列向量也是一个矩阵,其乘法结果是一个向量。

实际使用中不一定只进行一次变换,因此会有多个矩阵相乘,进行多次变换,相乘顺序为从右到左。

当多个矩阵相乘中有一个向量参与运算,其运算顺序有两种,可以先算矩阵乘向量,也可以先算矩阵乘矩阵。

矩阵乘法满足规律如下:

大部分情况下矩阵相乘不满足交换律,几何意义上来讲可以认为变换顺序不同,得到的结果也不同,在计算机图形学中,先位移后旋转与先旋转后位移得到的结果是不一样的,因此矩阵相乘一般不满足交换律。
常见的相乘后有几何变换效果的矩阵如下:

旋转矩阵的变换例图如下:

实际上就是利用三角函数进行变换,向量xy逆时针旋转了θ度。
位移矩阵是一个3x3的矩阵,这是因为位移矩阵不是线性变换,是仿射变换。如下图所示,位移距离是tx与ty。

三维空间中的坐标变换如下图所示,其中绕z轴旋转矩阵的第三行第三列应该为1。

矩阵转置

矩阵转置就是把矩阵的行换成同序数的列。

矩阵转置的性质如下:

逆矩阵


逆矩阵的计算过程为:对于一个矩阵A,先通过几次初等行列变换,把矩阵A变成单位矩阵,然后将几个初等行列变换的矩阵按顺序相乘,就得到了矩阵A的逆矩阵。

逆矩阵的运算规律如下:

注意这些逆矩阵的运算规律都有前提条件:矩阵可逆。另外对于第三条为什么矩阵AB的逆矩阵为B的逆矩阵乘A的逆矩阵,矩阵A和B的顺序反了,这里可以使用逆矩阵定义,矩阵AB乘矩阵AB的逆等于单位矩阵E,矩阵乘法运算是从左往右的,所以等号两边都先乘矩阵A的逆,再乘矩阵B的逆,得到的就是矩阵B的逆乘矩阵A的逆。

几何变换

线性空间

空间里的坐标是直线,直线变换后依然是直线,并且是等比(等距)的,坐标原点是不变的。等比(等距)指的是每两个坐标间的距离。

非线性空间

空间扭曲,不是等距的,坐标原点有位移。



标签:运算,1.2,变换,矩阵,相乘,列数,乘法
From: https://www.cnblogs.com/HD0117/p/17128326.html

相关文章

  • 46天目标1.2亿!全速出击,所向披靡! 斯巴达战役——健效达晶球风暴热血启幕!
    厉兵秣马,迎鏖战;群雄聚首,攀巅峰!2月14日,健启星总公司健效达事业部营销将士联合全国基层医师与基层医疗媒体医家头条,火速集结安徽合肥,掀起斯巴达战役——健效达晶球风暴,进......
  • 在centos stream 9上搭建k8s最新版本(当前:v1.26.1)集群环境
    为了尽可能契合生产环境的部署情况,这里用kubeadm安装集群,同时方便跟随笔记一步步实践的过程,也更加了解k8s的一些特性和基础知识。先决条件这里将通过虚拟机安装3台centos......
  • Python中的几种矩阵乘法【转】
    一. np.dot()1.同线性代数中矩阵乘法的定义。np.dot(A,B)表示:对二维矩阵,计算真正意义上的矩阵乘积。对于一维矩阵,计算两者的内积。2.代码 【code】importnum......
  • python运算符的优先级规则
    1、先执行优先级高的运算,优先级低的操作后执行,同一优先级的操作按照从左到右的顺序进行。2、也可以像四则运算一样使用小括号,括号中的运算首先执行。实例#优先级使用规律#1......
  • 03. 运算符
    一、运算符与表达式  运算符就是对字面量或者变量进行操作的符号;表达式是指用运算符把字面量或者变量连接起来,符合C语言语法的式子。不同运算符连接的表达式体现的......
  • Java语言常用哪些运算符?
    之前有个大家讨论过java的数据类型,总体来说类型和其他几种语言也相差无几,我为什么会这样说?我们应该都要知道Python可还有个复数类型。这里主要给大家讲解Java运算符的分类......
  • 运算符
    赋值运算符iTemp:=300;算术运算符逻辑运算符(1)布尔运算beginif(i>50)and(j<100)thenresult:=i+j;end;(2)位逻辑运算vari.j,k,l:integer;begin......
  • 快速部署一个K8s集群——kubernetes v1.26,kubeadm方式
    快速部署一个K8s集群——kubernetesv1.26,kubeadm方式1、前置知识点1.1生产环境可部署Kubernetes集群的两种方式目前生产部署Kubernetes集群主要有两种方式:•kubea......
  • 代码随想录算法训练营 第二天 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩
    有序数组的平方解法:双指针1,因为最大值只可能是原数组的最左端方或最右端方取得,最小值无法确定,所有从右边开始赋值长度最小的子数组:滑动窗口1,滑动模......
  • python语法入门之与用户交互、运算符
    目录一、程序与用户交互1.什么是与用户交互用户交互就是人往计算机中input/输入数据,计算机print/输出结果2.为什么要与用户交互为了让计算机能够像人一样与用户沟通交......