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:
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. .
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.
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.
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 .
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.
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.
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.
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.
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ä:
Bibliografisissa luetteloissa |
---|