问题记录-(2019/11/5)

  • 坐标变换-旋转(我们把点云原坐标系称为世界坐标系,把以本身正方向得到的坐标系称为 基坐标系)

让点云cloud 旋转到与坐标轴重回,且质心位于世界坐标系原点;

1。由cloud 本身参数求得质心,获得协方差矩阵,由协方差矩阵solver 得到 vectors 和 values,

使得vectors 正交化,得到点云主方向极坐标,也是由cloud世界坐标到基坐标的旋转矩阵,

2.点云旋转至世界坐轴系重回即为基坐标向世界坐标系旋转。求仿射变换矩阵。

    Eigen::Matrix4f transfroms_residual = Eigen::Matrix4f::Identity();
    Eigen::Matrix4f transfroms_residual_inv = Eigen::Matrix4f::Identity();
    transfroms_residual.block<3, 3>(0, 0) = eigenVectorsPCA_residual.transpose();
    transfroms_residual.block<3, 1>(0, 3) = -1.0f*(eigenVectorsPCA_residual.transpose())*(pcaCentroid_residual.head<3>()); //-R*t
    transfroms_residual_inv = transfroms_residual.inverse();

要使质心位于世界坐标系原点,则平移向量为质心点坐标;

求得仿射变换矩阵;

原文地址:https://www.cnblogs.com/xiaoniubenrecord-6161/p/11800327.html

时间: 2024-11-14 12:55:38

问题记录-(2019/11/5)的相关文章

【2019.11.5】

2019.11.5 开方 可以找到规律der 然后特判 开方五次最大为\(2^{32}-1\) 注意可能有前导零 要注意特殊数据\(0,1\)== 然后我没有注意到\(1\)... 行叭我是瘟猪 int main(){ //freopen("sqrt.in","r",stdin); //freopen("sqrt.out","w",stdout); for(;scanf("%s",s+1)!=EOF;){

个人知识管理系统Version1.0开发记录(11)

关 键 字 搜 索 (1)匹配单个属性的关键字:(2)匹配单个对象的关键字:(3)匹配对象集合的关键字:(4)基于事件驱动的:(5)实时搜索,参考win7的搜索功能. 1.备份,java代码,数据库数据. 2.oracle数据库,用户操作. (1)查看数据库默认表空间. select * from database_properties;(2)创建用户create user 用户名 identified by 密码 默认表空间 临时表空间create user dyl identified by

2019.11.11 题解报告

目录 2019.11.11 题解报告 答题情况: 各题目分析: 题目解析: 代码实现: 2019.11.11 题解报告 \[N^2\text{狂草1e5它不香嘛?}\] \[\text{By:Unluckierblock}\] 答题情况: 总成绩 : 169, 排名: 11 / 32 T1 : 0 T2 : 99 T3 : 70 各题目分析: 题目 1 : 预估成绩 : 60 实际成绩 : 0 考试用时 : 8 : 00 ~ 8 : 50 , 9 : 50 ~ 10 : 10 没有什么感觉 ,

2019.11.30训练赛总结

2019.11.30训练赛总结 Codeforces Round #499 (Div. 2) 总的来说是一场很不愉快的比赛.漏洞百出. 对于A题,其实没有什么技术含量,只是写的时候忘记了边界的情况,导致出现错误. B题,一定程度上考验了思维,既然从正面做不行,那么我可以反着来,既然求不可以正向求出答案,那我可以把答案枚举带进去看是否符合条件啊,如果数据范围再大点的话还可以二分. D题,也反应出了自己的一个漏洞,就是懒得一步一步去推数据,代数据进去.当出现bug的时候,最直接,最有效的办法,就是把

EOJ Monthly 2019.11 E. 数学题(莫比乌斯反演+杜教筛+拉格朗日插值)

传送门 题意: 统计\(k\)元组个数\((a_1,a_2,\cdots,a_n),1\leq a_i\leq n\)使得\(gcd(a_1,a_2,\cdots,a_k,n)=1\). 定义\(f(n,k)\)为满足要求的\(k\)元组个数,现在要求出\(\sum_{i=1}^n f(i,k),1\leq n\leq 10^9,1\leq k\leq 1000\). 思路: 首先来化简一下式子,题目要求的就是: \[ \begin{aligned} &\sum_{i=1}^n\sum_{j=1

2019.11.18CTFD搭建记录

### 0x01 新生开学,准备在自己服务器搭建个ctfd给新生们玩玩,忙活了一天orz[大一刚开学就搭建过没这么费力啊..] 现在大二了没想到能折腾一天... 直接说下我踩的坑吧,给后来的人们说说 0x02 一: 首先想到搭建一个实现动态flag的ctfd,在搭建过程中发现docker出现了各种错误,因为太菜了调试好一个错误又出现另一个,时间比较急决定按照网上绝大部分的教程搭建,放弃docker. 二 开始按照网上大部分教程搭建,直到最后..运行serve.py报错... 报错如下: no-m

OpenCV官方文档学习记录(11)

制作自己的filter, 主要使用filter2D函数: 先上代码: 1 #include "opencv2/opencv.hpp" 2 #include<iostream> 3 #include<string> 4 5 using namespace std; 6 using namespace cv; 7 8 int main(void) 9 { 10 Mat src,dst; 11 12 Mat kernel; 13 Point anthor; 14 do

loj刷题记录2019/2/20

#10064. 「一本通 3.1 例 1」黑暗城堡 题目描述 你知道黑暗城堡有 NNN 个房间,MMM 条可以制造的双向通道,以及每条通道的长度. 城堡是树形的并且满足下面的条件: 设 DiD_iDi? 为如果所有的通道都被修建,第 iii 号房间与第 111 号房间的最短路径长度: 而 SiS_iSi? 为实际修建的树形城堡中第 iii 号房间与第 111 号房间的路径长度: 要求对于所有整数 iii (1≤i≤N1\le i\le N1≤i≤N),有 Si=DiS_i= D_iSi?=Di?

Linux 学习记录 2019年5月5日

2.1 shell内核:include <stdio.h> shell是应用程序控制硬件终端的一个统称.bash 1:广泛 2:好用 tab键补齐 .既然Linux系统中已经有了Bash这么好用的"翻译官",那么接下来就有必要好好学习下怎么跟它沟通了. 常见执行Linux命令的格式是这样的:命令名称 [命令参数] [命令对象]注意,命令名称.命令参数.命令对象之间请用空格键分隔. 命令:要做的事情参数:对命令的修饰 让命令更加适用于当前的工作场景对象:被动方,承受者 命令对