Воксель

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Серії вокселів в стосах. Чорним кольором виділений одиничний воксель
Макромолекула, визначена з допомогою вокселів

Во́ксель (від англ. Volume та англ. pixel) — елемент простору, позначає значення певної величини в клітинках рівномірної просторової ґратки. Аналогічний пікселю, у двовимірних зображеннях (значенням величини в клітинах гратки виступає колір). Вокселі традиційно використовуються для візуалізації та аналізу медичних та наукових даних. Окрім того, таку технологію використовують деякі прогресивні програми тривимірного моделювання, та комп'ютерні ігри, для генерації складного ландшафту (що містить арки та печери, які не можуть задаватись картою висот).

Подібно до пікселів, самі воксели, як правило, не містять інформації про своє розміщення в просторі (координати), натомість координати обчислюються на основі розташування в структурі даних, яка утворює єдине просторове зображення.

Для опису роздільної здатності деяких 3D дисплеїв використовуються воксели. Наприклад, дисплей може бути здатен відобразити 512x512x512 вокселів.

Відеоігри з воксельною графікою: Minecraft, Delver, Ace of Spades, ~craft.

Подання до пам'яті[ред.ред. код]

воксельного модель кішки (ліворуч) поруч з полігональної (векторна графіка) моделлю кота (праворуч).

Як і у випадку з пікселями, самі по собі воксели не містять інформації про свої координати в просторі. Їх координати обчислюються з їх позиції в тривимірній матриці - структурі, що моделює об'ємний об'єкт або поле значень параметра в тривимірному просторі.

Цим воксели відрізняються від об'єктів векторної графіки , для яких відомі координати їх опорних точок (вершин) та інші параметри .

Воксельні моделі мають певну роздільність . Кожен воксель має певне значення, наприклад, колір.

Для зберігання воксельної моделі застосовують масив розмірами 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 кубів - нащадків або не має жодних нащадків. У результаті всіх підрозбиттів виходить регулярна тривимірна сітка вокселів.

Доксели[ред.ред. код]

Доксели - це воксели, що змінюються в часі. Як ряд картинок становить анімацію, так і ряд воксельних моделей в часі можуть складати тривимірну анімацію.

Області застосування[ред.ред. код]

Завдяки тому, що тривимірна матриця зберігає значення вокселів для кожного одиничного елемента об'ємного простору, воксельні моделі добре підходять для моделювання безперервних середовищ і полів значень (наприклад, розподіл чадного газу в атмосфері над містом), в той час як векторні більш призначені для моделювання дискретних об'єктів.

Медичні дані[ред.ред. код]

Модель, побудована з 150 шарів з МРТ з використанням алгоритму marching-cubes. Розмір сітки 64x64x150

Ряд медичних пристроїв, як, наприклад, сканери комп'ютерної томографії , тривимірне УЗД , МРТ видають пошарову інформацію при скануванні. По завершенні сканування будується воксельна модель. Значення вокселів в цьому випадку відображають дані з пристрою. У комп'ютерній томографії, наприклад, це прозорість тіла за шкалою Хаунсфілда , тобто прозорість для рентгенівських променів.

Для воксельних моделей (наприклад, медичних даних зі сканера МРТ ) просто реалізується висновок будь-якого перетину моделі. Це дає можливість вивчити будь-який зріз даних.

Візуалізація[ред.ред. код]

Візуалізація воксельної моделі на тривимірному дисплеї Perspecta volumetric

Для воксельних моделей існує безліч алгоритмів візуалізації. Один з найшвидших способів називається « киданням сніжків » (англ. splatting ). Воксели « кидаються » на поверхню перегляду в порядку віддаленості від неї, від далеких до близьких. Утворені « сліди від сніжок » ( сплети ) рендеряться як диски, колір і прозорість яких змінюється в залежності від діаметра відповідно з нормальним ( гаусовим ) розподілом . У різних реалізаціях можуть використовуватися інші елементи або ж інші розподіли.

