三维刚体变换

1.旋转向量:

满足以下关系

RR^{^{T}}=E (E单位阵)

进一步得到:

R^{-1}=R^{​{T}}

 

p经过旋转和平移得到{p}',公式表达如下:

{p}'=R\cdot p+t;(t平移矩阵)

我们可以将上面的式子写成齐次:

\begin{vmatrix} {p}'\\ 1 \end{vmatrix}=\begin{bmatrix} R &t \\ 0 & 1 \end{bmatrix}

T\cdot \begin{vmatrix} a\\1 \end{vmatrix}

T也成为变换举证(transform Matrix)

它的反变换可以表示如下:

T^{-1}= \begin{bmatrix} R^{T}&-R^{t}T \\ 0& 1 \end{bmatrix}

2.四元数

紧凑和无奇异性

q =q^{_{0}} +q^{_{1}}i + q^{_{2}}j+q^{_{3}}k

q = \begin{bmatrix} s& v \end{bmatrix}

s = q^{_{0}}

v= \begin{bmatrix} q^{_{1}} & q^{_{2}} & q^{_{3}} \end{bmatrix}

用四元数的旋转表示:

{p}'=qpq^{-1}

2.相似变换

相较于欧式变换,相似变换的特点是保形状,但不保距,即一个正方形经过相似变换的作用后,仍然是一个正方形,但大小和以前不一样了;一个圆经过相似变换的作用后,仍然是一个圆,但大小和以前不一样了,即相似变换保住了图形中各边之间的比例,但是各自的实际尺寸大小却发生了改变,比如一个三角形,三条边是3,4,5,作用了相似变换后,变成了0.3,0.4,0.5,三条边的比例仍然是3:4:5,但各自的大小却变了。体现在公式上,相似变换的定义如下:

即比欧式变换多了一个尺度因子s

3.仿射变换

无论是欧式变换还是相似变换,其中都有一个比较特殊的矩阵 R——正交矩阵。这个正交矩阵保证了在变换的作用下,物体的形状不会发生改变。那么,如果把 R换成其他任意的矩阵A 呢?

很容易想到,此时的变换就不在保形状了,不过,该变换仍有一些不变的量,我们称之为不变量:

(1)平行线:原本平行的两个直线在仿射变换的作用下,仍然是平行线。

(2)平行线段的长度比。

(3)面积比。

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510234.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hbase1.2数据导入2.0

场景:现有一批之前导出的数据,发现2.0版本hbck工具更新,无法直接导入,跨机房使用export/import方式需要重新外网传输数据比较耗时,现搭建临时hbase版本1.2,在同机房进行export/import方式 数据导入hbase1.…

html 中 标签里面的id 和 name 有什么区别?

html 中 标签里面的id 和 name 有什么区别? id与name的作用,作为标签的标识符,基本上是一样的.name是老方法,id是在name基础上发明的,后来才有的. 一般来说,js中使用ID,asp或php中使用name.比如,在js中要引用这个标签,就需要这个ID是什么,而asp中要得到这个值,就会…

远程桌面管理工具

链接:https://pan.baidu.com/s/1K_AMitnmpYQkRWSBq9HhVA 提取码:d9eo

Impala-shell 查询异常 - ERROR: AnalysisException: Failed to evaluate expr: 1

