Voxel

Voxel (hovorově voxel , anglicky  Voxel  - tvořeno slovy: volumetric ( anglicky  vo lumetric ) a pixel ( anglicky  pi xel )) - prvek trojrozměrného obrázku obsahující hodnotu rastrového prvku v trojrozměrném prostoru . Voxely jsou analogy dvourozměrných pixelů pro trojrozměrný prostor. Voxelové modely se často používají k vizualizaci a analýze lékařských a vědeckých informací.

V počítačové grafice se voxely používají jako alternativa k polygonům . Začátečníci někdy mylně považují voxely za náhradu fyzických pixelů (prvků matice displeje). Ve skutečnosti je voxel obvykle chápán jako virtuální prvek odpovídající množině šesti pravoúhlých polygonů. Vše ve virtuálním světě – virtuální pixely, polygony a voxely – se musí promítat na pixely fyzické obrazovky:

To znamená, že na rozdíl od polygonů a pixelů jsou voxely skutečnou 3D cihlou, nikoli 2D rovinou, která „obklopuje“ prázdný 3D prostor.

Modelování ve virtuálních pixelech se při výrobě 3D grafiky téměř nikdy nenachází. Nyní ve 3D modelování jsou objekty často vytvářeny pouze dvěma způsoby:

  1. nebo pomocí plochých polygonů - tím vznikne dutý model bez vnitřní výplně, ale pro ty, kteří pozorují 3D, často není nutné vědět, že např. 3D kočka uvnitř nic nemá. Pro pozorovatele stačí pouze povrch kočky dobře sešitý z trojúhelníkových mnohoúhelníků.
  2. nebo pomocí volumetrických kostek - voxelů, které zcela vyplňují vnitřnosti 3D modelu, kdy každá taková kostka nese informaci o tom, co to je, např. kůže, svaly, kosti atp.

Vzhledem k tomu, že polygonové modely jsou ze své podstaty prázdné, je velmi obtížné modelovat jejich chování ve 3D světě. Pokud například programátor potřebuje simulovat chování vody ve 3D pirátské hře, stojí před problémem: jak simulovat vlny na hladině vody? Jak simulovat šplouchání vody, protože voda ve hře je jen koberec utkaný z modrých trojúhelníků, pod touto rovinou nic není, ale mezitím je potřeba předvést pěnění a šplouchání vody. To znamená, že je nutné ukázat oddělení částí vody od sebe ve formě pěny a rozstřiku. Do paměti počítače musíte zavést nové objekty a správa těchto dodatečných objektů vyžaduje velkou dovednost od programátora, nikoli od návrháře.

Pokud je voda modelována pomocí voxelů, pak je vše mnohem jednodušší, protože veškerá voda od hladiny oceánu až po dno se skládá z „atomů“, které jsou z pohledu programátora snadno „oddělitelné“ od sebe přirozeným způsobem. .

Reprezentace paměti

Stejně jako v případě pixelů ani voxely samotné neobsahují informace o jejich souřadnicích v prostoru. Jejich souřadnice se počítají z jejich polohy v trojrozměrné matici - struktuře, která modeluje trojrozměrný objekt nebo pole hodnot parametrů v trojrozměrném prostoru.

Tím se voxely liší od objektů vektorové grafiky , u kterých jsou známy souřadnice jejich referenčních bodů (vrcholů) a další parametry.

Modely Voxel mají určité rozlišení . Každý voxel má specifický význam, například barvu.

Pro uložení modelu voxelu se používá pole o rozměrech X×Y×Z. Nekomprimované voxelové modely (ve srovnání s vektorovými) spotřebovávají mnohem více paměti pro zpracování. Například jeden nekomprimovaný model o velikosti 256×256×256 voxelů zabere 32 MB paměti (256*256*256=16777216 voxelů a alespoň 2 bajty na voxel i ve stupních šedi 256, protože je třeba přidat 256 gradací jejich průhlednost, celkem 16777216*2=33554432 bajtů=33554432/1024=32768 KB = 32768/1024=32 MB ), zatímco vektorový model může vyžadovat desítky nebo dokonce stovkykrát méně.

Řídký voxel octree

Jednou z nejnovějších slibných technologií, která vám umožňuje provádět efektivní detailování voxelových objektů, je řídký voxel octree ( sparse voxel octree ). Jeho výhody: značná úspora paměti, přirozené generování úrovní detailů (analogicky jako u map mipmap) a vysoká rychlost zpracování při raycastingu .

