Algorithm 用树叶做一棵华侨城树? 安装程序
假设我们有一个三维立方体,它描述了一个空间。我们将这个立方体细分为8个不同的小立方体,它们描述了空间的八分之一,我们进行了多次这样的操作 这是一棵树,其中根是整个空间,每个子节点是更高细分级别的一个子节,最高分辨率为 i、 第一层是完整空间,第二层是8个子空间,第二层是64个子空间。。。最多8^n子空间 这些节点中的每一个都可以存在于两种状态中的一种,即已占用或为空。空节点没有任何子节点,被占用节点至少有一个非空子节点,除非它们是叶 问题 我得到了一个最低分辨率级别的数组(最小的子空间,即叶子)。此数组包含被占用树叶的离散(x、y、z)坐标。换句话说,这个数组中只存在被占用的叶,空叶不会显式给出,所以如果在这个数组中找不到叶,我们可以假设它是空的 信息不是以任何特定的顺序给出的,但是每个叶子通过其(x,y,z)坐标自识别其在三维空间中的位置 利用这些信息,我们想要构造所描述的树。换句话说,我们想要创建一个oct树,其中空叶子没有子元素Algorithm 用树叶做一棵华侨城树? 安装程序,algorithm,graphics,tree,geometry,computational-geometry,Algorithm,Graphics,Tree,Geometry,Computational Geometry,假设我们有一个三维立方体,它描述了一个空间。我们将这个立方体细分为8个不同的小立方体,它们描述了空间的八分之一,我们进行了多次这样的操作 这是一棵树,其中根是整个空间,每个子节点是更高细分级别的一个子节,最高分辨率为 i、 第一层是完整空间,第二层是8个子空间,第二层是64个子空间。。。最多8^n子空间 这些节点中的每一个都可以存在于两种状态中的一种,即已占用或为空。空节点没有任何子节点,被占用节点至少有一个非空子节点,除非它们是叶 问题 我得到了一个最低分辨率级别的数组(最小的子空间,即叶子)
如何以高效的方式构建上述树?一种简单的方法是将叶子一个接一个地插入初始为空的八叉树中,并在运行时创建缺失的节点 总成本大致与树叶数量乘以(平均)树高成正比