16-04-2023
Во́ксел (в разговорной речи во́ксель, англ. Voxel — образовано из слов: объёмный (англ. volumetric) и пиксел (англ. pixel) — элемент объёмного изображения, содержащий значение элемента растра в трёхмерном пространстве. Вокселы являются аналогами пикселов для трехмёрного пространства. Воксельные модели часто используются для визуализации и анализа медицинской и научной информации.
Содержание |
Как и в случае с пикселами, сами по себе вокселы не содержат информации о своих координатах в пространстве. Их координаты вычисляются из их позиции в трёхмерной матрице — структуре, моделирующей объёмный объект или поле значений параметра в трёхмерном пространстве.
Этим вокселы отличаются от объектов векторной графики, для которых известны координаты их опорных точек (вершин) и прочие параметры.
Воксельные модели имеют определенное разрешение. Каждый воксел имеет определенное значение, например, цвет.
Для хранения воксельной модели применяют массив размерами X×Y×Z. Несжатые воксельные модели (по сравнению с векторными) потребляют гораздо больше места в памяти для обработки. К примеру, одна несжатая модель размером 256×256×256 вокселей будет занимать память объёмом от 32 Мб (256*256*256=16777216 вокселей и как минимум 2 байта на воксель даже в 256-ти градациях серого, так как к ним надо добавить 256 градаций прозрачности, итого 16777216*2=33554432 байт=33554432/1024=32768 Кб = 32768/1024=32 Мб), в то время как векторной модели может потребоваться в десятки или даже сотни раз меньше.
Одной из новейших перспективных технологий, позволяющей делать эффективную детализацию воксельных объектов, является разреженное воксельное октодерево (sparse voxel octree). В числе её преимуществ: значительная экономия памяти, естественная генерация уровней детализации (аналога mipmap-карт), и высокая скорость обработки в рейкастинге.
Первый узел дерева — корень, является кубом, содержащим весь объект целиком. Каждый узел или имеет 8 кубов-потомков или не имеет никаких потомков. В результате всех подразбиений получается регулярная трёхмерная сетка вокселей.
Докселы — это вокселы, изменяющиеся во времени. Как ряд картинок составляет анимацию, так и ряд воксельных моделей во времени могут составлять трёхмерную анимацию.
Благодаря тому, что трёхмерная матрица хранит значение воксела для каждого единичного элемента объёмного пространства, воксельные модели хорошо подходят для моделирования непрерывных сред и полей значений (например, распределение угарного газа в атмосфере над городом), в то время как векторные более предназначены для моделирования дискретных объектов.
Ряд медицинских устройств, как, например, сканеры компьютерной томографии, трехмерное УЗИ, МРТ выдают послойную информацию при сканировании. По завершении сканирования строится воксельная модель. Значения вокселей в этом случае отражают данные с устройства. В компьютерной томографии, например, это прозрачность тела по шкале Хаунсфилда, то есть прозрачность для рентгеновских лучей.
Для воксельных моделей (например, медицинских данных со сканера МРТ) просто реализуется вывод любого сечения модели. Это дает возможность изучить любой срез данных.
Для воксельных моделей существует множество алгоритмов визуализации. Один из быстрейших способов называется «бросанием снежков» (англ. splatting). Вокселы «бросаются» на поверхность просмотра в порядке удаленности от нее, от дальних к близким. Получившиеся «следы от снежков» (сплэты) рендерятся как диски, цвет и прозрачность которых изменяется в зависимости от диаметра в соответствии с нормальным (гауссовым) распределением. В различных реализациях могут использоваться другие элементы или же другие распределения.
Для улучшения качества изображения используются более сложные алгоритмы отрисовки: алгоритм Marching cubes и другие. Алгоритм «Marching Cubes» (бегущие кубики) строит изоповерхность, опираясь на данные вокселов. Обычная реализация алгоритма использует значения 8-и соседних вокселов, чтобы отрисовать полигон внутри куба образованного их координатами. Так как существует всего 256 возможных комбинаций, можно заранее их подготовить, и использовать типовые «кирпичики» (уже в экранных координатах) для отрисовки больших объёмов данных в хорошем качестве.
Существуют и другие алгоритмы, например проекция максимальной интенсивности, которая хорошо отображает положение в трёхмерном пространстве наиболее ярких участков трёхмерного объекта.
Объёмные дисплеи могут выводить модели в трёхмерном объёме. Такие дисплеи используют различные физические механизмы для показа светящихся точек в пределах некоторого объёма. Например, могут состоять из множества плоскостей, формирующих изображение, которые расположены одна над другой, или плоских панелей, создающих эффект объёмности за счёт своего вращения в пространстве [1][2].
Иногда для таких дисплеев указывается их разрешение в вокселах, например 128×128×128.
Вокселы давно используются в компьютерных играх, однако их использование ограниченно из-за серьёзных требований к аппаратной части. Чаще всего в играх вокселы используются для отрисовки моделей. Иногда используются воксельные ландшафты вместо обычного поля высот — это позволяет создавать более сложные пространства с пещерами и мостами. Одной из самых важных возможностей воксельных ландшафтов, интерьеров и объектов является возможность их динамического изменения и разрушения в реальном времени.
Воксельные движки встречались в играх:
Это заготовка статьи о компьютерах. Вы можете помочь проекту, исправив и дополнив её. Это примечание по возможности следует заменить более точным. |
Воксель.