První uzel stromu, kořen, je krychle obsahující celý objekt. Každý uzel má buď 8 podřízených kostek, nebo nemá žádné potomky. Výsledkem všech poddělení je pravidelná trojrozměrná mřížka voxelů.

Doxels

Doxely jsou voxely, které se v čase mění. Stejně jako série obrázků tvoří animaci , tak série voxelových modelů může časem vytvořit 3D animaci .

Aplikace

Vzhledem k tomu, že trojrozměrná matice ukládá hodnotu voxelu pro každý jednotlivý prvek objemového prostoru, jsou modely voxelů vhodné pro modelování spojitých prostředí a polí hodnot (například distribuce oxidu uhelnatého v atmosféra nad městem), zatímco vektorové modely jsou vhodnější pro modelování diskrétních objektů.

Lékařské informace

Řada lékařských zařízení, jako jsou počítačové tomografické skenery , trojrozměrný ultrazvuk , MRI , poskytují při skenování vrstvené informace. Po dokončení skenování se sestaví model voxelu. Hodnoty voxelů v tomto případě odrážejí data ze zařízení. V počítačové tomografii je to například průhlednost těla na Hounsfieldově stupnici , tedy průhlednost pro rentgenové záření.

Pro modely voxelů (například lékařská data z MRI skeneru ) je výstup libovolné části modelu jednoduše implementován. To umožňuje prozkoumat jakýkoli úsek dat.

Vizualizace

Existuje mnoho vykreslovacích algoritmů pro voxelové modely . Jeden z nejrychlejších způsobů se nazývá „házení sněhových koulí“ (angl. splatting ). Voxely jsou „hozeny“ na pozorovací plochu v pořadí vzdálenosti od ní, od nejvzdálenější k nejbližší. Výsledné "stopy sněhové koule" (splats) jsou vykresleny jako disky, jejichž barva a průhlednost se mění v závislosti na průměru v souladu s normálním (Gaussovým) rozdělením . Různé implementace mohou používat různé prvky nebo různé alokace.

Pro zlepšení kvality obrazu se používají složitější vykreslovací algoritmy: algoritmus Marching cubes a další. Algoritmus Marching Cubes vytváří izoplochu na základě voxelových dat. Obvyklá implementace algoritmu využívá hodnoty 8 sousedních voxelů k nakreslení polygonu uvnitř krychle tvořeného jejich souřadnicemi. Protože existuje pouze 256 možných kombinací, můžete si je připravit předem a pomocí typických „cihel“ (již v souřadnicích obrazovky) vykreslit velké množství dat v dobré kvalitě.

Existují i ​​další algoritmy, například projekce maximální intenzity , která dobře zobrazuje polohu nejjasnějších částí trojrozměrného objektu v trojrozměrném prostoru.

Objemové displeje

3D displeje mohou zobrazovat modely ve 3D. Takové displeje používají různé fyzikální mechanismy k zobrazení světelných bodů v určitém objemu. Mohou se například skládat z mnoha rovin tvořících obraz, které jsou umístěny jedna nad druhou, nebo plochých panelů, které díky své rotaci v prostoru vytvářejí trojrozměrný efekt [1] [2] .

Někdy je u takových displejů jejich rozlišení specifikováno ve voxelech, například 128x128x128.

Voxely v počítačových hrách

Voxely se v počítačových hrách používají již dlouhou dobu , ale jejich použití je omezené kvůli vysokým hardwarovým požadavkům. Nejčastěji ve hrách se voxely používají ke kreslení modelů. Někdy se místo obvyklého výškového pole používají voxelové krajiny  – to umožňuje vytvářet složitější prostory s jeskyněmi a mosty. Jednou z nejdůležitějších vlastností voxelových krajin, interiérů a objektů je schopnost je dynamicky měnit a ničit v reálném čase.

Voxel motory byly nalezeny ve hrách:

Viz také

Poznámky

  1. Objemové displeje: další krok k hromadné výrobě Archivováno 25. prosince 2009 na Compulent's Wayback Machine , 24. 12. 2008.
  2. Skutečně trojrozměrný obrázek. Computerworld Rusko, 06.08.2002
  3. Webová stránka Voxelstein 3D

Odkazy