首页
学习
活动
专区
圈层
工具
发布

【愚公系列】2023年08月 3D数学-矩阵运算和变换

a_{ij} 表示矩阵 A 的第 i 行第 j 列的元素。...具体的规则是: 设A是一个m × n的矩阵,B是一个n × p的矩阵,那么矩阵C = AB就是一个m × p的矩阵,且它的每个元素cij都是由A的第i行与B的第j列对应元素相乘后求和得到的,即: cij...[2] * sinθ + c[3] * cosθ = y * sinθ + z * cosθ 其中,c[2]表示向量c在Y轴上的投影,c[3]表示向量c在Z轴上的投影。...那么矩阵 R 作用于 M 上,就相当于将每列旋转一个角度 \theta ,得到新的列向量 M'_1, M'_2, M'_3, M'_4 。...因此,我们可以将矩阵 R 表示为一个函数 f ,它将列向量 M_i 映射到新的列向量 M'_i : M'_i = f(M_i) = R\times M_i 现在我们需要将 f 应用于整个矩阵 M 上。

11000

3D图形学线代基础

从表现形式上看矩阵是如下图所示的以行和列形式组织的矩形数字块。 ?...G 中第 i 行第 j 列的元素等于矩阵 M 第 i 行的元素和矩阵 N 第 j 列的元素一一相乘之后的和;如图中所示新矩阵 G 第 1 行第 2 列的元素为 m11 * n12 + m12 * n22...对角矩阵 当我们把行号和列号以下标的形式标注在矩阵元素上时;比如:第一行第一列的元素下标为 11,第 m 行第 n 列的元素下标为 mn,那么某个 3X3 方阵如下图所示: ?...余子式、代数余子式 假设矩阵 M 有 r 行 c 列,从中任意移除某一行和某一列后剩下的有 r-1 行 c-1 的矩阵被称为矩阵 M 的余子式,如下: ?...例子中移除的是第 1 行和第 2 列,因此余子式记为 {1,2},如果移除的是第 i 行和第 j 列则记为 {i,j}。

