坐标系旋转

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

1.  用三角函数sind(θ4)、cosd(θ4)、tand(θ4)、atand(θ4)进行表示,注意:θ4在输入时是角度,只是没有度数特有的符号(°)而已。

2.  用deg2rad将角度转换为弧度。45度就是45/180*pi,60度就是60/180*pi。pi=3.1415。

  1. clear
  2. m = csvread('zero_1.csv', 2, 0);
  3. n = csvread('one_1.csv', 2, 0);
  4. for i=1:1:3
  5. m1(:,i)=m(:,i);
  6. n1(:,i)=n(:,i);
  7. end
  8. k=36/180*pi;
  9. k1=1/180*pi;
  10. trans=[cos(k) sin(k) 0;-sin(k) cos(k) 0;0 0 1];
  11. trans1=[01 0 0;0 cos(k1) sin(k1);0 -sin(k1) cos(k1)];
  12. trans2=[cos(-k) sin(-k) 0;-sin(-k) cos(-k) 0;0 0 1];
  13. tmp=(trans2*trans1*trans*n1')';
  14. tmp=[tmp;m1];
  15.  
  16. scatter3(tmp(:,1),tmp(:,2),tmp(:,3),1)
  17. %scatter3(m(:,1),m(:,2),m(:,3),1)
  18. %scatter3(n(:,1),n(:,2),n(:,3),1)

2019-03-23八向数据合成

  1. clear
  2. a{10} = csvread('0 0.csv', 2, 0);
  3. a{1} = csvread('-1 0.csv', 2, 0);
  4. a{2} = csvread('1 0.csv', 2, 0);
  5. a{3} = csvread('0 -1.csv', 2, 0);
  6. a{4} = csvread('0 1.csv', 2, 0);
  7. a{5} = csvread('-0.7 0.7.csv', 2, 0);
  8. a{6} = csvread('0.7 -0.7.csv', 2, 0);
  9. a{7} = csvread('-0.7 -0.7.csv', 2, 0);
  10. a{8} = csvread('0.7 0.7.csv', 2, 0);
  11. for i=1:1:3
  12. b{1}(:,i)=a{1}(:,i);
  13. b{2}(:,i)=a{2}(:,i);
  14. b{3}(:,i)=a{3}(:,i);
  15. b{4}(:,i)=a{4}(:,i);
  16. b{5}(:,i)=a{5}(:,i);
  17. b{6}(:,i)=a{6}(:,i);
  18. b{7}(:,i)=a{7}(:,i);
  19. b{8}(:,i)=a{8}(:,i);
  20. b{10}(:,i)=a{10}(:,i);
  21. end
  22.  
  23. 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};];
  24. % trans(b{6},-0.7,0.7,0);
  25. % trans(b{1},-1,0,0);trans(b{2},1,0,0);trans(b{3},0,1,0);trans(b{4},0,-1,0);
  26. scatter3(ans(:,1),ans(:,2),ans(:,3),1)

  

  1. function x=trans(m,x,y,z)
  2. k=36/180*pi;
  3. trans1=[cos(k) sin(k) 0;-sin(k) cos(k) 0;0 0 1];
  4. trans2=[cos(-k) sin(-k) 0;-sin(-k) cos(-k) 0;0 0 1];
  5.  
  6. x=x/180*pi;
  7. y=y/180*pi;
  8. z=z/180*pi;
  9. transy=[cos(y) 0 -sin(y);0 1 0;sin(y) 0 cos(y)];
  10. transz=[cos(z) sin(z) 0;-sin(z) cos(z) 0;0 0 1];
  11. transx=[1 0 0;0 cos(x) sin(x);0 -sin(x) cos(x)];
  12. x=(trans2*transy*transx*transz*trans1*m')';
  13. % x=(transy*transx*transz*m')';

  

2019-03-23 着色演示与csv写入

  1. clear
  2. a{10} = csvread('0 0.csv', 2, 0);
  3. a{1} = csvread('-1 0.csv', 2, 0);
  4. a{2} = csvread('1 0.csv', 2, 0);
  5. a{3} = csvread('0 -1.csv', 2, 0);
  6. a{4} = csvread('0 1.csv', 2, 0);
  7. a{5} = csvread('-0.7 0.7.csv', 2, 0);
  8. a{6} = csvread('0.7 -0.7.csv', 2, 0);
  9. a{7} = csvread('-0.7 -0.7.csv', 2, 0);
  10. a{8} = csvread('0.7 0.7.csv', 2, 0);
  11. for i=1:1:3
  12. b{1}(:,i)=a{1}(:,i);
  13. b{2}(:,i)=a{2}(:,i);
  14. b{3}(:,i)=a{3}(:,i);
  15. b{4}(:,i)=a{4}(:,i);
  16. b{5}(:,i)=a{5}(:,i);
  17. b{6}(:,i)=a{6}(:,i);
  18. b{7}(:,i)=a{7}(:,i);
  19. b{8}(:,i)=a{8}(:,i);
  20. b{10}(:,i)=a{10}(:,i);
  21. end
  22.  
  23. b{1}=trans(b{1},-1,0,0);
  24. b{2}=trans(b{2},1,0,0);
  25. b{3}=trans(b{3},0,1,0);
  26. b{4}=trans(b{4},0,-1,0);
  27. b{8}=trans(b{8},0.7,0.7,0);
  28.  
  29. for i=1:1:3
  30. a{1}(:,i)=b{1}(:,i);
  31. a{2}(:,i)=b{2}(:,i);
  32. a{3}(:,i)=b{3}(:,i);
  33. a{4}(:,i)=b{4}(:,i);
  34. a{5}(:,i)=b{5}(:,i);
  35. a{6}(:,i)=b{6}(:,i);
  36. a{7}(:,i)=b{7}(:,i);
  37. a{8}(:,i)=b{8}(:,i);
  38. end
  39.  
  40. ans0=[a{1};a{2};a{3};a{4};a{8};a{10};];
  41. % csvwrite('tst.csv',ans0);
  42.  
  43. scatter3(ans0(:,1),ans0(:,2),ans0(:,3),1,ans0(:,4),'.');
  44. %x,y,z,粗细,强度,形状(默认是圈)
  45. caxis([0,100]);
  46. %强度的取值范围
  47. 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. 换个思维,boot结合vue做后台管理

    可以添加,可以删除.动态的添加数据. 不用操作dom,只要操作json数据即可. <form class="form-horizontal addForm" id=" ...

  2. excel 拖拽计算时,固定一个数

    $ 表示静态引用(也叫绝对引用)的意思.即固定引用的单元格的行或列. $A1即固定列为A,$A$2即固定引用为A列2行的单元格. A$3则只固定引用为第三行. 我们在使用excel拖拽计算时,常遇到这 ...

  3. Pandas窗口函数

    为了处理数字数据,Pandas提供了几个变体,如滚动,展开和指数移动窗口统计的权重. 其中包括总和,均值,中位数,方差,协方差,相关性等. 下来学习如何在DataFrame对象上应用上提及的每种方法. ...

  4. 三 web爬虫,scrapy模块介绍与使用

    Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中.其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以 ...

  5. FMDB官方使用文档 G-C-D的使用 提高性能(翻译)

    由于FMDB是建立在SQLite的之上的,所以你至少也该把这篇文章从头到尾读一遍.与此同时,把SQLite的文档页 加到你的书签中.自动引用计数(APC)还是手动内存管理呢?   两种都行,FMDB会 ...

  6. laravel利用composer安装

    composer create-project laravel/laravel --prefer-dist blog prefer:提升,提拔 dist:距离 blog 创建的项目文件夹名称 lara ...

  7. Linux SVN 切换用户

    1.   临时切换 在所有命令前强制加上--username 和 --password 例如:svn up --username zhangsan --password 123456 2.   永久切 ...

  8. C++中const指针用法汇总

    这里以int类型为例,进行说明,在C++中const是类型修饰符: int a; 定义一个普通的int类型变量a,可对此变量的值进行修改. const int a = 3;与 int const a ...

  9. mysql 视图,触发器,存储

    一.视图 概念:其实就是一个临时表. 视图是一个虚拟表(非真实存在的),其本质是[根据SQL语句获取动态的数据库,并为其命名],用户使用时只需使用[名称]即可获取结果集.就可以当做表来使用. # 1. ...

  10. c语言编译执行过程

    <h4>认识C编译执行过程</h4>认识C编译执行过程,是C学习的开端.简单说C语言从编码编译到执行要经历一下过程: C源代码编译---->形成目标代码,目标代码是在目标 ...