Voxel

Voxel (puhekielessä voxel , englanniksi  Voxel  - muodostuu sanoista: volumetric ( englanniksi  vo lumetric ) ja pixel ( englanniksi  pixel )) - kolmiulotteisen kuvan elementti, joka sisältää rasterielementin arvon kolmiulotteisessa tilassa . Vokselit ovat kaksiulotteisten pikselien analogeja kolmiulotteiseen avaruuteen. Voxel-malleja käytetään usein lääketieteellisen ja tieteellisen tiedon visualisointiin ja analysointiin.

Tietokonegrafiikassa vokseleita käytetään vaihtoehtona polygoneille . Aloittelijat pitävät joskus virheellisesti vokseleita fyysisten pikselien (näyttömatriisielementtien) korvikkeina. Itse asiassa vokseli ymmärretään yleensä virtuaaliseksi elementiksi, joka vastaa kuuden suorakulmaisen monikulmion joukkoa. Kaikki virtuaalimaailmassa - virtuaaliset pikselit, polygonit ja vokselit - on heijastettava fyysisen näytön pikseleille:

Toisin kuin polygonit ja pikselit, vokselit ovat todellinen 3D-tiili, eivät 2D-taso, joka "ympäröi" tyhjää 3D-avaruutta.

3D-grafiikkatuotannossa ei juuri koskaan tapahdu mallintamista virtuaalisilla pikseleillä. Nykyään 3D-mallinnuksessa objektit luodaan usein vain kahdella tavalla:

  1. tai käyttämällä litteitä polygoneja - tämä luo onton mallin ilman sisäistä täyttöä, mutta 3D:tä tarkkailevien ei useinkaan tarvitse tietää, että esimerkiksi 3D-kissassa ei ole mitään sisällä. Tarkkailijalle riittää vain kissan pinta, joka on ommeltu hyvin kolmiomaisista monikulmioista.
  2. tai volumetristen kuutioiden avulla - vokseleita, jotka täyttävät täysin 3D-mallin sisäpinnat, joissa jokainen tällainen kuutio sisältää tietoa siitä, mikä se on, esimerkiksi iho, lihakset, luut jne.

Koska polygonimallit ovat luonnostaan ​​tyhjiä, niiden käyttäytymistä 3D-maailmassa on erittäin vaikea mallintaa. Jos ohjelmoijan on esimerkiksi simuloitava veden käyttäytymistä 3D-merirosvopelissä, hän kohtaa ongelman: kuinka simuloida aaltoja veden pinnalla? Kuinka simuloida vesiroiskeita, koska pelin vesi on vain sinisistä kolmioista kudottu matto, tämän tason alla ei ole mitään, mutta sillä välin sinun on näytettävä vaahtoavaa ja roiskuvaa vettä. Eli on tarpeen osoittaa veden osien erottaminen toisistaan ​​vaahdon ja roiskeiden muodossa. Tietokoneen muistiin on lisättävä uusia objekteja, ja näiden lisäobjektien hallinta vaatii suurta taitoa ohjelmoijalta, ei suunnittelijalta.

Jos vettä mallinnetaan vokselien kautta, kaikki muuttuu paljon yksinkertaisempaa, koska kaikki vesi meren pinnasta pohjaan koostuu ”atomeista”, jotka ohjelmoijan näkökulmasta helposti ”erottuvat” toisistaan ​​luonnollisella tavalla. .

Muistin esitys

Kuten pikselien tapauksessa, vokselit itsessään eivät sisällä tietoa niiden koordinaateista avaruudessa. Niiden koordinaatit lasketaan niiden sijainnista kolmiulotteisessa matriisissa - rakenteessa, joka mallintaa kolmiulotteista objektia tai parametriarvojen kenttää kolmiulotteisessa avaruudessa.

Näin vokselit eroavat vektorigrafiikkaobjekteista , joiden referenssipisteiden koordinaatit (kärkipisteet) ja muut parametrit ovat tiedossa.

Voxel-malleilla on tietty resoluutio . Jokaisella vokselilla on tietty merkitys, kuten väri.

Voxelimallin tallentamiseen käytetään taulukkoa , jonka mitat ovat X×Y×Z. Pakkaamattomat vokselimallit (verrattuna vektorimalleihin) kuluttavat paljon enemmän muistitilaa käsittelyyn. Esimerkiksi yksi 256×256×256 vokselin pakkaamaton malli vie 32 Mt muistia (256*256*256=16777216 vokselia ja vähintään 2 tavua vokselia kohden jopa 256 harmaasävyssä, koska 256 asteikkoa on lisättävä niiden läpinäkyvyys, yhteensä 16777216*2=33554432 tavua=33554432/1024=32768 kt = 32768/1024=32 Mt ), kun taas vektorimalli voi vaatia kymmeniä tai jopa satoja kertoja vähemmän.

Harva vokselioktree

Yksi uusimmista lupaavista teknologioista, jonka avulla voit tehdä vokseliobjektien tehokkaan yksityiskohdan, on harva vokselioktree ( harva vokselioktree ). Sen edut: merkittävä muistinsäästö, luonnollinen yksityiskohtien luonti (analogisesti mipmap- karttojen kanssa) ja suuri prosessointinopeus raycastingissa .

