三维数学基础2:矩阵、齐次坐标
三维数学基础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:矩阵、齐次坐标相关推荐
- 【机器学习中的数学基础】矩阵特征值、特征向量和特征值分解的几何意义
[机器学习中的数学基础]矩阵特征值.特征向量和特征值分解的几何意义 在<机器学习>西瓜书中的第十章提到了"多维缩放"(简称MDS)方法,该方法是一种经典的的降维方法.此 ...
- 空间坐标系以及空间两三维坐标系转换矩阵解释
空间坐标系以及空间两三维坐标系转换矩阵解释 因为工作的原因,需要进行不同坐标系的一个转换,在查阅了众多的网页之后,发现有用的没几个,而且众多都是抄的同一篇文章,而且都是罗列以下旋转的方式,几乎没有解释 ...
- 多维(三维四维)矩阵向量运算-超强可视化
多维(三维四维)矩阵向量运算-超强可视化 1.高维矩阵可视化 一维 二维 三维 四维 2.高维矩阵运算 高维矩阵或者向量的运算,是一个困扰着我很久的问题:在NLP里面经常就会碰到三维,四维的向量运算, ...
- 机器学习所需要的数学基础知识---矩阵(1)
机器学习所需要的数学基础知识-矩阵(1) 本系列文章为机器学习所需要的数学基础知识,在机器学习文章中如需要,会给出本系列文章的链接,如有问题欢迎给我留言.数学公式使用Letex编辑,原文博客http: ...
- 三维数学基础(一)坐标系、向量、矩阵
本博文为博主原创,转载请注明出处:http://blog.csdn.net/xiemotongye/article/details/9052165 接触OpenGL和计算机图形学有一段时间了,一直想写 ...
- 三维数学基础之坐标系、向量、矩阵
转载自:http://blog.csdn.net/iosevanhuang/article/details/9052165 一.计算机图形学 计算机图形学(Computer Graphics)是一种使 ...
- 三维错切变换矩阵_图像的仿射变换
目录: 概述 图像基本变换 仿射变换 原理 python实现 一.概述 图像的几何变换主要包括:平移.缩放.旋转.仿射.透视等等.图像变换是建立在矩阵运算基础上的,通过矩阵运算可以很快的找到不同图像的 ...
- matlab函数 size()函数和waterfal()l函数,三维图形,矩阵
matlab中size函数的用法: size()用来求矩阵的维度, [r,c]=size(A),这样获得矩阵的大小,r矩阵的行数,c矩阵的列数 r=size(A,1)获得矩阵的行数 c=size(A, ...
- 投影与三维视觉——本征矩阵和基础矩阵
原文:http://blog.csdn.net/xiaoyinload/article/details/49000855 本征矩阵E:它包含了物理空间中两个摄像机相关的旋转(R)和平移信息(T).T和 ...
最新文章
- N 年沉淀,机器学习终于开源!
- 三分钟教会你搭建动态网络
- 抓住大数据时代的红利
- 微信OAuth2.0网页授权设置一个域名需多个域名使用的问题
- docker4dotnet #3 .net猿和小鲸鱼的苹果山之旅
- HTTPS的七个误解(译文)
- 前端 domparser未定义怎么解决_开源|wwto:小程序跨端迁移解决方案——微信转其他小程序...
- 数据集:工人与机床对日产量的影响
- 关于华硕电脑FX80GE风扇模式无法调节
- 【渝粤题库】广东开放大学 企业财务报表分析 形成性考核
- 渗透测试试题-----web方面知识点
- 顶级黑客分享的30个极简Python代码,拿走就能用!
- PAT 甲级考试终于满分了
- 如何使用a股量化交易api接口?
- 面向初学者的 MQL4 语言系列之3——技术指标和内置函数
- Python 中的Numpy函数
- 若依前后端分离框架学习-2:登录过程
- Gradle项目在构建时出现No PSK available错误的解决方案
- 章鱼网络进展月报 | 2021.10.1-10.31
- Springboot+Vue成果统一管理系统