网站首页 > 技术文章 正文
译者:刘鸿(lewis2012)审校:王玥亭(玥亭)
介绍
计算机图形中矩阵是非常有用的,矩阵具有在不同坐标系中将几何数据进行变换的能力。矩阵由行元素和列元素组成。简单来说,矩阵的元素是一个系数,这个系数表示一个向量在变换期间将经历的缩放或旋转值。
矩阵
矩阵是由以行和列分量组成的实体。数学上,矩阵表示为:
矩阵的行和列确定矩阵的维度。包含2行和3列的矩阵的维度为2×3。以下是具有不同维度的矩阵的示例:
矩阵中的维度非常重要,因为除非矩阵具有相同的维度,否则一些操作是不可能的。矩阵可以进行加减运算。矩阵可以乘以标量,矩阵之间可以相乘。矩阵不能相除,除法运算转变被称为逆矩阵(矩阵的倒数)的计算方式。矩阵具有排列属性。矩阵可以按行优先排列或列优先排列。这是非常重要的,因为乘以向量或矩阵排列不正确将导致错误的计算。OpenGL要求所有矩阵都是以列为优先排列的矩阵即列矩阵。
加法/减法运算
在具有相同维度的矩阵之间允许进行矩阵加法/减法运算。矩阵加法,只需将对应的分量相互添加。
例如:
标量乘法
通过将标量与矩阵中的每个对应分量相乘来进行标量乘法。
例如:
注意,矩阵的一个重要属性:
因此,在矩阵乘法时要小心(乘法的顺序问题)。
单位矩阵
单位矩阵是一种特殊类型的矩阵,其类似于实数“1”的概念。一个实数乘以“1”将得到实数本身,任何矩阵乘以单位矩阵得到矩阵本身。单位矩阵定义为:
任何矩阵乘以单位矩阵将得到相同的矩阵。
逆
在算术运算中,将数字除以“4”与将数字乘以“4”的倒数,即“1/4”相同。在矩阵算术运算中不存在除法运算。然而,可以通过逆矩阵乘以矩阵。矩阵的逆表示为:
当矩阵乘以其逆矩阵时,产生单位矩阵。类似于当实数“4”乘以其逆“1/4”时产生“1”。
请记住,并非所有矩阵都具有逆矩阵。
转置
转置操作将矩阵的每一行转换到相应的列。数学上,转置表示为:
例如,矩阵M的转置如下:
为什么你需要转置矩阵? 矩阵可以表示为行矩阵或列矩阵。在变换操作期间,向量和矩阵必须是相同的行或列格式。如果他们不是,矩阵必须转置,所以变换得到的结果是正确的。
【版权声明】
原文作者未做权利声明,视为共享知识产权进入公共领域,自动获得授权。
猜你喜欢
- 2024-09-26 人工智能数学基础----矩阵(人工智能a算法)
- 2024-09-26 机器学习之线性代数速查表(线性代数快速入门)
- 2024-09-26 谈谈矩阵的运算(矩阵及其运算的性质)
- 2024-09-26 巧用python的矩阵运算来进行电路的计算和分析
- 2024-09-26 形象直观的“2X2矩阵”乘法运算的本质原理
- 2024-09-26 深度学习:所有矩阵尺寸和计算的深层指南!
- 2024-09-26 玩转张量点乘和变形(张量的运算规则及意义)
- 2024-09-26 python与线性代数 矩阵的运算(python做线性代数)
- 2024-09-26 矩阵加法与数乘的应用——灰度矩阵的凸组合对应灰度图的合成
- 2024-09-26 NumPy最生动形象的教程(numpy技巧)
- 1514℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 573℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 513℃MySQL service启动脚本浅析(r12笔记第59天)
- 486℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 486℃启用MySQL查询缓存(mysql8.0查询缓存)
- 469℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 449℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 447℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (83)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)