Для поліпшення якості зображення використовуються більш складні алгоритми отрисовки : алгоритм Marching cubes та інші. Алгоритм « Marching Cubes » ( біжать кубики ) будує ізоповерхні, спираючись на дані вокселів. Звичайна реалізація алгоритму використовує значення 8-и сусідніх вокселів, щоб намалювати полігон всередині куба утвореного їх координатами. Так як існує всього 256 можливих комбінацій, можна заздалегідь їх підготувати, і використовувати типові «цеглинки» (уже в екранних координатах ) для малювання великих обсягів даних в хорошій якості.

Існують і інші алгоритми, наприклад проекція максимальної інтенсивності, яка добре відображає положення в тривимірному просторі найбільш яскравих ділянок тривимірного об'єкту.

Об'ємні дисплеї[ред.ред. код]

Об'ємні дисплеї можуть виводити моделі в тривимірному обсязі. Такі дисплеї використовують різні фізичні механізми для показу точок, що світяться в межах деякого об'єму. Наприклад, можуть складатися з безлічі площин, що формують зображення, які розташовані одна над іншою, або плоских панелей, що створюють ефект об'ємності за рахунок свого обертання в просторі.

Іноді для таких дисплеїв вказується їх роздільність в вокселях, наприклад 128×128×128.

Воксели в комп'ютерних іграх[ред.ред. код]

Воксели давно використовуються в комп'ютерних іграх, проте їх використання обмежено через серйозні вимоги до апаратної частини. Найчастіше в іграх воксели використовуються для малювання моделей. Іноді використовуються воксельні ландшафти замість звичайногополя висот-це дозволяє створювати більш складні простори з печерами і мостами. Однією з найважливіших можливостей воксельних ландшафтів, інтер'єрів і об'єктів є можливість їх динамічної зміни і руйнування в реальному часі.

Воксельні движки зустрічалися в іграх :

  • Компанія NovaLogic використовувала воксельні графічні движки в серіях ігор Delta Force, Armored Fist і Comanche.
  • Ігри Command & Conquer : Tiberian Sun і Command & Conquer : Red Alert 2 від компанії Westwood Studios використовували воксельні моделі транспортних засобів.
  • Гра Blade Runner.
  • Гра Outcast використовувала воксели для промальовування об'єктів.
  • Гра Amok.
  • Гра Вангер використовувала великі багаторівневі безперервні воксельні простори із змінними «живими» ландшафтами.
  • У движку Build Engine є можливість використання воксельних об'єктів. Такі об'єкти використовуються в шутерах Shadow Warrior і Blood, побудованих на цьому движку, а також у переробленому Duke Nukem 3D High Resolution Pack.
  • Гра Thunder Brigade.
  • Master of Orion III використовує воксельну графіку для відображення космічних битв і сонячних систем.
  • В ігровому движку CryEngine 2, який використовувався в іграх Crysis, Crysis Warhead і Crysis Wars, воксели використовувалися для побудови порожніх просторів під поверхнею ландшафту рівня.
  • Ігри Worms 3D і Worms 4 : Mayhem використовували « поксели » ( англ. poxel, утворено від voxel ( воксел ) + polygon ( полігон )) для динамічно руйнованого тривимірного ландшафту, подібного ландшафту в двомірних версіях.
  • Гра Hexplore.
  • Гра Minecraft використовує подобу воксельної графіки для створення випадкового ландшафту, що генерується, але рендеринг виробляє за допомогою полігонів.
  • Гра Voxelstein 3D використовує воксельний движок « Voxlap », завдяки якому вся геометрія гри побудована на вокселях і повністю знищенна.
  • Движок id Tech 6 компанії id Software буде використовувати інноваційну технологію « Sparse Voxel Octree » для візуалізації статичних об'єктів ( ландшафту, масивних будівель і т. д.) ігрового рівня.
  • Графічний движок OTOY, орієнтований на серверне виконання, буде використовувати воксели для побудови геометрії рівня і трасування променів для освітлення.
  • Гра Ace of Spades використовує воксельного движок Voxlap .
  • Гра Cube World використовує воксельну графіку для створення випадкового ігрового світу моделей гравців і NPC.

Дивіться також[ред.ред. код]


Комп'ютер Це незавершена стаття про комп'ютери.
Ви можете допомогти проекту, виправивши або дописавши її.