Velodyne 线性激光雷达数据合成
如果想用字母表示角度,有两个方法:
1. 用三角函数sind(θ4)、cosd(θ4)、tand(θ4)、atand(θ4)进行表示,注意:θ4在输入时是角度,只是没有度数特有的符号(°)而已。
2. 用deg2rad将角度转换为弧度。45度就是45/180*pi,60度就是60/180*pi。pi=3.1415。
clear m = csvread('zero_1.csv', 2, 0); n = csvread('one_1.csv', 2, 0); for i=1:1:3 m1(:,i)=m(:,i); n1(:,i)=n(:,i); end k=36/180*pi; k1=1/180*pi; trans=[cos(k) sin(k) 0;-sin(k) cos(k) 0;0 0 1]; trans1=[01 0 0;0 cos(k1) sin(k1);0 -sin(k1) cos(k1)]; trans2=[cos(-k) sin(-k) 0;-sin(-k) cos(-k) 0;0 0 1]; tmp=(trans2*trans1*trans*n1')'; tmp=[tmp;m1]; scatter3(tmp(:,1),tmp(:,2),tmp(:,3),1) %scatter3(m(:,1),m(:,2),m(:,3),1) %scatter3(n(:,1),n(:,2),n(:,3),1)
2019-03-23八向数据合成


clear
a{10} = csvread('0 0.csv', 2, 0);
a{1} = csvread('-1 0.csv', 2, 0);
a{2} = csvread('1 0.csv', 2, 0);
a{3} = csvread('0 -1.csv', 2, 0);
a{4} = csvread('0 1.csv', 2, 0);
a{5} = csvread('-0.7 0.7.csv', 2, 0);
a{6} = csvread('0.7 -0.7.csv', 2, 0);
a{7} = csvread('-0.7 -0.7.csv', 2, 0);
a{8} = csvread('0.7 0.7.csv', 2, 0);
for i=1:1:3
b{1}(:,i)=a{1}(:,i);
b{2}(:,i)=a{2}(:,i);
b{3}(:,i)=a{3}(:,i);
b{4}(:,i)=a{4}(:,i);
b{5}(:,i)=a{5}(:,i);
b{6}(:,i)=a{6}(:,i);
b{7}(:,i)=a{7}(:,i);
b{8}(:,i)=a{8}(:,i);
b{10}(:,i)=a{10}(:,i);
end
ans=[trans(b{1},-1,0,0);trans(b{2},1,0,0);trans(b{3},0,1,0);trans(b{4},0,-1,0);trans(b{8},0.7,0.7,0);b{10};];
% trans(b{6},-0.7,0.7,0);
% trans(b{1},-1,0,0);trans(b{2},1,0,0);trans(b{3},0,1,0);trans(b{4},0,-1,0);
scatter3(ans(:,1),ans(:,2),ans(:,3),1)
function x=trans(m,x,y,z) k=36/180*pi; trans1=[cos(k) sin(k) 0;-sin(k) cos(k) 0;0 0 1]; trans2=[cos(-k) sin(-k) 0;-sin(-k) cos(-k) 0;0 0 1]; x=x/180*pi; y=y/180*pi; z=z/180*pi; transy=[cos(y) 0 -sin(y);0 1 0;sin(y) 0 cos(y)]; transz=[cos(z) sin(z) 0;-sin(z) cos(z) 0;0 0 1]; transx=[1 0 0;0 cos(x) sin(x);0 -sin(x) cos(x)]; x=(trans2*transy*transx*transz*trans1*m')'; % x=(transy*transx*transz*m')';
2019-03-23 着色演示与csv写入


clear
a{10} = csvread('0 0.csv', 2, 0);
a{1} = csvread('-1 0.csv', 2, 0);
a{2} = csvread('1 0.csv', 2, 0);
a{3} = csvread('0 -1.csv', 2, 0);
a{4} = csvread('0 1.csv', 2, 0);
a{5} = csvread('-0.7 0.7.csv', 2, 0);
a{6} = csvread('0.7 -0.7.csv', 2, 0);
a{7} = csvread('-0.7 -0.7.csv', 2, 0);
a{8} = csvread('0.7 0.7.csv', 2, 0);
for i=1:1:3
b{1}(:,i)=a{1}(:,i);
b{2}(:,i)=a{2}(:,i);
b{3}(:,i)=a{3}(:,i);
b{4}(:,i)=a{4}(:,i);
b{5}(:,i)=a{5}(:,i);
b{6}(:,i)=a{6}(:,i);
b{7}(:,i)=a{7}(:,i);
b{8}(:,i)=a{8}(:,i);
b{10}(:,i)=a{10}(:,i);
end
b{1}=trans(b{1},-1,0,0);
b{2}=trans(b{2},1,0,0);
b{3}=trans(b{3},0,1,0);
b{4}=trans(b{4},0,-1,0);
b{8}=trans(b{8},0.7,0.7,0);
for i=1:1:3
a{1}(:,i)=b{1}(:,i);
a{2}(:,i)=b{2}(:,i);
a{3}(:,i)=b{3}(:,i);
a{4}(:,i)=b{4}(:,i);
a{5}(:,i)=b{5}(:,i);
a{6}(:,i)=b{6}(:,i);
a{7}(:,i)=b{7}(:,i);
a{8}(:,i)=b{8}(:,i);
end
ans0=[a{1};a{2};a{3};a{4};a{8};a{10};];
% csvwrite('tst.csv',ans0);
scatter3(ans0(:,1),ans0(:,2),ans0(:,3),1,ans0(:,4),'.');
%x,y,z,粗细,强度,形状(默认是圈)
caxis([0,100]);
%强度的取值范围
colorbar; %在右侧显示颜色条
2019-03-24 支架构建

Velodyne 线性激光雷达数据合成的更多相关文章
- Velodyne线性激光雷达pcap文件格式及写入、数据解析 Lebal:激光雷达
转载自https://blog.csdn.net/qq_25241325/article/details/80766305 roslaunch loam_velodyne loam_velodyne. ...
- Velodyne VLP-16激光雷达数据分析
Velodyne VLP-16激光雷达数据分析 Velodyne VLP-16激光雷达保持了 Velodyne 在 LiDAR 中的突破性重要功能:实时收发数据.360 度全覆盖.3D 距离测量以及校 ...
- jQuery的deferred对象使用详解——实现ajax线性请求数据
最近遇到一个ajax请求数据的问题 ,就是想要请求3个不同的接口,然后请求完毕后对数据进行操作,主要问题就是不知道这3个请求誰先返回来,或者是在进行操作的时候不能保证数据都已经回来,首先想到能完成的就 ...
- I.MX6 Linux mipi配置数据合成
/*************************************************************************** * I.MX6 Linux mipi配置数据合 ...
- Matlab生成二类线性可分数据
%% 生成二类线性可分数据 function [feature, category]=generate_sample(step,error) aa=3; %斜率 bb=3; %截距 b1=1; rr ...
- 激光雷达数据到云cloud
激光雷达数据到云cloud 在美国地质调查局的3D提升计划(3DEP)被激发到一个新的方式可用性宣布从3DEP仓库的访问和处理激光雷达点云数据. 3DEP一直在美国使用光检测和测距(激光)技术获取三维 ...
- jsoncpp用法通俗易懂之将数据合成json格式
void *upload(void *pParam) { CUpSender *s = (CUpSender*)pParam; map<string, string> mx; char t ...
- oracle 将多字段数据合成一个
1.系统默认 WMSYS.WM_CONCAT(A.ID), 2.再进行替换 REPLACE(WMSYS.WM_CONCAT(A.ID),',','|'), (张)
- node 把base数据合成图片
var cr = new Buffer(img_Datas, 'base64'); var img = params.img_path + '/' + picDevNo + '_' + params. ...
随机推荐
- scala学习手记27 - 下划线与参数
在Scala里,下划线(_)可以表示函数值的参数.如果某个参数在函数里仅使用一次,就可以用下划线表示.每次在函数里用下划线,都表示随后的参数. val arr = Array(1, 2, 3, 4, ...
- QTabWidget和QtabBar的区别
切换标签tab 是QTabBar int QTabWidget::insertTab ( int index, QWidget * page, const QString & label ) ...
- 将hibernate.cfg.xml文件都放到spring中时报错
报错如下所示: 私以为是配置文件出现问题了. <?xml version="1.0" encoding="UTF-8"?> <beans xm ...
- 【转】安装Ubuntu时卡在logo界面
Ubuntu15.04 安装卡在logo界面不动,进度点卡死不动,原因主要是双显卡,电源设置项默认不合理,导致安装失败. 选择USB硬盘(uefi),进入到一个有四个选项的界面,分别是 1,try U ...
- 【scala】IO
1.读文件 可以使用Scala的Source类及其对象来读取文件. Source 类 需要导入 scala.io.Source 然后调用fromFile()方法来读取文件内容 import scala ...
- Git_学习_11_Git rebase合并提交信息
一.前言 二.操作过程 (1)先后两次进行文件修改,然后提交到本地仓库. (2)使用 git rebase -i origin/dev 来合并提交信息. 会弹出一个编辑框 p 07c5abd Intr ...
- python基础之网络基础
一.操作系统基础 操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才 ...
- New Concept English three (42)
21 33 Cave exploration, or pot-holing, as it has come to be known, is a relatively new sport. Perhap ...
- New Concept English three (35)
27 55 The word justice is usually associated with courts of law. We might say that justice has been ...
- velocity与map
1. 遍历map map<String, Object> mapData = new HashMap<String, Object>(); mapData.put(" ...