2.3K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    从零开始一起学习SLAM | 三维空间刚体的旋转

    2、旋转矩阵不是一般矩阵,它有比较强的约束条件。旋转矩阵R具有正交性,R和R的转置的乘积是单位阵,且行列式值为1。 3、旋转矩阵R的逆矩阵表示了一个和R相反的旋转。...4、旋转矩阵R通常和平移向量t一起组成齐次的变换矩阵T,描述了欧氏坐标变换。引入齐次坐标是为了可以方便的描述连续的欧氏变换,这个在上一篇文章《从零开始一起学习SLAM | 为什么要用齐次坐标?》...2、欧拉角在SLAM中用的很少,原因是它的一个致命缺点:万向锁。也就是在俯仰角为±90°时,第一次和第3次旋转使用的是同一个坐标轴,会丢失一个自由度,引起奇异性。...事实上,想要表达三维旋转,至少需要4个变量。 了解了四种旋转的表达方式,那么编程时如何使用呢? 矩阵线性代数运算库Eigen 事实上,上述几种旋转的表达方式在一个第三方库Eigen中已经定义好啦。..., int rowsNum, int colsNum> 而向量只是一种特殊的矩阵(一行或者一列)。

    1.6K20

    MPU6050姿态解算2-欧拉角&旋转矩阵

    2 旋转矩阵 旋转矩阵的知识请先参阅3维旋转矩阵推导与助记与3维旋转矩阵推导与助记-补充篇,这里只列出本篇需要用到的3个旋转矩阵,注意这3个旋转矩阵是坐标变换的旋转矩阵。 ?...当加速度计旋转一定的姿态时,重力加速度会在加速度的3个轴上产生相应的分量,其本质是大地坐标系下的(0,0,g)在新的加速度计自身坐标系下的坐标,加速度计读到的3个值就是(0,0,g)向量的新坐标。...如下图,IMU在第n个时刻的姿态角度为r、p、y,其含义为IMU坐标系从初始位置,经过绕Z旋转y角度,绕Y旋转p角度,绕X旋转r角度,得到了最终的姿态,此时需要计算下一个时刻(n+1)的姿态。...设n+1时刻的姿态角为r+Δr、p+Δp、y+Δy,该姿态也是经历了3次旋转。要想计算n+1时刻的姿态,只要在n时刻姿态的基础上,加上对应的姿态角度变化量即可。...首先来看dy/dt,它是3次旋转过程中绕Z轴的yaw角的角速度,3次旋转首先就是绕着Z轴旋转,Z轴方向的单位向量可表示为[0 0 1]T,T表示向量转置,因此[0 0 dy/dt]T表示在图中状态①的坐标中绕

    3.8K10

    透析矩阵,由浅入深娓娓道来—高数-线性代数-矩阵

    反对称矩阵:反对称矩阵(又称斜对称矩阵)定义是:A= - AT(A的转置前加负号) 它的第Ⅰ行和第Ⅰ列各数绝对值 相等,符号相反,于是,对于对角线元素,A(i,i)=-A(i,i),有2A(i,i)=0...1.它提供了用矩阵运算把二维、三维甚至高维空间中的一个点集从一个坐标系变换到另一个坐标系的有效方法. 2.它可以表示无穷远的点。n+1维的齐次坐标中如果h=0,实际上就表示了n维空间的一个无穷远点。...现在,向量[1,1,0]就被表示成p,q和r的线性变换了.向量p,q和r被称为基向量.这里的基向量是笛卡尔坐标系.但是事实上,一个坐标系能用任意的3个基向量表示.当然了,这三个向量不在同一个平面.向量p...在矩阵M中.向量p从[1 0 0]变换到[2 1 0],q从[0 1 0]变换到[-1 2 0],r未发生变化.然后我们图形的右上点会再次发生缩放和旋转的变换. 得到效果图如下所示....平移矩阵 在3D图形:矩阵与线性变换我说过几种线性变换,比如旋转,缩放,镜像等等,唯独没有平移,但是在日常开发过程中,平移应该算的上我们很常用的一种仿射变换了.那么这是为什么呢?

    7.5K151

    呆在家无聊?何不抓住这个机会好好学习!

    ⑵矩阵的运算 具有m行n列的矩阵称为m×n矩阵,共具有m×n个元素;行和列数均为n的称为n阶矩阵或n阶方阵。只有一行的矩阵为行向量,只有一列的矩阵为列向量,行数和列数均相等的矩阵称为同型矩阵。...),满足交换律和结合律,同为矩阵的线性变换,如下所示: ③矩阵与矩阵的乘法 设A为m×p的矩阵,B为p×n的矩阵,那么称m×n的矩阵C为矩阵A与B的乘积,记作C=AB,其中矩阵C中的第i行第j列元素可以表示为...在R中矩阵转置可以使用t()函数,diag(v)表示以向量v的元素为对角线元素的对角阵,当M是一个矩阵时,则diag(M)表示的是取M对角线上的元素构造向量,如下所示: 在R中,我们可以很方便的取到一个矩阵的上...upper.tri()则与之相反,取矩阵上三角部分,具体如下所示: ⑤与维数有关 在R中很容易得到一个矩阵的维数(指矩阵的行数和列数),函数dim()将返回一个矩阵的维数,此外nrow()和ncol(...在一个m×n矩阵中任取k行k列元素构成的行列式称为矩阵的k阶子式。

    90030

    【数值计算方法(黄明游)】矩阵特征值与特征向量的计算(五):Householder方法【理论到程序】

    一、Jacobi 旋转法   Jacobi 旋转法的每一次迭代中,需要选择一个非对角元素最大的位置,然后构造相应的旋转矩阵,进行相似变换,使得矩阵逐渐对角化。...这个变换可以理解为镜面反射,它不改变向量在与 u 正交的平面上的投影,但将向量沿着 u 的方向反射。...考虑 Householder 矩阵对向量 u 的作用: Hu = (I - 2uu^T)u = -u 。这说明 Householder 矩阵将向量 u 反射到其负向量上。...对于任何与 u 正交的向量 v ,有 Hv = (I - 2uu^T)v = v ,即 Householder 矩阵保持与 u 正交的向量不变。...{e}_{r+1} 是单位向量 (0, 0, \ldots, 0, 1, 0, \ldots, 0)^T ,具体位置在第 r+1 个。

    41310

    POSIT算法的原理–opencv 3D姿态估计

    算法流程: 假设待求的姿态,包括旋转矩阵R和平移向量T,分别为 透视投影变换为: 上式中的f是摄像机的焦距,它的具体值并不重要,重要的是f与x和y之间的比例,根据摄像头内参数矩阵的fx和fy可以得到这个比例...: R的第i行表示摄像机坐标系中的第i个坐标轴方向的单位向量在世界坐标系里的坐标; R的第i列表示世界坐标系中的第i个坐标轴方向的单位向量在摄像机坐标系里的坐标; T正好是世界坐标系的原点在摄像机坐标系的坐标...如果第4个点与前三个点共面,那么该点的“齐次坐标”就可以被其他三个点的“齐次坐标”线性表示,而迭代方程的右侧使用的就是齐次坐标,这样由第四个点得到的方程就不是独立方程了。...至此,整个旋转矩阵R和平移向量T,共12个未知量,就都求出来了。不过,这只是近似值,因为我们一开始时假设了w=1(或Zc=Tz),即物体上所有的点的深度都是Tz。...其实理论上,只要获得3个点的信息,就可以得出旋转矩阵R和平移向量T了: R和T共有12个未知量,每个点的坐标代入前面的“—原始方程–”中,消去w,可得到2个独立的方程,3个点就可以得到6个线性方程,再加上

    1.7K10

    详解SLAM中的李群和李代数(上)

    不过,在第4章出现的李群和李代数的相关概念就有点令人难以费解了。...从图形学的角度上来说,旋转两次得到的姿态,旋转一次也可以得到。 结合律:矩阵乘法本身是结合的,因此 SO(3) 满足结合律。...欧式变换是齐次变换矩阵,相乘后仍然保持旋转矩阵在左上角,平移向量在右上角的形式。从图形学的角度上来说,欧式变换两次得到的位姿,欧式变换一次也可以得到。...\boldsymbol{\omega}(t) 描述了刚体在时刻 t 的瞬时旋转轴和旋转速率,其实也就是表达旋转矩阵的旋转向量, [\boldsymbol{\omega}(t)]_{\times} 是其对应的反对称矩阵...四元数就是一个与旋转向量密切相关的参数,通过罗德里格斯公式也可以将旋转向量转换成旋转矩阵。

    27900

    第4章-变换-4.1-基础变换

    在这一点上我们应该提到,有时在计算机图形中看到的另一种有效的符号方案:使用底行具有平移向量的矩阵。例如,DirectX使用这种形式。在这个方案中,矩阵的顺序将被颠倒,即应用程序的顺序将从左到右读取。...这种表示法中的向量和矩阵被称为行优先形式,因为向量是行。在本书中,我们使用列优先形式。无论使用哪种方式,这纯粹是符号上的差异。当矩阵存储在内存中时,十六进制的最后四个值是三个平移值,后跟一个1。...观察下标可以用来求参数s在下面矩阵中的位置;x(其数字索引为0)标识第0行,z(其数字索引为2)标识第二列,因此s位置如下所示: image.png 将此矩阵与点 相乘的效果是产生一个点: 。...计算 的逆的另一种方法是在以下符号中考虑 (使 显示为 矩阵)和 (第6页上的符号用公式1.2描述): image.png 其中 表示旋转矩阵的第一列(即,逗号表示0到2之间的任何值...我们想让r变成 ,所以当基矩阵的变化乘以 时,我们可以看到矩阵的第一行一定是 的元素,因为 。此外,第二行和第三行必须由垂直于 的向量组成,即 。

    4.4K110

    SLAM知识点整理

    这里如果要让a与a'发生关系的话,可以用a'乘以一个旋转矩阵,这个旋转矩阵用R来表示 旋转矩阵R的必要条件:行列式为1的正交矩阵。...对于转角θ: 其中角度: 轴: 对于转轴n,相当于旋转轴上的向量在旋转后不发生改变,因此转轴n其实是矩阵R的特征值为1对应的特征向量。...三维空间的单位向量 ,某个旋转是绕单位向量n进行了角度为θ的旋转,该旋转的四元数形式为: 反之如果知道q,也可以算出θ和n 之前我们知道一个三维点p旋转到p',只需要乘以一个旋转矩阵R,则有...叉乘就是一个反对称矩阵,从向量->反对称矩阵可以写为: 反对称矩阵->向量 是反对称矩阵,找到一个三维向量 与之对应,则有 等式两边右乘R(t),由于R为正交阵,则有 这就相当于旋转矩阵R求一次导数就相当于左乘一个反对称矩阵...假设对某一个旋转R,它对应的李代数为ø,当我们给它左乘一个微小的旋转∆R,那么对应的李代数就会对应一个微小的变换∆ø,在李群上对应的就是∆R*R,在李代数上就是 即为加法上相差左雅可比的逆。

    1.3K30

    OpenGL ES 2.0 (iOS):修复三角形的显示

    首先,OpenGL 最后生成的都是像素信息,再显示在物理屏幕上;通过 1) 和 2) 可以知道 Y 方向的像素数量大于 X 方向的像素数量,导致真实屏幕所生成的 Y 轴与 X 轴的刻度不一致(就是Y=0.5...4X4方阵 它其实就是一个齐次矩阵,是对3D运算的一种简便记法; 3x3矩阵并没有包含平移,所以扩展到4x4矩阵,从而可以引入平移的运算; 2、线性变换(缩放与旋转) ?...Z方向{0,0,1}的旋转: ? 图片来源于《3D数学基础:图形与游戏开发》8.2.2 3、平移 ? 平移 直接把平移向量,按分量{x, y, z}依次代入齐次矩阵即可; ?...图3 英文大意:在我们的视图模型中,我们想通过一个向量来与矩阵变换进行乘法运算,这里描述了一个矩阵乘法,向量先乘以 A 矩阵再乘以 B 矩阵: 很明显,例子使用的就是左乘,即 OpenGL 用的是左乘...Identity 无变换,即此矩阵与任一向量相乘,不改变向量的所有分量值,能做到这种效果的就是单位矩阵,而我们使用的向量是齐次坐标{x, y, z, w},所以使用 4 x 4 方阵;{w === 1

    1.4K10

    Matlab矩阵基本操作(定义,运算)

    一、矩阵的表示 在MATLAB中创建矩阵有以下规则: a、矩阵元素必须在”[ ]”内; b、矩阵的同行元素之间用空格(或”,”)隔开; c、矩阵的行与行之间用”;”(或回车符)隔开; d、矩阵的元素可以是数值...2.矩阵拆分 利用冒号表达式获得子矩阵: (1) A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。...(5) 伴随矩阵 MATLAB生成伴随矩阵的函数是compan(p),其中p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。...3、矩阵的转置与旋转 (1) 矩阵的转置 转置运算符是单撇号(’)。 (2) 矩阵的旋转 利用函数rot90(A,k)将矩阵A旋转90o的k倍,当k为1时可省略。...(3) [V,D]=eig(A,’nobalance’):与第2种格式类似,但第2种格式中先对A作相似变换后求矩阵A的特征值和特征向量,而格式3直接求矩阵A的特征值和特征向量。

    3.3K20

    博客 | MIT—线性代数(下)

    可以使用②证明;⑤若第I行减去第K行,行列式不变。可以使用③+④证明;⑥矩阵中存在零行,行列式为0。可以使用③证明;⑦将矩阵消元化简为三角阵,行列式为对角线乘积。...n阶傅里叶矩阵 F^n = [1,w^i,w^{2i},...,w^{(n-1)i}] ,其中 w^i 表示w的i次幂,i从0开始。在 F^n 中定义 w^n=1 ,则w是1的n次方根,有 ?...16、 基变换和图像压缩:基变换是更一般化的线性变换,通常用于图像压缩,图像压缩本质上先将图像按块划分成n*n的小矩阵,组成R(n*n)维向量,随后选取一组基U,将原始图像表示为标准基V上的坐标至新基U...但现实中遇到的矩阵经常是长方形矩阵,这时就需要考虑3种情况,列满秩r=n,行满秩r=m与一般秩rn&&r的,若rrn,则只能求A伪逆,A伪逆可以使A行空间向量一一映射至A列空间向量,A伪逆可以通过SVD来解决,SVD可以将对A伪逆的求解转化到求对角阵E的伪逆上来。

    1.6K20

    统计学习方法 十到十六章笔记

    15.1 SVD的定义与性质 对实矩阵的SVD,就是对一个矩阵进行因子分解,其中A的形状是(m, n):,V是n阶正交矩阵,是降序排列的非负的对角线元素组成的(m, n)形状的矩形对角矩阵,这里的各个矩阵满足如下性质...对于矩阵A,,那么有,其中的形状是(m, r),的形状是(n, r),是r阶方阵,其中是完全SVD的前r列的列向量组成的,同理,是前r个元素组成的对角阵。其中。...在SVD中,U和V都是正交矩阵,那么V的列向量构成了空间里的一组正交基,U同理。所以这里都表示旋转或反射变换。对于,是一组非负实数,表示各个轴上的缩放变换。...SVD的几何解释可以对标准正交基进行变换看效果,课本的例子比较直观。 而且SVD直觉上,感觉像对A做行变换之后得到的奇异值对角阵,因为这两个东西秩相等。...PCA先把数据在原来的各个轴上规范化处理,然后对原来的坐标轴做旋转变换,其中第一坐标轴是方差最大的方向,其余坐标轴方差逐渐变小(当然也是找最大,不过和前面的方向相比更小)。

    1.1K20

    【深度学习基础】预备知识 | 线性代数

    我们可以将任意矩阵 \mathbf{A} \in \mathbb{R}^{m \times n} 视为一个表格,其中每个元素 a_{ij} 属于第 i 行第 j 列: \mathbf{A}=\begin...对于矩阵 \mathbf{B} \in \mathbb{R}^{m \times n} ,其中第 i 行和第 j 列的元素是 b_{ij} 。...,表示矩阵的第 i 行。...在下面的代码中,我们在A和B上执行矩阵乘法。这里的A是一个5行4列的矩阵,B是一个4行3列的矩阵。两者相乘后,我们得到了一个5行3列的矩阵。...当开始动手尝试并在真实数据集上应用了有效的机器学习模型,你会更倾向于学习更多数学。因此,这一节到此结束,本专栏将在后面介绍更多数学知识。 小结 标量、向量、矩阵和张量是线性代数中的基本数学对象。

    40000

    从几何角度理解矩阵

    在以矩阵 的列向量为基的 中的基向量的线性组合,即 表示经过线性变换之后,在 的列向量张成的向量空间中的向量。...如下图所示,A 部分第一行最左为变换前的 空间的图形,向右依次表示:沿 x 轴压缩、旋转;第二行从左向右依次表示:向 的投影、基于 y 轴的反射、剪切。...B 部分则表示的是 中的非线性变换。 线性函数是 1 次或更少次的多项式,这意味着变量的变化率恒定。...其行列式为 ,不会改变向量子空间。 剪切矩阵 此类矩阵的命名即源于它的作用效果,在形式上可与对角矩阵进行比较,注意其中的 。...又由于是单位向量, 。从而对于正交矩阵 ,有: 可以把行和列写出来,就更直观了: 从几何角度讲,正交矩阵能够旋转或翻转向量,但不能拉伸或压缩。

    1.4K11
    领券