У меня есть трехмерный том, заданный деревом разделов двоичного пространства. Обычно они сделаны из полигональных моделей, а разделенные полигоны уже хранятся внутри узлов дерева.
А у меня нет, поэтому полигонов у меня нет. Каждый узел не имеет ничего, кроме своей секущей плоскости (например, заданной нормалью и исходным расстоянием). Таким образом, дерево по-прежнему представляет собой сплошной трехмерный объем, определяемый всеми сделанными разрезами. Однако для визуализации мне нужна полигональная сетка такого объема. Как это можно эффективно реконструировать?
Грубый метод состоял бы в том, чтобы преобразовать бесконечные полупространства листьев в достаточно большие многогранники (например, кубы) и подтолкнуть каждый из них вверх по дереву, разрезая его плоскостью каждого узла, которую он проходит. Это кажется очень затратным, так как дерево может быть несбалансированным (например, если тупо сделать из выпуклых многогранников). Есть ли классическое решение?
linedef
в DOOM, если я правильно понял) и добавляяsubsector
s. Таким образом, только существующие линии разделяются и соединяются, но никакие новые не рассчитываются только по разделенным плоскостям. - person dronus   schedule 22.06.2012