Воксель в компьютерной графике¶
Воксель (от англ. volumetric pixel — «объёмный пиксель») — элемент объёмного изображения, наименьший неделимый трёхмерный объект в трёхмерном пространстве, обладающий координатами и, как правило, одним или несколькими значениями (цвет, плотность, прозрачность). Воксель является трёхмерным аналогом пикселя: если пиксель задаёт точку на плоскости, то воксель задаёт точку в объёме. Совокупность вокселей образует воксельную сетку (воксельное поле), на основе которой строятся трёхмерные модели, изображения и данные визуализации.
¶Определение и свойства
Воксель не имеет физического размера — он определяется шагом дискретизации пространства. Каждому вокселю сопоставляется позиция в трёхмерной решётке (по осям X, Y, Z) и набор атрибутов:
- цвет или интенсивность (для отображения);
- плотность или коэффициент поглощения (для объёмной визуализации);
- материал, тип ткани, температура и другие параметры (в прикладных задачах).
В отличие от вексельной (полигональной) графики, где форма описывается поверхностями, воксельное представление описывает объект как заполненный объём. Это делает его удобным для моделирования неоднородных сред и объектов со сложной внутренней структурой.
¶Отличие от пикселя и полигона
Пиксель двумерен и характеризуется положением на плоскости и цветом. Полигон (обычно треугольник) задаёт поверхность и хранит информацию только о границе объекта. Воксель же занимает элементарную ячейку объёма и может нести информацию о внутреннем содержимом. Поэтому воксельные модели требуют существенно большего объёма памяти: при удвоении разрешения по каждой оси число элементов возрастает в восемь раз (кубическая зависимость).
¶История
Идея дискретизации объёма возникла в медицинской визуализации. В 1970-х годах с развитием компьютерной томографии потребовалось представление трёхмерных данных, получаемых послойно. Термин «воксель» вошёл в употребление в научной литературе по визуализации в конце 1970-х — начале 1980-х годов. Методы объёмного рендеринга (volume rendering) развивались параллельно с ростом вычислительных мощностей. В 1990-х годах воксельная графика проникла в компьютерные игры, а в 2000-х — в системы автоматизированного проектирования и аддитивные технологии.
¶Способы применения
¶Медицина и научная визуализация
Воксельные данные лежат в основе компьютерной и магнитно-резонансной томографии: сканер формирует набор срезов, которые собираются в трёхмерное воксельное поле. Врач может рассматривать объём с任意 ракурса, выделять плотные ткани, строить реконструкции. Аналогично воксели используются в геологии (сейсмические данные), метеорологии и физике плазмы.
¶Компьютерные игры
Наиболее известный пример воксельной игры — Minecraft, где мир состоит из блоков-вокселей. Воксельный подход применяется в играх жанра «песочница», в строительных симуляторах и в проектах с разрушаемым окружением. Крупные воксельные сцены требуют специальных алгоритмов сжатия и отсечения невидимых элементов.
¶Аддитивные технологии
В 3D-печати воксельное представление используется для описания внутренней структуры изделия: разные воксели могут задавать разные материалы, плотность заполнения и цвет. Форматы вроде 3MF поддерживают воксельные данные наряду с полигональными.
¶Прочее
Воксели применяются в системах автоматизированного проектирования, в симуляциях физических процессов (например, распространения тепла или жидкости), в компьютерной графике для эффектов дыма, облаков и взрывов, а также в военных симуляторах и тренажёрах.
¶Технические аспекты
Хранение воксельных данных обычно организовано в виде трёхмерного массива. Для экономии памяти применяются:
- разреженные структуры (октодеревья, RLE-кодирование);
- иерархические сетки с разным разрешением в разных областях;
- сжатие с потерями для визуализации.
Рендеринг вокселей выполняется двумя основными способами: прямым объёмным рендерингом (ray casting, splatting) и извлечением поверхностей (алгоритм marching cubes), преобразующим воксельную сетку в полигональную.
¶Программное обеспечение
Среди инструментов для работы с вокселями — MagicaVoxel, Goxel, VoxelShop, а также встроенные средства в Blender и ZBrush. В научной визуализации распространены ParaView, Avizo, 3D Slicer. Формат .vox, предложенный MagicaVoxel, стал де-факто стандартом обмена воксельными моделями в игровой индустрии.
¶Значение и ограничения
Воксельный подход естественно описывает объёмные, неоднородные и разрушаемые объекты, что делает его незаменимым в медицине, науке и ряде игровых жанров. Основные ограничения — высокая память и вычислительная стоимость, а также ступенчатость (алиасинг) поверхностей при низком разрешении. Развитие графических процессоров и алгоритмов сжатия постепенно снижает остроту этих проблем.
Источники: научные публикации по компьютерной графике и визуализации, документация форматов .vox и 3MF, материалы по медицинской визуализации и аддитивным технологиям.