Puun ensimmäinen solmu, juuri, on kuutio, joka sisältää koko kohteen. Jokaisessa solmussa on joko 8 lapsikuutiota tai ei ole lapsia. Kaikkien alajakojen tuloksena saadaan säännöllinen kolmiulotteinen vokselien ruudukko.

Doxels

Dokselit ovat vokseleita, jotka muuttuvat ajan myötä. Aivan kuten sarja kuvia muodostaa animaation , myös sarja vokselimalleja ajan myötä voi muodostaa 3D-animaatiota .

Sovellukset

Koska kolmiulotteinen matriisi tallentaa vokselin arvon jokaiselle tilavuusavaruuden elementille, vokselimallit sopivat hyvin jatkuvien ympäristöjen ja arvokenttien mallintamiseen (esim. häkäjakauman ilmakehä kaupungin yllä), kun taas vektorimallit sopivat paremmin erillisten objektien mallintamiseen.

Lääketieteelliset tiedot

Useat lääketieteelliset laitteet, kuten tietokonetomografialaitteet , kolmiulotteinen ultraääni ja MRI , tarjoavat kerroksittain tietoa skannattaessa. Skannauksen päätyttyä rakennetaan vokselimalli. Tässä tapauksessa vokseliarvot heijastavat laitteen tietoja. Esimerkiksi tietokonetomografiassa se on kehon läpinäkyvyys Hounsfieldin asteikolla , eli läpinäkyvyys röntgensäteille.

Vokselimalleissa (esimerkiksi MRI -skannerin lääketieteelliset tiedot ) mallin minkä tahansa osan tulos on yksinkertaisesti toteutettu. Tämä mahdollistaa minkä tahansa datalohkon tutkimisen.

Visualisointi

Voxelimalleille on olemassa monia renderöintialgoritmeja . Yksi nopeimmista tavoista on nimeltään "lumipallojen heittäminen" (eng. splatting ). Voxelit "heitetään" katselupinnalle etäisyyden järjestyksessä siitä kauimpana lähimpään. Tuloksena olevat "lumipallojäljet" (splats) esitetään levyinä, joiden väri ja läpinäkyvyys vaihtelevat halkaisijan mukaan normaalin (Gaussin) jakauman mukaisesti . Eri toteutukset voivat käyttää eri elementtejä tai erilaisia ​​allokaatioita.

Kuvanlaadun parantamiseksi käytetään monimutkaisempia renderöintialgoritmeja: Marching cubes -algoritmia ja muita. Marching Cubes -algoritmi rakentaa isopinnan vokselitietojen perusteella. Algoritmin tavallinen toteutus käyttää 8 vierekkäisen vokselin arvoja monikulmion piirtämiseen niiden koordinaattien muodostaman kuution sisään. Koska mahdollisia yhdistelmiä on vain 256, voit valmistella ne etukäteen ja käyttää tyypillisiä "tiiliä" (jo näytön koordinaateissa) suurten tietomäärien toistoon hyvälaatuisina.

On muitakin algoritmeja, esimerkiksi maksimivoimakkuusprojektio , joka näyttää hyvin kolmiulotteisen kohteen kirkkaimpien osien sijainnin kolmiulotteisessa avaruudessa.

Volumetriset näytöt

3D- näytöillä voidaan näyttää malleja 3D-muodossa. Tällaiset näytöt käyttävät erilaisia ​​fyysisiä mekanismeja valopisteiden näyttämiseen tietyn tilavuuden sisällä. Ne voivat koostua esimerkiksi useista kuvan muodostavista tasoista, jotka sijaitsevat päällekkäin, tai litteistä paneeleista, jotka luovat kolmiulotteisen vaikutelman kiertyessään avaruudessa [1] [2] .

Joskus tällaisissa näytöissä niiden resoluutio on määritetty vokseleina, esimerkiksi 128x128x128.

Voxelit tietokonepeleissä

Vokseleja on käytetty tietokonepeleissä pitkään , mutta niiden käyttö on rajoitettua kovien laitteistovaatimusten vuoksi. Useimmiten peleissä vokseleita käytetään mallien piirtämiseen. Joskus vokselimaisemia käytetään tavanomaisen korkeuskentän sijasta  - tämän avulla voit luoda monimutkaisempia tiloja luolilla ja silloilla. Yksi vokselimaisemien, sisätilojen ja esineiden tärkeimmistä ominaisuuksista on kyky muuttaa ja tuhota niitä dynaamisesti reaaliajassa.

Voxel - moottoreita löydettiin peleistä:

Katso myös

Muistiinpanot

  1. Volumetriset näytöt: seuraava askel kohti massatuotantoa Arkistoitu 25. joulukuuta 2009 Compulent's Wayback Machinessa , 24.12.2008.
  2. Todella kolmiulotteinen kuva. Computerworld Russia, 06.08.2002
  3. Voxelstein 3D -verkkosivusto

Linkit