3D点:非齐次坐标x(x,y,z) (x表示向量矢量)

   齐次坐标:x~=(x~,y~,z~,w~)=w~(x,y,z,1)=w~x~         增广矢量:x=(x,y,z,1)

w~=0时,齐次点称作理想点或无穷远点。

3D平移:

    非齐次坐标:x'=x+t  即 x'=[I t]x     I是3*3的单位矩阵

齐次坐标: x’=[I t; 0 1]x—       两个自由度t1,t2,t3

3D平移保持方向一致。

3D旋转+平移:(3D刚体运动,3D欧式变换)

非齐次坐标:x'=Rx+t  即 x'=[R t]x     R是3*3的正交旋转矩阵,RRT=I, |R|=1

齐次坐标: x’=[R t; 0 1]x—       六个自由度t1,t2,t3,R的三个参数

   一般用x'=R(x-c)=Rx-Rc, c是旋转中心,通常是摄像机中心。

3D欧式变换保持欧式距离,长度不变。

3D放缩旋转平移:

非齐次坐标:x'=sRx+t  即 x'=[sR t]x     R是3*3的正交旋转矩阵,RRT=I, |R|=1;

                      s是尺度因子(一个值),sR=[a -b; b a]

齐次坐标: x’=[sR t; 0 1]x—       七个自由度t1,t2,t3,R的三个参数,s

3D相似变换保持直线与平面间的夹角不变。

3D仿射变换:

齐次坐标: x’=Ax—    A 是3*4矩阵,A=[a00 a01 a02 a03; a10 a11 a12 a13; a20 a21 a22 a23 ]

共有12个自由度,A中的12个参数。

在仿射变换下,平行的线与平面仍然保持平行。

不变的性质:平面的平行性、体积比、形心、无穷远平面。

3D投影变换:(透视变换或同态映射)

齐次坐标: x’=H— x—   H是任意的4*4齐次矩阵,也是非奇异矩阵,只相差在一个尺度量的情况下定义的。仅仅尺度量不同的两个H是等同的。

               H=[h1 h2 h3 h4; h5 h6 h7 h8; h9 h10 h11 h12 ; h13 h14 h15 h16 ]

H的16个元素中有15个独立比率,因此一个投影变换有15个自由度(七个用于相似变换部分:旋转三个、位移三个、均匀缩放一个;五个用于仿射变换部分;三个用于射影变换部分)。

投影变换保持直线性(直线在变换后仍然是直线)。

自由度:当以样本的统计量来估计总体的参数时, 样本中独立或能自由变化的自变量的个数,称为该统计量的自由度。

3D坐标变换的层次
变换 矩阵 自由度数 保持性质 图标 失真 
平移 [I|t]3*4 3 方向

刚氏 [R|t]3*4 6 长度 体积

相似 [sR|t]3*4 7 夹角

仿射 [A]3*4 12 平行性 平行四边形

投影 [H-]4*4 15 直线性 梯形

        

注:表中的下层的变换都能产生上层变换的所有行为。

原创,转载请注明出处~

