Что означает «6-разделительная» и «26-разделительная» вокселизация?

11

Я читал эту статью о Voxelpipe, библиотеке вокселизации от NVIDIA, и я нашел в разделе 2 Voxelization термины 6-разделение и 26-разделение

Я нашел этот сайт, который пытается объяснить основные идеи по вокселизации, но это не очень помогло понять упомянутые термины.

Кто-нибудь может объяснить или указать на какой-то другой ресурс, который может помочь мне понять?

BRabbit27
источник

Ответы:

17

Термины имеют отношение к «толщине» вокселизации. Я проиллюстрирую это с помощью диаграммы растеризации 2D-линий (из этого несвязанного вопроса ).

введите описание изображения здесь

Справа - типичная растеризация линии: алгоритм находит один пиксель, ближайший к линии в каждой строке (или столбце, в зависимости от наклона). Это приводит к тому, что мы обычно называем «толщиной в 1 пиксель». Слева - консервативная растеризация, которая находит каждый пиксель, прямоугольник которого коснулся линии, и создает более толстую линию.

6-разделительная вокселизация похожа на тонкую линию справа, а 26-разделительная - как толстая линия слева, но в 3D. Если вы представляете, что линия на самом деле представляет собой треугольник, видимый на грани, это аналогично тому, как будет выглядеть вокселизация.

Различные типы вокселизации могут быть лучше в зависимости от того, что вы собираетесь делать с вокселизированными данными позже. Если вы используете воксели в качестве пространственной иерархии для поиска треугольников, которые пересекают данную область, вы, вероятно, захотите толстую вокселизацию, поскольку она консервативна. Густая вокселизация также может быть предпочтительной для марширования лучей, поскольку тонкая вокселизация может быть пропущена диагональным лучом. С другой стороны, тонкая вокселизация является более точным представлением исходной поверхности, что, вероятно, лучше для тестов на видимость, обнаружения столкновений, симуляции жидкости и тому подобного.

Термин «n-разделительный» немного неудачен, но вот к чему он стремится. Представьте, что вы выполняете 3D заливку в сетке вокселей, но в заливке вы смотрите только на 6 прямых соседей каждого вокселя (± 1 шаг по каждой оси). Тогда «6-разделительная» (тонкая) вокселизация остановит заливку: достаточно разделить две стороны поверхности, если рассматривать только 6 соседей. С другой стороны, предположим, что заливке разрешено переходить и к диагональным соседям - всего 26 соседей (3 × 3 × 3 окрестности вокселей). Тогда 6-разделительная вокселизация не остановит залив, а 26-разделительная (толстая) остановит.

Натан Рид
источник
Ницца ! Ваше объяснение дает мне интуицию об этом. У вас есть источники, где я могу прочитать немного больше о растеризации? Я полагаю, что этот материал с n-разделением происходит из 2D, где его легче понять, и тогда я могу больше думать, чтобы понять 6-и 26-разделение в 3D.
BRabbit27
1
@ BRabbit27 Я не думаю, что терминология "n-разделение" часто используется в 2D растеризации; Я видел это только при обсуждении вокселизации. Это просто относится к числу соседей. Я добавлю немного к ответу об этом.
Натан Рид