三维数学基础2:矩阵、齐次坐标

矩阵(matrix)是由 mxn 个标量组成的矩形数组。矩阵便于表示线性变换(transfromation),如平移(translation)、旋转(rotation)和缩放(scaling)。点和矢量都可以用行矩阵(1xn)或列矩阵(mx1)进行表示。

仿射矩阵(affine matrix)

若 3x3 矩阵的所有行和列矢量为单位矢量,则该矩阵称为特殊正交矩阵、各向同性矩阵、标准正交矩阵,这种矩阵表示纯旋转。

变换矩阵:4x4矩阵可以表示任意3维变换,包括平移、旋转和缩放。利用矩阵的乘法,可以将变换矩阵施加在点或矢量上。

仿射矩阵(affine matrix):是一种4x4矩阵,由平移、旋转、缩放或切变(shear)组合而成的变换。

矩阵乘法

若矩阵A、B为变换矩阵,则其乘积 P = AxB 也为变换矩阵,并且变换结果等同于先后进行A、B变换。例如若A为旋转矩阵,B为缩放矩阵,则P能对点或者矢量进行旋转和缩放变换。

矩阵的乘法不符合交换律,乘法的次序会影响结果。

单位矩阵(identity matrix):单位矩阵乘以任何矩阵,结果都是和原来一样的矩阵。

逆矩阵(inverse matrix):矩阵A的逆矩阵,可以还原矩阵A的变换。一个矩阵乘以他的逆矩阵,结果必定为单位矩阵。并非所有的矩阵都有逆矩阵,但是所有的仿射矩阵都有逆矩阵。

若矩阵的逆矩阵存在,则可用高斯消去法(Gaussian elimination)或LU分解(LU decomposition)求之。求多个矩阵乘法串接后结果的矩阵,相当于反向串接(乘法)原先矩阵的逆矩阵。

转置(transpose)矩阵:转置矩阵就是把原来矩阵以主对角线为对称轴做反射,原来矩阵的行变成矩阵的列,列变成行。

标准正交矩阵(纯旋转)的逆矩阵和转置矩阵是一样的-此特性非常好,因为计算转置矩阵一般比计算逆矩阵要快得多。

和逆矩阵相同,计算矩阵串接的转置矩阵,为反向串接各个矩阵的转置矩阵。

齐次坐标(homogeneous coordinates)

齐次坐标表示是计算机图形学的重要手段之一,它既能够用来明确区分向量和点,同时也更易用于进行仿射(线性)几何变换。

齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示,是指一个用于投影几何里的坐标系统。

齐次坐标的运用-用4x4矩阵乘法表示平移:我们没法通过矩阵乘法实现3维矩阵对3维坐标点的平移,若采用4x4矩阵和4维坐标点可以很简单的完成:

齐次坐标下表示矢量和点:维度提升,矢量补0,点补1。

在数学上,点和方向矢量的处理是有偏差的。当用一个矩阵变换一个点时,平移、旋转、缩放可以施加在该点上产生效果。但是,矩阵变换一个方向矢量时,需要忽略矩阵的平移效果(方向矢量本身并无平移,加上平移后改变他的模)。

为了实现这个效果,我们只需要把矢量的第四位设置成0,即可忽略所有矩阵中的平移效果(我们本来是通过增加一位1来实现平移的),而点的第四位使用1来表示,接受矩阵的平移效果。

进阶理解齐次坐标

