当前位置: 首页 > news >正文

Part 0:射影几何,变换与估计-第三章:3D射影几何与变换

0帧起手

0.这一章是对2D射影空间的扩展,推广到了三维,搭建了同样的射影几何于欧式几何体系,包括点、平面、直线、射影变换、绝对二次曲线、对偶绝对二次曲线。

1. 3D空间中的齐次坐标形式是一个四元向量,其上的射影变换是一个4*4矩阵,具有15个自由度,与2D的射影变换类似,把直线映射为直线,也称直射变换。

2.平面的表示形式为

3.在 IP3 中,点与平面构成对偶关系,其表示与性质可类比 IP2 中的点线对偶性。这表现在:

  • 三个点即可确定一个平面;
  • 三个平面相交于一点

4.在IP3 中:

5.平面可以用它上面的点来表示,类比二维直线 l 上的点可表示为 (其中 

6.直线的表示,有多种方法,注意,3维射影空间中,其次坐标只能表示点或者平面,不能直接表示直线,故直线的表示包括:

(1)直线是共线点的集合(点束),可由任意两点确定。即直线由这两个点来联合表示。

        直线也是共轴平面的交线(平面束的轴),可由任意两个共轴平面确定。即直线由这两个平面来联合表示。

(2)普吕克直线坐标可以直接来表示直线,依赖于普吕克矩阵表示,普吕克矩阵是基于前面两点或者两平面的表示!也即二维射影空间中线l= x × y(由两点 x,y的叉积定义)的四维推广,具有对偶性。

(3)个人目前理解普吕克坐标的出现是为了使得带有直线的代数几何运算变简单,这可以从普吕克坐标表示的直线性质看到。

6. 二次曲面是三维射影空间 IP3中由方程定义的曲面:

其中 Q 为对称的4×4矩阵。通常直接用矩阵 Q 指代其定义的二次曲面。

二次曲面的性质可以类比于2D射影空间中的二次曲线性质。

7.扭曲二次曲线,即3D射影空间中的曲线,这个应用的情况较少,可以酌情阅读。

8.三维射影空间中的变换可以按照自由度不变性进行分类,形成一种层级结构(类似于第2章中的二维变换层级)。这些变换在计算机视觉、三维重建和SLAM中非常重要,因为它们描述了不同几何约束下的空间变换。

9.三维射影空间中的射影变换演化的更加复杂一些,即围绕某一个轴旋转以及平移。这可以类比于2D中的情况。

10.类比于2D射影空间,接下来就是IP3中无穷远相关内容,比如,无穷远点构成的无穷远平面

11.同样的,类比于IP2中所有的圆与无穷远线相交于虚圆点,IP3中,所有的圆与无穷远面相交于两个虚圆点,即该平面IP2上的虚圆点,并且所有的球面与无穷远面相交于绝对二次曲线(因为球面方程在无穷远处退化为 Ω∞

12.结论3.9<

http://www.lryc.cn/news/579566.html

相关文章:

  • 工作中用到过哪些设计模式?是怎么实现的?
  • Robot---能打羽毛球的机器人
  • Linux操作系统之文件(二):重定向
  • 物联网MQTT协议与实践:从零到精通的硬核指南
  • 【王阳明代数】基于Perplexica二次开发的道装资源标识符与重定向知识路由系统
  • 使用HAProxy搭建Web群集:原理、步骤与实战总结
  • Node.js特训专栏-实战进阶:12. 数据库事务处理与并发控制
  • 基于 alpine 构建 .net 的基础镜像
  • 基于MATLAB的风力发电机无人机巡检路径优化研究
  • 利用人名语言分类案例演示RNN、LSTM和GRU的区别(基于PyTorch)
  • Go调度器的抢占机制:从协作式到异步抢占的演进之路|Go语言进阶(7)
  • Android Profiler 丢帧分析教程及案例
  • WPF学习笔记(22)项面板模板ltemsPanelTemplate与三种模板总结
  • 【Git】同时在本地使用多个github账号进行github仓库管理
  • 两级缓存 Caffeine + Redis 架构:原理、实现与实践
  • locate 命令更新机制详解
  • 小红书自动化操作:使用本地Chrome和User Data实现高效反检测
  • Linux系统(信号篇):信号的处理
  • spring6合集——spring概述以及OCP、DIP、IOC原则
  • MongoDB Memory Server与完整的MongoDB的主要区别
  • CANFD芯片在工控机数据采集和测量中的应用分析
  • 重新学习Vue中的按键监听和鼠标监听
  • PDF的图片文字识别工具
  • 110道Python面试题(真题)
  • Spring AI ETL Pipeline使用指南
  • 01_前后端打包发布、API接口调试
  • Stata如何做机器学习?——SHAP解释框架下的足球运动员价值驱动因素识别:基于H2O集成学习模型
  • Spring生态:引领企业级开发新纪元
  • Linux开发工具——gcc/g++
  • 【CSS揭秘】笔记