Является ли octree особым случаем маршевого куба ?? Я имею в виду, что octree использует те же триангулированные кубы маршевого куба. Я знаю, что octree - это трехмерная форма квадтри. Я просто хочу знать, есть ли я в правильном направлении или нет. После того, как дерево было сформировано, как делает октет шаг для формирования треугольников (для создания поверхности), это то же самое, что и марширующий куб?В чем разница между походным кубом и окто?
ответ
Это совершенно другая теория. Octree - это метод кубического подразделения для 3d-пространства, для нахождения распределений вещей в пространстве, для эффективного обработки больших пространств и сужения его до областей, где есть что-то найти.
Маршевые кубы - это система для генерации сетки и не использует никакого прогрессивного подразделения, такого как окто.
Но хорошая система маршевого куба будет использовать октет, чтобы найти области, которые необходимо обработать, и выбросить вещи без сетки. https://www.youtube.com/watch?v=gNZtx3ijjpo
Маршевые кубы - это метод триангуляции изоповерхности функции, путем разбиения на мелкие кубики одинакового размера и триангулирования каждого куба таким образом, чтобы сохранить непрерывность.
Метод изоповерхностного основания octree вместо этого отбивает кубики неравномерного размера. Это может генерировать меньшее количество треугольников, чем алгоритм маршевого куба для эквивалентного «визуального качества». Однако дополнительная стоимость заключается в том, что многие специальные случаи необходимо обрабатывать при триангуляции поверхностей в каждом кубе, чтобы избежать отверстий. Также вы должны определить метрику, когда каждый куб «достаточно мал» (по сравнению с изменениями в значении куба и визуальной важности куба и т. Д.). Часто, чтобы помочь уменьшить количество специальных случаев, соседние кубы ограничены, чтобы различаться не более чем на один октетный уровень - это означает, что простое уточнение чисто по метрике невозможно.
Итак, вкратце: маршевые кубы - это быстрый метод триангуляции изо-поверхности. Методы Octree более сложны, но могут дать лучшие результаты. Они не одно и то же, и окто не является особым случаем маршевых кубов.
Я очень ценю и люблю, как приятно вы объяснили :). Я планировал начать работу над проектом octree, я читал статью на октете и ее сбивал с толку так много, но все еще перечитывал ... но все равно, что вы бы посоветовали мне начать с майкла. – solti
Думаю, я должен сначала начать делать простые октоды. – solti
yess Я думаю, что вы прав uformorace .. Дело в том, что у меня есть работающий алгоритм кубического кубика, написанный на C++. До сих пор я понял, что мне нужно сделать, вместо того, чтобы заполнять каждую 3d-сетку (например, в маршевом кубе), мы создаем древовидную структуру сетки и формируем треугольники в те дочерние (сетки), где разрезаются поверхности (между мин. и макс изо-значений) – solti