直接使用impala-shell 进行最近本查询,异常 [test:21000] default> select * from tbName limit 1; Query: select * from vt_article limit 1 Query submitted at: 2018-09-14 13:43:10 (Coordinator: http://fwqzx002:25000) ERROR: AnalysisException: Fail…

手把手教你写平衡二叉树

因为上BST课的时候睡觉睡过了结果。。。,后者折腾了一个下午才写了出来,感谢http://blog.chinaunix.net/uid-24948645-id-3913917.html博客的详细解析,但是上面的不足之处在于代码是伪代码,基本实现不了,然后自己做了修…

视觉算法算法

https://github.com/rayryeng/XiaohuLuVPDetection https://xiaohulugo.github.io/papers/Vanishing_Point_Detection_WACV2017.pdf 三维重建 http://staff.ustc.edu.cn/~lgliu/ pnp问题: https://github.com/ydsf16/PnP_Solver slam文章: https:/…

CDH - 启动HbaseMaster时异常

测试环境 CDH,启动HbaseMaster时,启动失败,提示无法split WALs目录下的数据。 解决方法:删除WALs里的数据解决该问题(数据如不可恢复勿用该方法),重启成功 2018-09-14 14:43:07,254 WARN org.apache.hado…

HTML之标签

2.3.1标签1.开始标签<html> </html> 表示html的开始<head> </head> 描述html文档的相关信息&#xff0c;之间的内容是不会在浏览器的框内显示出来的<body> </body> 在浏览器中显示主要内容&#xff0c;也是html文件的主要部分。2.单独出现…

cuda编程性能 分析工具 nvprof的使用

ubuntu环境上&#xff0c;安装cuda,会自动安装一些工具nvcc ,nvprof nvcc-gdb.... 1.编译生成可执行文件 2.nvprof ./test 可以把性能分析数据输出到文件中 nvprof ./test -o test.nvvp 可以把在nvidia visual profiler现实更加直观 一些常用的配置参数&#xff1a; achie…

HUE Load Balancer 启动失败

安装LoadBalancer服务的机器要安装mod_ssl&#xff0c;httpd 解决方案&#xff1a; yum -y install mod_ssl 注意&#xff1a;安装前也要安装httpd服务&#xff0c;安装完成后记得查看是否启动 yum -y install httpd 异常信息如下&#xff1a; Cant open /opt/cm-5.13.0/r…

cuda nsight 调试和性能分析

如果cuda需要调试需要在配置cmake: cmake配置 set(CUDA_NVCC_FLAGS -G;-g) 命令行编译配置&#xff1a; nvcc –g –G MatrixCUDA.cu –o MatrixCUDA 打开 nvidia nsight monitor ->options进行设置 2.尽量把WDDM TDR Delay 调大点 3.将 use this monitor for cuda att…

html之元素与元素的形成

1.<title> 标签定义文档的标题。2.<p>插入文本内容 注意&#xff1a;<p> </p>整体等同于<p>3.有一些元素可以忽略开始标签4.合理嵌套

cuda线程束原语 __shfl_xor、__shfl、__shfl_up()、__shfl_down()

在CC3.0以上&#xff0c;支持了shuffle指令&#xff0c;允许thread直接读其他thread的寄存器值&#xff0c;只要两个thread在 同一个warp中&#xff0c;这种比通过shared Memory进行thread间的通讯效果更好&#xff0c;latency更低&#xff0c;同时也不消耗额外的内存资源来执行…

Hue添加RDBMS(关系型数据库)

Hue添加RDBMS方式 Hue界面没有Mysql添加方式&#xff0c;需要修改配置切换至Hue3界面&#xff0c;找一下 3.发现有添加方式 4.点进去发现&#xff0c;说要再配置文件中添加 5.经查阅资料发现&#xff0c;需要在hue的配置中hue_safety_valve.ini 修改/添加 相关数据库配置 6.…

html之属性的定义

<元素 属性"值"(或者值)>内容</元素>2.3.4属性的定义1.不定义属性2.属性值中的空白eg:<img src"c:/hello world">因为属性值是连续字符序列&#xff0c;因此hello与world之间的空白处应该用%20&#xff0c;<img srcc:/hello%20world&…

#error This file requires compiler and library support for the ISO C++ 2011 standard

解决方式&#xff1a; set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdc11")

HBase BlockCache系列 - 探求BlockCache实现机制

转载自&#xff1a;http://hbasefly.com/2016/04/26/hbase-blockcache-2/ HBase BlockCache系列第一篇文章《走进BlockCache》从全局视角对HBase中缓存、Memstore等作了简要概述&#xff0c;并重点介绍了几种BlockCache方案及其演进过程&#xff0c;对此还不了解的可以点这里。…

html之属性的应用

在html文档中&#xff0c;某些地方不允许存在某些字符。因此使用其他字符代替eg&#xff1a;小于号(<)和and符号(&)&#xff0c;如果错误的使用这些符号&#xff0c;会造成html解析器将显示错误。eg&#xff1a;<p><html></p>可以显示html如果不用其他…

ubuntu安装tensorflow-gpu 和pytorch

本文参考了&#xff1a; https://blog.csdn.net/qq_27825451/article/details/89082978 谢谢这位博主 这里我们选择清华源 sudo python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu1.2.0 pip install -i https://pypi.tuna.tsinghua.edu.c…

Hbase Memstore刷新方式与Region的数目上限

目录 Region数目上限 Region大小上限 MemStore的刷新方式&#xff08;触发条件&#xff09; HLog (WAL) Size & Memstore Flush 频繁的Memstore Flushes Region数目上限 RegionServer的region数目取决于memstore的内存使用&#xff0c;每个region拥有一组memstore&am…