Каждый узел в октрее имеет одну точку.Эти узлы разбиты (как вы уже догадались) на восемь дочерних узлов.Эти узлы, в свою очередь, содержат каждую отдельную точку.
Как правило, вы не добавляете все своих вершин к октодереву, если только вы не делаете какое-то безбожное обнаружение столкновений, где каждая отдельная вершина имеет значение ... Не то, чтобы вы не моглитогда сделайте это быстро, но это будет все же медленнее, чем приближение, заданное меньшим числом узлов.(Это верно почти для всего, аппроксимация быстрее).
Опять же, если вы выполняете рендеринг с высоким качеством, октреусы, вероятно, должны иметь столько узлов, сколько у вас точек.
Теперьна ответ:
Создайте корневой узел с ограничительной рамкой, которая будет заключать его из центра.
Вставьте каждую точку.Это должно подразделить октри в соответствующих направлениях.
- Когда вы вставляете эти точки, данные будут перемещаться дальше вниз в конечные узлы, которые более близко инкапсулируют вашу модель.
- Кроме того, при разделении ограничивающий прямоугольник делится пополам для каждого последующегоузел не работает.
- Если вы действительно хотите его сохранить, вы можете сохранить вершины (пронумерованные), а затем попросить программу записать различные соединения между узлами.и вершины на диск, где они смогут быть загружены примерно в то же время, которое требуется для создания октодерева с нуля.
В любом случае, я надеюсь, что ответил на ваш вопрос.