博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
三维点云处理:8 Kd-tree
阅读量:4167 次
发布时间:2019-05-26

本文共 337 字,大约阅读时间需要 1 分钟。

三维点云处理:8 Kd-tree:

二叉树适合简单的一维查找,涉及到二维的查找就需要用到Kd-tree。k即为k-dim,k维的意思。

KD-tree和二叉树的原理是一样的。在二维平面中对平面不断切分。如图:
在这里插入图片描述
算法过程:
1、如果剩下了不多的点,就将其作一个点来看。
2、否则就使用一个超平面(我理解的超平面在这里是直线)来一分为二
3、迭代重复12两步
要么点在线上,要么不在线上。
kd-tree的构建:
在这里插入图片描述
代码段:
在这里插入图片描述
在这里插入图片描述
复杂度:O(n log n log n)-O(nlogn)
kdtree查找:
在这里插入图片描述
在这里插入图片描述
核心部分:
在这里插入图片描述
红色为查询点,蓝线为最坏距离,黑色虚线为划分轴,
判断红点到黑线距离是否小于最坏距离+红点是否在这个区间内。
在这里插入图片描述
复杂度:
平衡二叉树:O(logn)
最坏:O(n)

转载地址:http://ocexi.baihongyu.com/

你可能感兴趣的文章
进程创建时文件系统处理
查看>>
内核线程创建
查看>>
linux中cat命令使用详解
查看>>
java中的异常机制
查看>>
java SE面向对象思维导图
查看>>
三维分析之视频投放
查看>>
SuperMap iDesktop之栅格值怎么查
查看>>
SuperMap iClient3D for WebGL教程-orientation
查看>>
SuperMap iClient3D for WebGL教程-description描述属性
查看>>
SuperMap iClient3D for WebGL教程-CallbackProperty
查看>>
如何修改leaflet聚合图的层级和样式
查看>>
三维分析之开敞度分析
查看>>
BIM+GIS应用的八大挑战
查看>>
.net实现.aspx页面自动加载.cs程序定义的变量并按照格式输出
查看>>
[Leetcode]最后一个单词的长度
查看>>
merges sort use c++
查看>>
插入排序用递归实现
查看>>
工作流审批平台-审批流程-指定审批部门
查看>>
商务智能-系统概述-数据图形方式
查看>>
软件项目管理系统-项目管理-模块定义-开发内容
查看>>