Пиксель
- 1 year ago
- 0
- 0
![]() |
В статье есть список
источников
, но
не хватает
сносок
.
|
Во́ксел (в разговорной речи во́ксель , англ. Voxel — образовано из слов: объёмный ( англ. vo lumetric ) и пиксель ( англ. pi xel )) — элемент объёмного изображения, содержащий значение элемента растра в трёхмерном пространстве . Воксели являются аналогами двумерных пикселей для трёхмерного пространства. Воксельные модели часто используются для визуализации и анализа медицинской и научной информации.
В компьютерной графике воксели используются как альтернатива полигонам . Новички иногда ошибочно считают воксели заменой для физических пикселей (элементов матрицы дисплея). На самом деле под вокселом обычно понимается виртуальный элемент, соответствующий набору из шести прямоугольных полигонов. Всё в виртуальном мире — виртуальные пиксели, полигоны и воксели — должно быть спроецировано на пиксели физического экрана: [ источник не указан 1564 дня ]
То есть в отличие от полигонов и пикселей, воксели — это истинный 3D кирпичик, а не 2D плоскость, которая «окружает» пустое 3D пространство. [ источник не указан 1564 дня ]
Моделирование в виртуальных пикселях уже почти не встречается в производстве 3D графики. Сейчас при 3D моделировании объекты часто создают в основном только двумя способами:
Ввиду того, что полигональные модели пусты по своей природе, очень трудно моделировать их поведение в 3D мире. Например, если программисту нужно смоделировать поведение воды в 3D игре про пиратов, он сталкивается с проблемой: как смоделировать волны на поверхности воды? Как моделировать всплески воды, ведь вода в игре — это просто ковёр, сплетённый из треугольников голубого цвета, под этой плоскостью ничего нет, а между тем нужно показать пенящуюся и плескающуюся воду. То есть надо показать отделение частей воды друг от друга в виде пены и всплесков. Приходится вводить новые объекты в память компьютера, а управление этими дополнительными объектами требует большого искусства именно от программиста, а не от дизайнера. [ источник не указан 1564 дня ]
Если же воду моделировать через воксели, то всё становится гораздо проще, ибо вся вода от поверхности океана и до дна состоит из «атомов», которые легко «отделяются» друг от друга естественным, с точки зрения программиста, путём. [ источник не указан 1564 дня ]
Как и в случае с пикселями, сами по себе вокселы не содержат информации о своих координатах в пространстве. Их координаты вычисляются из их позиции в трёхмерной матрице — структуре, моделирующей объёмный объект или поле значений параметра в трёхмерном пространстве.
Этим вокселы отличаются от объектов векторной графики , для которых известны координаты их опорных точек (вершин) и прочие параметры.
Воксельные модели имеют определённое разрешение . Каждый воксел имеет определённое значение, например, цвет.
Для хранения воксельной модели применяют массив размерами 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 возможных комбинаций, можно заранее их подготовить и использовать типовые «кирпичики» (уже в экранных координатах) для отрисовки больших объёмов данных в хорошем качестве.
Существуют и другие алгоритмы, например, проекция максимальной интенсивности , которая хорошо отображает положение в трёхмерном пространстве наиболее ярких участков трёхмерного объекта.
Объёмные дисплеи могут выводить модели в трёхмерном объёме. Такие дисплеи используют различные физические механизмы для показа светящихся точек в пределах некоторого объёма. Например, могут состоять из множества плоскостей, формирующих изображение, которые расположены одна над другой, или плоских панелей, создающих эффект объёмности за счёт своего вращения в пространстве .
Иногда для таких дисплеев указывается их разрешение в вокселах, например 128×128×128.
![]() |
В разделе
не хватает
ссылок на источники
(см.
рекомендации по поиску
).
|
Вокселы давно используются в компьютерных играх , однако их использование ограничено из-за серьёзных требований к аппаратной части. Чаще всего в играх вокселы используются для отрисовки моделей. Иногда используются воксельные ландшафты вместо обычного поля высот — это позволяет создавать более сложные пространства с пещерами и мостами. Одной из самых важных возможностей воксельных ландшафтов, интерьеров и объектов является возможность их динамического изменения и разрушения в реальном времени.
Воксельные движки встречались в играх: