1、虚拟现实的关键技术之四叉树 1 什么是四叉树 四叉树是一种数据结构 是一种每个节点最多有四个子树的数据结构 四叉树可以用来在数据库中放置和定位文件 称作记录或键 这一算法通过不停的把要查找的记录分成4部分来进行匹配查找直到仅剩下一条记录为止 2 四叉树在虚拟现实中的运用 在虚拟现实中 四叉树是一个经典的空间剖析方法 对可以转换为二维空间的场景 可以使用四叉树进行管理 在四叉树的建立过程中 首先用一个包围四边形逼近场景 然后包围四边形作为根节点 迭代的一分为四 如果子节点中包含多个物体 则继续剖分下去 直到部分的层次或子节点包含的物体个数小于给定的阀值为止 阀值根据需要自行规定 第一次分割 第二
2、次分割 在3D游戏中 室外环境 它没有方便的通往下一关的楼梯 门 或墙来阻挡你的视线 室外环境都是连续的 然而显示屏是有限的 则需要用空间剖分方法将室外环境分为多个可见区域 剖分如下 游戏中室外环境全部影像区块为根节点 而显示屏的可见区块为叶节点 假如划分的区块比叶节点大 那就可以进行画分 直到划分的每一个区块与可显示屏的可见区块一样大 则停止划分 3 对于二维平面上的均匀剖分 四叉树的优点 提供层次剔除 四叉树剖分方法中 在场景漫游是考察相机的视角 如果某个子节点不在可见区域内 那么他的所有后继结点都被剔除 三维引擎仅仅处理可见的物体 当场景物体移动时 必须实时更新与场景物体相关的四叉树子节点 同样 对于某个物体 与他相交的物体只能位于它所在的四叉树节点中才可以被显示 例 在3D游戏中 每一个敌人都带有唯一的地址 当使用者A打败敌人B 前往下一个挑战区域时 此时敌人B将不在可见区域内 则敌人B的所有后继结点都会被剔除 谢谢观赏