Voxel - Voxel

En serie vokser i en bunke, med en enkel voxel i skyggen
Illustrasjon av et voxel -rutenett som inneholder fargeverdier

I 3D-datagrafikk representerer en voxel en verdi på et vanlig rutenett i tredimensjonalt rom . Som med piksler i et 2D -bitmap , har vokser i seg selv vanligvis ikke sin posisjon (dvs. koordinater ) eksplisitt kodet med sine verdier. I stedet slutter gjengivelsessystemer posisjonen til en voxel basert på posisjonen i forhold til andre voxels (dvs. posisjonen i datastrukturen som utgjør et enkelt volumetrisk bilde ).

I motsetning til piksler og vokser er polygoner ofte eksplisitt representert av koordinatene til deres hjørner (som punkter ). En direkte konsekvens av denne forskjellen er at polygoner effektivt kan representere enkle 3D-strukturer med mye tomt eller homogent fylt rom, mens voxels utmerker seg ved å representere jevnlig samplede mellomrom som ikke er homogent fylt.

Vokser brukes ofte i visualisering og analyse av medisinske og vitenskapelige data (f.eks. Geografiske informasjonssystemer (GIS)). Noen volumetriske skjermer bruker vokser for å beskrive oppløsningen . For eksempel kan en kubisk volumetrisk skjerm vise 512 × 512 × 512 (eller omtrent 134 millioner) voksler.

En av definisjonene er: "Voxel er et bilde av et tredimensjonalt romområde begrenset av gitte størrelser, som har sine egne knutepunktskoordinater i et akseptert koordinatsystem, sin egen form , sin egen tilstandsparameter som indikerer at den tilhører noen modellert objekt, og har egenskapene til den modellerte regionen. " Denne definisjonen har følgende fordel. Hvis fast voxelform brukes i hele modellen, er det mye lettere å operere med voxel nodal points , dvs. tre koordinater for dette punktet. Likevel er det den enkle formen for rekord - indekser for elementene i modellsett, dvs. heltallskoordinater. Modelsettelementer i dette tilfellet er tilstandsparametere, som indikerer voxel som tilhører det modellerte objektet eller dets separate deler, inkludert overflatene.

Etymologi

Ordet voxel oppsto analogt med ordet " pixel ", med vo som representerer " volum " (i stedet for pixelens "bilde") og el representerer "element"; lignende formasjoner med el  for "element" inkluderer ordene "pixel" og " texel ".

Gjengivelse

Et volum beskrevet som voxels kan visualiseres enten ved direkte volumgjengivelse eller ved ekstraksjon av polygoniso -overflater som følger konturene til gitte terskelverdier. Den marsj kuber algoritmen blir ofte brukt for isosurface ekstraksjon, men andre metoder eksisterer også.

Både ray-tracing og ray-casting , samt rasterisering , kan brukes på voxeldata for å få 2D- rastergrafikk som kan vises på en skjerm.

Rasterisering av trinnvis feil

En annen teknikk for voxels innebærer rastergrafikk der man rett og slett stråler hver piksel av skjermen inn i scenen, og sporer et feilbegrep for å bestemme når man skal gå . En typisk implementering vil raytrace hver piksel av skjermen som starter nederst på skjermen ved hjelp av det som er kjent som en y-buffer. Når en voxel er nådd som har en høyere y-verdi på displayet, blir den lagt til y-bufferen som overstyrer den forrige verdien og kobles til den forrige y-verdien på skjermen som interpolerer fargeverdiene. Det er en stor ulempe med voxel -rasterisering når transformasjon påføres som forårsaker alvorlig aliasing . Fordelen var muligheten til å rastre ved hjelp av billige heltallberegninger på en CPU uten maskinvareakselerasjon .

Outcast og andre videospill fra 1990-tallet brukte denne grafiske teknikken for effekter som refleksjon og bump-kartlegging og vanligvis for terrenggengivelse . Outcast' s grafikkmotor var i hovedsak en kombinasjon av en raycasting ( heightmap ) motor, som brukes til å gjengi landskapet, og en tekstur kartlegging polygon motoren som brukes til å gjengi stedene. "Engine Programming" -delen av spillkredittene i manualen har flere underseksjoner knyttet til grafikk, blant dem: "Landscape Engine", "Polygon Engine", "Water & Shadows Engine" og "Special effects Engine". Selv om Outcast ofte blir sitert som en forløper for voxel -teknologi, er dette noe misvisende. Spillet modellerer faktisk ikke tredimensjonale volumer av vokser. I stedet modellerer den bakken som en overflate, som kan sees på å være sammensatt av vokser. Bakken er dekorert med objekter som er modellert med teksturkartede polygoner. Da Outcast ble utviklet, refererte uttrykket "voxel engine", når det gjaldt dataspill, ofte til en ray casting -motor (for eksempel VoxelSpace -motoren). På siden med motorteknologi på spillets nettsted omtales liggende motor også som "Voxels -motoren". Motoren er rent programvarebasert ; den er ikke avhengig av maskinvareakselerasjon via et 3D- grafikkort .

