我有一个由二进制空间分区树给出的 3d 卷。通常这些是由多边形模型制成的,并且分割的多边形已经存储在树节点中。
但我的不是,所以我没有多边形。每个节点都只有一个剖切面(例如,由法线和原点距离给出)。因此,树仍然代表一个实体的 3d 体积,由所有切割定义。但是,为了可视化,我需要这个体积的多边形网格。如何有效地重建它?
粗略的方法是将叶子的无限半空间转换为足够大的多面体(例如立方体)并将它们中的每一个向上推到树上,通过它通过的每个节点的平面切割它。这似乎非常昂贵,因为树可能是不平衡的(例如,如果愚蠢地由凸多面体制成)。有没有经典的解决方案?