3D几何变换的更多相关文章

  1. 第1部分: 游戏引擎介绍, 渲染和构造3D世界

    原文作者:Jake Simpson译者: 向海Email:GameWorldChina@myway.com ---------------------------------------------- ...

  2. 《DirectX 9.0 3D游戏开发编程基础》必备的数学知识 读书笔记

    最近在看游戏导航源码,但是看了几天感觉看不懂.里面全是一些几何运算,以及一些关于3d方面的知识.发现自己缺少3d这方面的知识,正好也想研究一下3d游戏开发的基本原理,于是决定买本书看看了,后来在ope ...

  3. 基本3D变换之World Transform, View Transform and Projection Transform

    作者:i_dovelemon 来源:CSDN 日期:2014 / 9 / 28 主题:World Transform, View Transform , Projection Transform 引言 ...

  4. 单图像三维重建、2D到3D风格迁移和3D DeepDream

    作者:Longway Date:2020-04-25 来源:单图像三维重建.2D到3D风格迁移和3D DeepDream 项目网址:http://hiroharu-kato.com/projects_ ...

  5. 3D重建算法原理

    3D重建算法原理 三维重建(3D Reconstruction)技术一直是计算机图形学和计算机视觉领域的一个热点课题.早期的三维重建技术通常以二维图像作为输入,重建出场景中的三维模型.但是,受限于输入 ...

  6. 3D车道线检测:Gen-LaneNet

    3D车道线检测:Gen-LaneNet Gen-LaneNet: A Generalized and Scalable Approach for 3D Lane Detection 论文链接:http ...

  7. 数学:3D和矩阵

    跟紧工作需求学习,于是抽了点时间看了看用于2D3D转换的矩阵内容. 矩阵在3D数学中,可以用来描述两个坐标系间 的关系,通过定义的运算能够把一个坐标系中的向量转换到另一个坐标系中.在线性代数中,矩阵就 ...

  8. 2020国防科大综述:3D点云深度学习—综述(点云形状识别部分)

    目录 摘要 1.引言: 2.背景 2.1 数据集 2.2评价指标 3.3D形状分类 3.1基于多视图的方法 3.2基于体素的方法 3.3基于点的方法 3.3.1 点对多层感知机方法 3.3.2基于卷积 ...

  9. PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation

    摘要 点云是一种重要的几何数据结构类型.由于其不规则的格式,大多数研究人员将此类数据转化为常规的三维体素网格或图像集合.然而,这使数据变得不必要的庞大,并导致问题.在本文中,我们设计了一种新型的直接处 ...

随机推荐

  1. 扒一扒自从买了kindle后看的书

    一.<性别战争> 讲述的是动物界各类动物的xxx(你懂的),以动物拟人化的口吻来进行问答,十分的生动形象,虽说和自己的生活没有多大联系,但是偶尔了解一下,也是意外的不错的感觉. 二.< ...

  2. VS学习

    7.9 今天打开老师给的俄罗斯方块的程序,硬是跑不出来.已经遇到了这几个问题 [1]在项目属性里面C++目录中修改头文件和库函数的绝对路径(基础知识刚学会) [2]errorC1083 SDKDDKe ...

  3. OSChina码云试用

    首先在码云申请账户. 从 http://git-scm.com/download  下载window版的客户端.下载好,一步一步安装即可. $git config --global user.name ...

  4. SQL Server Reporting Service(SSRS) 第四篇 SSRS 用法总结

    1. 如何让表头在每页显示(译) A. 打开高级模式:  在分组栏中点击Column Goups右侧的箭头选择高级模式; B. 找到第一个Static组 在Row Groups区域中(注意不是Colu ...

  5. [讨论] 这几天来封装Win7用户配置文件丢失的解决方法个人心得

    [讨论] 这几天来封装Win7用户配置文件丢失的解决方法个人心得 prerouting 发表于 2010-5-9 16:50:46 https://www.itsk.com/thread-36634- ...

  6. Security » Authorization » 基于资源的授权

    Resource Based Authorization¶ 基于资源的授权 68 of 73 people found this helpful Often authorization depends ...

  7. 命令行导入mysql数据

    找到mysql安装目录(bin) 进入mysql mysql -u root -p 123 选中数据库 use 数据库名 导入sql  source sql数据库路径

  8. Java内存模型

    1. 概述 多任务和高并发是衡量一台计算机处理器的能力重要指标之一.一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(Transactions Per Second,TPS)这个指标比较能说明问题 ...

  9. 3个sprint的团队贡献分

    第一次冲刺贡献分   成员名字 贡献分 101丘娟 23 108周诗琦 26 107杨晓霞 24 124陈程 27     第二次冲刺贡献分   成员名字 贡献分 101丘娟 23 108周诗琦 27 ...

  10. HTML页面优化

    第一步:加载优化 减少HTTP请求. 因为手机浏览器同时响应请求为4个请求(Android支持4个,iOS 5后可支持6个),所以要尽量减少页面的请求数,首次加载同时请求数不能超过4个.a) 合并CS ...