坐标系旋转

如果想用字母表示角度,有两个方法:

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 线性激光雷达数据合成的更多相关文章

  1. Velodyne线性激光雷达pcap文件格式及写入、数据解析 Lebal:激光雷达

    转载自https://blog.csdn.net/qq_25241325/article/details/80766305 roslaunch loam_velodyne loam_velodyne. ...

  2. Velodyne VLP-16激光雷达数据分析

    Velodyne VLP-16激光雷达数据分析 Velodyne VLP-16激光雷达保持了 Velodyne 在 LiDAR 中的突破性重要功能:实时收发数据.360 度全覆盖.3D 距离测量以及校 ...

  3. jQuery的deferred对象使用详解——实现ajax线性请求数据

    最近遇到一个ajax请求数据的问题 ,就是想要请求3个不同的接口,然后请求完毕后对数据进行操作,主要问题就是不知道这3个请求誰先返回来,或者是在进行操作的时候不能保证数据都已经回来,首先想到能完成的就 ...

  4. I.MX6 Linux mipi配置数据合成

    /*************************************************************************** * I.MX6 Linux mipi配置数据合 ...

  5. Matlab生成二类线性可分数据

    %% 生成二类线性可分数据 function [feature, category]=generate_sample(step,error) aa=3; %斜率 bb=3; %截距 b1=1; rr ...

  6. 激光雷达数据到云cloud

    激光雷达数据到云cloud 在美国地质调查局的3D提升计划(3DEP)被激发到一个新的方式可用性宣布从3DEP仓库的访问和处理激光雷达点云数据. 3DEP一直在美国使用光检测和测距(激光)技术获取三维 ...

  7. jsoncpp用法通俗易懂之将数据合成json格式

    void *upload(void *pParam) { CUpSender *s = (CUpSender*)pParam; map<string, string> mx; char t ...

  8. oracle 将多字段数据合成一个

    1.系统默认 WMSYS.WM_CONCAT(A.ID), 2.再进行替换 REPLACE(WMSYS.WM_CONCAT(A.ID),',','|'), (张)

  9. node 把base数据合成图片

    var cr = new Buffer(img_Datas, 'base64'); var img = params.img_path + '/' + picDevNo + '_' + params. ...

随机推荐

  1. Pandas数据帧(DataFrame)

    数据帧(DataFrame)是二维数据结构,即数据以行和列的表格方式排列. 数据帧(DataFrame)的功能特点: 潜在的列是不同的类型 大小可变 标记轴(行和列) 可以对行和列执行算术运算 结构体 ...

  2. D3.js学习笔记(四)—— 使用SVG坐标空间

    目标 在这一章,你将要使用D3.js基于一些数据把SVG元素添加到你想要的坐标位置上. 我们的目标就是使用下面的数据集: var spaceCircles = [30,70,110]; 并使用D3.j ...

  3. Android进阶常用网站

    Android进阶常用网站 android中文网 Android Studio 安卓开发者社区

  4. tsunami:一种基于UDP协议的快速传输

    一. 需求 最近在做数据库迁移,经常需要打包实例传输,传统scp感觉很慢. 二. 软件信息 1. 软件主页:http://tsunami-udp.sf.net/ 2. 软件安装:直接源码make &a ...

  5. Workflow Builder 2.6.3 Certified on Windows 10 for EBS 12.x

    By Steven Chan - EBS-Oracle on May 17, 2016 Workflow Builder 2.6.3 is now certified on Windows 10 de ...

  6. elasticsearch负载均衡节点——客户端节点 node.master: false node.data: false 其他配置和master 数据节点一样

    elasticSearch的配置文件中有2个参数:node.master和node.data.这两个参 数搭配使用时,能够帮助提供服务器性能. 数据节点node.master: false node. ...

  7. 解决loadrunner在脚本回放时长时间等待及在vugen中create controller scenario时报错的方法!超管用!!

    解决loadrunner在脚本回放时长时间等待及在vugen中create controller scenario时报错的方法 经过咨询,有两种方法.经过实践,下面的方法1有效,方法2无效(我下载安装 ...

  8. (转)程序员应该知道的10个eclipse调试技巧

    调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷.对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程序,更需要学会如何调试程序.本文介绍了Java程序员必知的10个调试技巧, ...

  9. h5启动原生APP总结

    许久没有写博客了,最近有个H5启动APP原生页面的需求,中间遇上一些坑,看了些网上的实现方案,特意来总结下 一.需要判断客户端的平台以及是否在微信浏览器中访问 1.客户端判断 在启动APP时,Andr ...

  10. eclipse 智能提示js和jquery等前端插件

    使用Eclipse写Jquery和Javascript代码的时候,是没有智能提示的.我们可以使用一个插件来解决这个问题. 安装完成后,Eclipse会自动重启.重启之后,我们在项目上右键,   根据自 ...