03-三维空间刚体运动-01-齐次坐标和一般坐标

不仅仅在SLAM中,计算机视觉中有很多约定俗成的假设,会给阅读者带来一定的理解困难。

以世界坐标到像素坐标的转化为例:

(关于什么是世界坐标、像素坐标、图像坐标,可以参考我的视频:https://www.bilibili.com/video/av22842726)

一般坐标:

P‘ 表示变换后的点坐标;

P 表示原来的点坐标;
R 是3X3旋转向量;

t 是3X1平移矩阵

这里的P‘ 和 P 都是三维坐标。

齐次坐标:

T 是4X4的外参矩阵;

所以,对应的P‘和P应该是四维向量才可以计算。就是在三维的基础上,加一个1.

约定,在表示RP和TP的时候,看情况,自动将P选择为满足运算的形式。

原文地址:https://www.cnblogs.com/alexYuin/p/8984749.html

时间: 2024-10-01 00:29:06

03-三维空间刚体运动-01-齐次坐标和一般坐标的相关文章

《视觉slam十四讲》-第3讲-三维空间刚体运动

<视觉slam十四讲>-第3讲-三维空间刚体运动 原文地址:https://www.cnblogs.com/tangyuanjie/p/12606386.html

(1) 三维空间刚体运动

1.点与坐标系 二维时:xy坐标和指向角度,例如扫地机器人,朝哪个方向运动 即 (x , y , θ ) 向量的内积 向量的外积 a × b = a的反对称矩阵 点乘 b  =a ^ b   其中 a^ 为a的反对称矩阵 坐标系:世界坐标系,机器人坐标系,传感器坐标系 2.旋转矩阵 考虑旋转不考虑平移,一个固定点(坐标旋转否它就在那里),在两个坐标系的向量相等. 向量与坐标不能等同,当指定坐标系时,向量才有坐标,有实数对应.向量的坐标取值与向量和坐标系有关. 两边同时左乘一个向量, 使上式左边系

《视觉slam十四讲》之第3讲-三维刚体运动

第三讲:三维空间刚体运动 旋转的几种表达方式 向量 关于向量: 注:其中e1,e2,e3为线性空间下的一组基. 向量的内积: 注:向量的内积表示向量间的投影关系. 向量的外积 注:可以使用外积表示向量的旋转. 注:^ 记成一个反对称符号. 旋转矩阵 假设某个单位正交基(e1; e2; e3) ,经过一次欧式变换,变成了(e′ 1; e′ 2; e′ 3),对于同一个向量 a (注意该向量并没有随着坐标系的旋转而发生运动),它在两个坐标系下的坐标为 [a1; a2; a3]T 和 [a′ 1; a

js 运动01

1. 运动中的四个bug 不会停止; 速度取某些值会无法停止; 到达位置后再点击还会运动; 重复点击速度加快 <input type="button" onclick="startMove()" value="开始运动"/> <div id="div1"></div> <script> var timer = null; function startMove(){ var oDi

physx之刚体运动

[线性速度与角速度] PxRigidBody的速度由线性速度和角速度构成, 可以分别通过setLinearVelocity和setAngularVelocity进行设置.需要注意的是, 刚体的角速度总是基于以刚体的质心为原点的坐标系的. 假设刚体的起点和终点分别是pose1和pose2, 运动时间为t,则速度计算公式如下: 线性速度 lv = (pose2.p - pose1.p) / t 变换四元数 d = pose2.q * pose1.q.getConjugate -> 轴对(angle,

Scratch编程小秘笈01:方向与坐标巧记忆

[问题]Scratch中任何精灵的编程全靠一个坐标系中方向.坐标值变化等数据的修改来实现,那么如何迅速.准确地记忆Scratch中的坐标系呢? [回答]先看下面的坐标系示意图: 中学数学中的直角坐标系,0度在正东向.因此,两种坐标系相差90度.默认情况下,Scratch中的任何一个精灵都是朝向90度的.把握这一点后,再牢记: 顺时针时度数增加,逆时针时度数减少 于是:**90+90=180---------正下方180+90=270---------正左方270+90=360---------正

《SLAM十四讲》个人学习知识点梳理

0.引言 从六月末到八月初大概一个月时间一直在啃SLAM十四讲[1]这本书,这本书把SLAM中涉及的基本知识点都涵盖了,所以在这里做一个复习,对这本书自己学到的东西做一个梳理. 书本地址:http://www.broadview.com.cn/book/4938 书本代码:https://github.com/gaoxiang12/slambook 1.SLAM概述 SLAM:即时定位与地图构建(Simultaneous Localization and Mapping) 数学描述: 一个典型的

刚体的平面运动

利用矩阵乘法来实现刚体的平面运动,并绘制刚体运动前后的图形 用平面坐标系中的一个闭合图形来描述刚体,用一个矩阵X来描述它.X的一列表示刚体一个顶点的坐标.为了使图形闭合,X的最后一列和第一列相同: 为了实现刚体的平移运算,给矩阵X添加元素值为1的一行,使矩阵X的形状为3Xn 若有矩阵: 可以证明:矩阵Y1是刚体沿x轴正方向平移c1.沿y轴正方向平移c2后的结果:矩阵Y2是刚体X以坐标原点为中心逆时针转动t弧度的结果 例:用下列数据表示大写字母A,对图形A进行以下平面运动,并绘制移动前后的图形 x

Unity3D之碰撞体,刚体

一 概念介绍 刚体 Rigidbody(刚体)组件可使游戏对象在物理系统的控制下来运动,刚体可接受外力与扭矩力用来保证游戏对象像在真实世界中那样进行运动.任何游戏对象只有添加了刚体组件才能受到重力的影响,通过脚本为游戏对象添加的作用力以及通过NVIDIA物理引擎与其他的游戏对象发生互动的运算都需要游戏对象添加了刚体组件. 碰撞体 碰撞体是物理组件的一类,它要与刚体一起添加到游戏对象上才能触发碰撞.如果两个刚体相互撞在一起,除非两个对象有碰撞体时物理引擎才会计算碰撞,在物理模拟中,没有碰撞体的刚体