三维数学基础2:矩阵、齐次坐标相关推荐

  1. 【机器学习中的数学基础】矩阵特征值、特征向量和特征值分解的几何意义

    [机器学习中的数学基础]矩阵特征值.特征向量和特征值分解的几何意义 在<机器学习>西瓜书中的第十章提到了"多维缩放"(简称MDS)方法,该方法是一种经典的的降维方法.此 ...

  2. 空间坐标系以及空间两三维坐标系转换矩阵解释

    空间坐标系以及空间两三维坐标系转换矩阵解释 因为工作的原因,需要进行不同坐标系的一个转换,在查阅了众多的网页之后,发现有用的没几个,而且众多都是抄的同一篇文章,而且都是罗列以下旋转的方式,几乎没有解释 ...

  3. 多维(三维四维)矩阵向量运算-超强可视化

    多维(三维四维)矩阵向量运算-超强可视化 1.高维矩阵可视化 一维 二维 三维 四维 2.高维矩阵运算 高维矩阵或者向量的运算,是一个困扰着我很久的问题:在NLP里面经常就会碰到三维,四维的向量运算, ...

  4. 机器学习所需要的数学基础知识---矩阵(1)

    机器学习所需要的数学基础知识-矩阵(1) 本系列文章为机器学习所需要的数学基础知识,在机器学习文章中如需要,会给出本系列文章的链接,如有问题欢迎给我留言.数学公式使用Letex编辑,原文博客http: ...

  5. 三维数学基础(一)坐标系、向量、矩阵

    本博文为博主原创,转载请注明出处:http://blog.csdn.net/xiemotongye/article/details/9052165 接触OpenGL和计算机图形学有一段时间了,一直想写 ...

  6. 三维数学基础之坐标系、向量、矩阵

    转载自:http://blog.csdn.net/iosevanhuang/article/details/9052165 一.计算机图形学 计算机图形学(Computer Graphics)是一种使 ...

  7. 三维错切变换矩阵_图像的仿射变换

    目录: 概述 图像基本变换 仿射变换 原理 python实现 一.概述 图像的几何变换主要包括:平移.缩放.旋转.仿射.透视等等.图像变换是建立在矩阵运算基础上的,通过矩阵运算可以很快的找到不同图像的 ...

  8. matlab函数 size()函数和waterfal()l函数,三维图形,矩阵

    matlab中size函数的用法: size()用来求矩阵的维度, [r,c]=size(A),这样获得矩阵的大小,r矩阵的行数,c矩阵的列数 r=size(A,1)获得矩阵的行数 c=size(A, ...

  9. 投影与三维视觉——本征矩阵和基础矩阵

    原文:http://blog.csdn.net/xiaoyinload/article/details/49000855 本征矩阵E:它包含了物理空间中两个摄像机相关的旋转(R)和平移信息(T).T和 ...

最新文章

  1. N 年沉淀,机器学习终于开源!
  2. 三分钟教会你搭建动态网络
  3. 抓住大数据时代的红利
  4. 微信OAuth2.0网页授权设置一个域名需多个域名使用的问题
  5. docker4dotnet #3 .net猿和小鲸鱼的苹果山之旅
  6. HTTPS的七个误解(译文)
  7. 前端 domparser未定义怎么解决_开源|wwto:小程序跨端迁移解决方案——微信转其他小程序...
  8. 数据集:工人与机床对日产量的影响
  9. 关于华硕电脑FX80GE风扇模式无法调节
  10. 【渝粤题库】广东开放大学 企业财务报表分析 形成性考核
  11. 渗透测试试题-----web方面知识点
  12. 顶级黑客分享的30个极简Python代码,拿走就能用!
  13. PAT 甲级考试终于满分了
  14. 如何使用a股量化交易api接口?
  15. 面向初学者的 MQL4 语言系列之3——技术指标和内置函数
  16. Python 中的Numpy函数
  17. 若依前后端分离框架学习-2:登录过程
  18. Gradle项目在构建时出现No PSK available错误的解决方案
  19. 章鱼网络进展月报 | 2021.10.1-10.31
  20. Springboot+Vue成果统一管理系统

热门文章

  1. 1、Visual Studio 2017安装
  2. 在outlook中批量导入MSG文件
  3. 修复 Rancher 2.5.x 内部证书过期导致无法启动的顽疾
  4. 安装Kong和Konga
  5. LAMP 技术简介(4)
  6. xss-platform平台的入门搭建
  7. 频谱仪原理与重要指标的作用
  8. DPDK — 安装部署
  9. 全国计算机等级考试二级Java全真模拟
  10. 红旗linux 安装教程,红旗linux安装教程,红旗linux9