John Carmack eksperimenterte også med Voxels for Quake III -motoren. Et slikt problem som Carmack siterte var mangelen på grafikkort designet spesielt for en slik gjengivelse som krever at de skal gjengis med programvare.

Comanche var også den første kommersielle flysimuleringen basert på voxel -teknologi. NovaLogic brukte den proprietære Voxel Space -motoren utviklet for selskapet av Kyle Freeman (skrevet utelukkende på monteringsspråk ) for å lage åpne landskap. Denne gjengivelsesteknikken åpnet for mye mer detaljert og realistisk terreng sammenlignet med simuleringer basert på vektorgrafikk på den tiden.

Galleri

Data

En voxel representerer en enkelt prøve eller datapunkt på et tredimensjonalt rutenett med jevnt mellomrom. Dette datapunktet kan bestå av et enkelt stykke data, for eksempel en opacity, eller flere data, for eksempel en farge i tillegg til opacity. En voxel representerer bare et enkelt punkt på dette rutenettet, ikke et volum; mellomrommet mellom hver voxel er ikke representert i et voxel-basert datasett. Avhengig av typen data og den tiltenkte bruken av datasettet, kan denne manglende informasjonen rekonstrueres og/eller tilnærmes, f.eks. Via interpolasjon.

Ved computertomografi ( abdominal CT på bildet) genereres voxler ved å multiplisere synsfeltet (FOV) med skanneområdet .

Verdien av en voxel kan representere forskjellige egenskaper. I CT- skanninger er verdiene Hounsfield-enheter , noe som gir materialets opacitet til røntgenstråler. Ulike typer verdi erverves fra MR eller ultralyd .

Vokser kan inneholde flere skalarverdier , i hovedsak vektordata (tensor); ved ultralydsskanning med B-modus og Doppler- data, fanges tetthet og volumetrisk strømningshastighet som separate datakanaler knyttet til de samme voxelposisjonene.

Mens voxels gir fordelen av presisjon og virkelighetsdybde, er de vanligvis store datasett og er uhåndterlige å administrere gitt båndbredden til vanlige datamaskiner. Men gjennom effektiv komprimering og manipulering av store datafiler kan interaktiv visualisering aktiveres på datamaskiner for forbrukermarkedet.

Andre verdier kan være nyttige for umiddelbar 3D -gjengivelse , for eksempel en overflate normal vektor og farge .

Bruker

Vanlige bruksområder for voxels inkluderer volumetrisk avbildning i medisin og representasjon av terreng i spill og simuleringer. Voxel -terreng brukes i stedet for et høydekart på grunn av dets evne til å representere overheng, huler, buer og andre 3D -terrengfunksjoner. Disse konkave funksjonene kan ikke representeres i et høydekart på grunn av at bare det øverste "laget" av data blir representert, slik at alt under det er fylt (volumet som ellers ville vært innsiden av hulene, eller undersiden av buer eller overheng).

Dataspill

Redaktører

Selv om vitenskapelig volumvisualisering ikke krever endring av de faktiske voxeldataene, kan voxel -redaktører brukes til å lage kunst (spesielt 3D -pixelkunst ) og modeller for voxelbaserte spill. Noen redaktører er fokusert på en enkelt tilnærming til voxel -redigering, mens andre blander ulike tilnærminger. Noen vanlige tilnærminger er:

  • Skivebasert: Volumet er skåret i en eller flere akser, og brukeren kan redigere hvert bilde individuelt ved hjelp av 2D raster -redigeringsverktøy . Disse lagrer vanligvis fargeinformasjon i vokser.
  • Skulptur: Ligner på vektormotstykket, men uten topologibegrensninger. Disse lagrer vanligvis tetthetsinformasjon i vokser og mangler fargeinformasjon.
  • Byggeklosser: Brukeren kan legge til og fjerne blokkene akkurat som et byggesett leketøy.

Det er noen få voxel -redaktører tilgjengelig som ikke er knyttet til spesifikke spill eller motorer. De kan brukes som alternativer eller komplement til tradisjonell 3D -vektormodellering.

Utvidelser

En generalisering av en voxel er tokselen , eller temporal voxel. Dette brukes i tilfelle av et 4D -datasett, for eksempel en bildesekvens som representerer 3D -rom sammen med en annen dimensjon, for eksempel tid. På denne måten kan et bilde inneholde 100 × 100 × 100 × 100 giftstoffer, som kan sees på som en serie på 100 bilder av et 100 × 100 × 100 volumbilde (tilsvarende for et 3D -bilde vil vise et 2D -tverrsnitt av bildet i hver ramme). Selv om lagring og manipulering av slike data krever store mengder minne, tillater det representasjon og analyse av romtidssystemer .

Se også


Referanser

Eksterne linker