首页 > 其他分享 >Plucker坐标的新理解

Plucker坐标的新理解

时间:2023-04-04 09:55:24浏览次数:34  
标签:表示 矩阵 理解 坐标 Plucker 坐标系 向量

Plucker坐标表示的是6自由度的,在表示变换和重投影时具有良好的现行特性。假设直线上两个点的坐标分别为 \({A^T}\)、\({B^T}\)
那么Plucker矩阵可以表示为:\({L=AB^T-BA^T}\)
假设 \({A^T=(x_1,y_1,z_1,w_1)、B^T={(x_2,y_2,z_2,w_2)}}\) 那么有:
image

可以发现该矩阵是一个反对称矩阵--> \({l_{ii}=0,l_{ij}=-l_{ji}}\)
现在将红色部分定义为n,将绿色部分定义为v,有:\({n=[l_{41},l_{42},l_{43} ]^T,v=[l_{23},l_{31},l_{12} ]^T}\)
这意味着n表示方向向量,v表示法向量(穿过原点和直线),与方向向量垂直,满足 \({n^T v=0}\)
假设w=1,表示齐次坐标,有:
\({X_2 - X_1 =n}、{X_1 × X_2 =v}\)

image

Plucker矩阵L与Plucker坐标\({L=(n,v)^T}\) 的转换关系如下:
image

使用 Plucker坐标表示空间中的直线有很多优点。尤其是在表示坐标系转换和相机重投影时,具有线性形式。例如,当世界坐标系和相机坐标系进行转换时,可以表示为
image

image
image


image

标签:表示,矩阵,理解,坐标,Plucker,坐标系,向量
From: https://www.cnblogs.com/hongweijiang/p/17285386.html

相关文章

  • MyBatis插件原理解析(转载)
    前言大多数框架都支持插件,用户可通过编写插件来自行扩展功能,Mybatis也不例外。在Mybatis中最出名的就是PageHelper分页插件,下面我们先来使用一下这个分页插件。如何集成分页插件Spring-Boot+Mybatis+PageHelper引入pom依赖<dependency><groupId>com.github.pagehelper<......
  • 如何理解MySQL的MVCC多版本并发控制
    前言我们知道在mysql中存在四种隔离级别(读未提交、读已提交、可重复读、序列化),它默认的就是隔离级别就是可重复读,它能够解决脏读、不可重复读问题,并且在innodb引擎下能部分解决幻读问题。在mysqlinnodb存储引擎下RC(读已提交),RR(可重复读)基于MVCC(多版本并发控制)进行并发事务控......
  • 深入理解Magento – 第七章 – 自定义Magento系统配置
    深入理解Magento作者:AlanStorm翻译:HailongZhang第七章–自定义Magento系统配置Magento拥有十分强大的后台管理系统。作为一名开发人员,这套后台管理系统可以让你的用户简单直接的配置Magento系统或者你创建的模块。和Magento的其他功能一样,你第一次使用这套管理系统的时候可......
  • Spring注解驱动原理及源码,深入理解Spring注解驱动
    文章目录一、Java注解入门大全二、Spring注解驱动编程发展历程1、注解驱动启蒙时代:SpringFramework1.x@Transactional@ManagedResource2、注解驱动过渡时代:SpringFramework2.x@Repository@Component3、注解驱动黄金时代:SpringFramework3.x4、注解驱动完善时代:SpringFramewo......
  • 性能分析之数据理解和数学基础
    PS:差不多完成了这一轮性能培训相关PPT的编写,一个最艰苦的部分也有了起色。对于每一个做性能分析的来说,不可跳过的一个提升阶段是对数据的理解。当初学者经历了工具的使用之后,下一步就面对了工具产出的数据,所以看得懂数据是必须的一个过程。性能分析中的数据理解:在数据理解上,有两个......
  • 坐标轴中两矩形重叠面积
    1、先排除没有重叠的情况2、找出重叠的面积的宽和长用在x轴方向上两矩形左边两个边x值x1、x2,求max(x1,x2)右边两条边x值x3,x4,求min(x3,x4)length=abs(max(x1,x2)-min(x3,x4)width同理,在y轴方向上操作最后area=length+width  1intgetSpace(intx1,inty1,intx2,inty2......
  • 理解jquery的$.extend()、$.fn和$.fn.extend()
    jQuery为开发插件提拱了两个方法,分别是:·jQuery.fn.extend();jQuery.extend();jQuery.fnjQuery.fn=jQuery.prototype={init:function(selector,context){//….//……};原来  jQuery.fn=jQuery.prototype  对prototype肯定不会陌生啦。·虽然javascript......
  • 3d基础 - 从模型坐标到屏幕坐标
    在3D引擎中,场景通常被描述为三维空间中的模型或对象,每个模型对象由许多三维顶点组成。最终,这些模型对象将在平面屏幕上呈现和显示。渲染场景始终相对于摄像机,因此,还必须相对于摄像机的视图定义场景的顶点。了解一下这个转换过程是相当有必要的。上图中,point为正方体的一个顶......
  • 逆向——C语言的汇编表示之堆栈图 手把手示例 可以考虑在函数内部加一个局部变量来综
    课程概要来自:https://gh0st.cn/Binary-Learning/C%E8%AF%AD%E8%A8%80.html写得非常详细本章课程需要具备汇编语言基础,若无汇编语言基础是无法去理解课程中所讲的一些知识点和技术细节的;同时也表示本课程是以汇编语言来理解C语言,透过本质理解高级语言。关于本节课的环境:VC6,VC6......
  • 如何理解信息隐藏和局部化?
    信息隐藏和局部化是计算机科学领域中的两个重要概念,它们在许多应用中都有着广泛的应用。理解这两个概念可以帮助我们更好地设计和实现计算机程序,保护用户隐私,提高软件的安全性和可靠性。下面是对信息隐藏和局部化的简要解释:信息隐藏信息隐藏是指在计算机程序中嵌入一些秘密信......