ndt histogram_direction
histogram_direction
N_FLAT_BINS=40;
dlong = pi*(3-sqrt(5.0)); % ~2.39996323
dz = 2.0/N_FLAT_BINS;
longitude = 0;
z = 1 - dz/2;
directions=zeros(3,N_FLAT_BINS);
for k = 1:N_FLAT_BINS
r = sqrt(1-z*z);
v=[1*cos(longitude)*r 1*sin(longitude)*r z]';
directions(:,k)=v;
z = z - dz;
longitude = longitude + dlong;
end figure(1)
plot3(directions(1,:),directions(2,:),directions(3,:),'r.',0,0,0,'b.'), hold on, axis equal
for k = 1:N_FLAT_BINS-1
plot3([directions(1,k) 0],[directions(2,k) 0],[directions(3,k) 0],'y-','LineWidth',1);
plot3([directions(1,k) directions(1,k+1)],[directions(2,k) directions(2,k+1)],[directions(3,k) directions(3,k+1)],'LineWidth',1);
end

ndt histogram_direction的更多相关文章
- NDT(Normal Distribution Transform) 算法(与ICP对比)和一些常见配准算法
原文地址:http://ghx0x0.github.io/2014/12/30/NDT-match/ By GH 发表于 12月 30 2014 目前三维配准中用的较多的是ICP迭代算法,需要提供一个 ...
- [原创]NDT方法在SLAM中的应用
NDT概念 正态分布变换(Normal Distribution Transformation , NDT)概率密度函数( Probability Density Function, PDF)Firs ...
- [PCL]NDT点云匹配方法
测试NDT方法的Demo,http://pointclouds.org/documentation/tutorials/normal_distributions_transform.php#norma ...
- Android - 缺少NDT选项和C/C++ Build选项 问题
缺少NDT选项和C/C++ Build选项 问题 本文地址: http://blog.csdn.net/caroline_wendy 时间: 2014.9.3 使用ADT(Android Develo ...
- NDT 算法和一些常见配准算法
原文链接:http://ghx0x0.github.io/2014/12/30/NDT-match/ 目前三维配准中用的较多的是ICP迭代算法,需要提供一个较好的初值,同时由于算法本身缺陷,最终迭代结 ...
- 点云NDT配准方法介绍
三维配准中经常被提及的配准算法是ICP迭代的方法,这种方法一般般需要提供一个较好的初值,也就是需要粗配准,同时由于算法本身缺陷,最终迭代结果可能会陷入局部最优,导致配准失败,往往达不到我们想要的效果. ...
- NDT(Normal Distributions Transform)算法原理与公式推导
正态分布变换(NDT)算法是一个配准算法,它应用于三维点的统计模型,使用标准最优化技术来确定两个点云间的最优的匹配,因为其在配准过程中不利用对应点的特征计算和匹配,所以时间比其他方法快.下面的公式推导 ...
- ndt算法学习
NDT算法原理: NDT算法的基本思想是先根据参考数据(reference scan)来构建多维变量的正态分布, 如果变换参数能使得两幅激光数据匹配的很好,那么变换点在参考系中的概率密度将会很大. 因 ...
- NDT匹配: The Normal Distributions Transform: A New Approach to Laser Scan
介绍 大多数激光匹配算法都是基于点或者线的特征匹配,该论文提出一种2D激光扫描匹配算法,方法类似于占据栅格,将2D平面分为一个个cell,对于每个cell,设定其一个正态分布,表示该网格测量到每个点的 ...
随机推荐
- C语言全局变量那些事儿
转自:http://blog.csdn.net/bingqingsuimeng/article/details/9405743 作为一名程序员,如果说沉迷一门编程语言算作一种乐趣的话,那么与此同时反过 ...
- CozyRSS开发记录7-了解RSS
CozyRSS开发记录7-了解RSS 1.初窥RSS 多找几个RSS源就会发现,有的源是用Atom协议提供的,有的源是RSS协议提供的.RSS协议有过几个版本,0.9.1.0和2.0等,理论上支持2. ...
- JDK各个版本的新特性jdk1.5-jdk8
JDK各个版本的新特性 对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言.今天先为大家介绍一 ...
- Mac下的Maven配置
1.确保电脑已经安装java,并配置JAVA_HOME环境变量 2.从官网下载Maven压缩包并解压,zip或者其他格式的都行 3.进入终端,编辑环境变量配置文件 vi .bash_profile 可 ...
- IOC装配Bean(注解方式)
Spring的注解装配Bean Spring2.5 引入使用注解去定义Bean @Component 描述Spring框架中Bean Spring的框架中提供了与@Component注解等效的三个注解 ...
- CustomEvent自定义事件
javascript与HTML之间的交互是通过事件来实现的.事件,就是文档或浏览器窗口发生的一些特定的交互瞬间.通常大家都会认为事件是在用户与浏览器进行交互的时候触发的,其实通过javascript我 ...
- 浏览器-10 Chromium 移动版
移动版 chromium 的iOS版和Android是为两个流行的移动操作系统设计的, UI方面进行了 较大的重新设计; 两者从外观上看颇为相似,但是其内部的渲染引擎的差别非常的大,原因在于iOS对应 ...
- 与IE奋战的血泪史
IE6下font-size会撑高元素,也就是说IE6下元素的最小高度为font-size的高度(蛋疼) IE6不支持两个class 例如 .a.b,类名不支持下划线开头 通过js设置样式带下划线的样式 ...
- iSight集成Adams/View:Simcode
虽然iSight有Adams/View接口,但对Adams的版本有限制.下面使用iSight的simcode,就可以支持任意版本的Adams了. Adams模型如下: 1. 编写cmd文件 file ...
- /usr文件系统
/usr文件系统 /usr 文件系统经常很大,因为所有程序安装在这里. /usr 里的所有文件一般来自Linux distribution:本地安装的程序和其他东西在/usr/local 下.这样可 ...