维基百科介绍:
四元树又称四叉树是一种树状数据结构,在每一个节点上会有四个子区块。四元树常应用于二维空间数据的分析与分类。 它将数据区分成为四个象限。数据范围可以是方形或矩形或其他任意形状。
所有的四元树法有共同之特点:
可分解成为各自的区块
每个区块都有节点容量。当节点达到最大容量时,节点分裂
树状数据结构依造四元树法加以区分
一些四元树的常用法
图像表示法
空间索引(Spatial index)。
在二维的有效率之碰撞侦测(collision detection)。
地形数据的隐藏面决定(Hidden surface determination)。
存储分散数据,诸如电子表格(spreadsheet)、或著一些矩阵计算的格式化信息。
多维场的解法。(计算流体力学, 电磁学)
生命游戏模拟程序。
四叉树来源于将正方形区域分成较小正方形的想法。所以他的应用倾向于 2D搜索或优化算法
当你沿着四叉树向下移动时,每个正方形被分成四个较小的正方形。
换一种角度在来看。 通过绘制显示每个节点的子节点的线条, 如果你专注于黑色线条,你可以看到它们形成了一个分支树状结构,每层都有四个分支。
我们可以使树的视图更加抽象,更接近我们用来表示它的数据结构,方法是将图的树部分展平成二维树图。
现在你可以看到四叉树作为一个数据结构并不是很特别 - 它只是一棵树,每个节点有四个子节点。
参考 js 版本 的
https://github.com/CodingTrain/QuadTree , 移植到 Unity中
https://download.csdn.net/download/u010019717/10495980