Voxel

Voxel (colocvial voxel , engleză  Voxel  - format din cuvintele: volumetric ( engleză  volumetric ) și pixel ( engleză pi xel ) ) - un element al unei imagini tridimensionale care conține valoarea unui element raster în spațiul tridimensional . Voxelii sunt analogi ai pixelilor bidimensionali pentru spațiul tridimensional. Modelele Voxel sunt adesea folosite pentru a vizualiza și analiza informații medicale și științifice.  

În grafica computerizată , voxelii sunt folosiți ca alternativă la poligoane . Începătorii consideră uneori în mod eronat voxelii ca fiind înlocuitori pentru pixelii fizici (elementele matricei de afișare). De fapt, un voxel este de obicei înțeles ca un element virtual corespunzător unui set de șase poligoane dreptunghiulare. Totul din lumea virtuală - pixeli virtuali, poligoane și voxeli - trebuie proiectat pe pixelii ecranului fizic:

Adică, spre deosebire de poligoane și pixeli, voxelii sunt o adevărată cărămidă 3D, nu un plan 2D care „înconjoară” spațiul 3D gol.

Modelarea în pixeli virtuali nu se găsește aproape niciodată în producția de grafică 3D. Acum, în modelarea 3D, obiectele sunt adesea create în principal în doar două moduri:

  1. sau folosind poligoane plate - acest lucru va crea un model gol fără umplere internă, dar pentru cei care observă 3D, adesea nu este necesar să știe că, de exemplu, o pisică 3D nu are nimic în interior. Pentru observator, este suficientă doar suprafața pisicii, bine cusată din poligoane triunghiulare.
  2. sau cu ajutorul unor cuburi volumetrice - voxeli care umplu complet interiorul unui model 3D, unde fiecare astfel de cub poartă informații despre ceea ce este, de exemplu, piele, mușchi, oase etc.

Datorită faptului că modelele de poligoane sunt goale prin natura lor, este foarte dificil să le modelezi comportamentul în lumea 3D. De exemplu, dacă un programator trebuie să simuleze comportamentul apei într-un joc de pirați 3D, el se confruntă cu o problemă: cum să simuleze valurile la suprafața apei? Cum să simulezi stropii de apă, deoarece apa din joc este doar un covor țesut din triunghiuri albastre, nu există nimic sub acest plan, dar între timp trebuie să arăți spumă și apă stropită. Adică, este necesar să se arate separarea părților de apă una de cealaltă sub formă de spumă și stropire. Trebuie să introduceți obiecte noi în memoria computerului, iar gestionarea acestor obiecte suplimentare necesită o mare îndemânare din partea programatorului, nu a designerului.

Dacă apa este modelată prin voxeli, atunci totul devine mult mai simplu, deoarece toată apa de la suprafața oceanului până la fund este formată din „atomi” care sunt ușor „separați” unul de celălalt într-un mod natural, din punctul de vedere al programatorului .

Reprezentarea memoriei

Ca și în cazul pixelilor, voxelii înșiși nu conțin informații despre coordonatele lor în spațiu. Coordonatele lor sunt calculate din poziția lor într-o matrice tridimensională - o structură care modelează un obiect tridimensional sau un câmp de valori ale parametrilor în spațiul tridimensional.

Acesta este modul în care voxelii diferă de obiectele de grafică vectorială , pentru care sunt cunoscute coordonatele punctelor lor de referință (vârfurile) și alți parametri.

Modelele Voxel au o anumită rezoluție . Fiecare voxel are o semnificație specifică, cum ar fi o culoare.

Pentru a stoca modelul voxel, se folosește o matrice cu dimensiunile X×Y×Z. Modelele voxel necomprimate (comparativ cu modelele vectoriale) consumă mult mai mult spațiu de memorie pentru procesare. De exemplu, un model necomprimat cu dimensiunea de 256×256×256 voxeli va ocupa 32 MB de memorie (256*256*256=16777216 voxeli și cel puțin 2 octeți per voxel chiar și în 256 tonuri de gri, deoarece 256 de gradări trebuie adăugate la transparența lor, total 16777216*2=33554432 bytes=33554432/1024=32768 KB = 32768/1024=32 MB ), în timp ce un model vectorial poate necesita zeci sau chiar sute de ori mai puțin.

Voxel rar octree

Una dintre cele mai noi tehnologii promițătoare care vă permite să detaliați eficient obiectele voxel este un octree voxel rar ( sparse voxel octree ). Avantajele sale: economii semnificative de memorie, generarea naturală a nivelurilor de detaliu (analog hărților mipmap ) și viteză mare de procesare în raycasting .

Primul nod al arborelui, rădăcina, este un cub care conține întregul obiect. Fiecare nod are fie 8 cuburi copil, fie nu are copii. Ca rezultat al tuturor subdiviziunilor, se obține o grilă tridimensională obișnuită de voxeli.

Doxels

Doxelii sunt voxeli care se schimbă în timp. Așa cum o serie de imagini formează o animație , la fel o serie de modele voxel de-a lungul timpului poate alcătui o animație 3D .

Aplicații

Datorită faptului că o matrice tridimensională stochează valoarea unui voxel pentru fiecare element al spațiului volumetric, modelele voxel sunt potrivite pentru modelarea mediilor continue și a câmpurilor de valori (de exemplu, distribuția monoxidului de carbon în atmosfera deasupra unui oraș), în timp ce modelele vectoriale sunt mai potrivite pentru modelarea obiectelor discrete.

Informații medicale

O serie de dispozitive medicale, cum ar fi scanere de tomografie computerizată , ultrasunete tridimensionale , RMN , oferă informații stratificate la scanare. La finalizarea scanării, este construit un model voxel. Valorile voxelului în acest caz reflectă datele de pe dispozitiv. În tomografia computerizată, de exemplu, este transparența corpului pe scara Hounsfield , adică transparența pentru raze X.

Pentru modelele voxel (de exemplu, date medicale de la un scaner RMN ), ieșirea oricărei secțiuni a modelului este pur și simplu implementată. Acest lucru face posibilă examinarea oricărei porțiuni de date.

Vizualizare

Există mulți algoritmi de randare pentru modelele voxel . Una dintre cele mai rapide moduri se numește „aruncarea bulgărilor de zăpadă” (ing. splatting ). Voxelurile sunt „aruncate” pe suprafața de vizualizare în ordinea distanței față de aceasta, de la cea mai îndepărtată la cea mai apropiată. „Urmele de bulgăre de zăpadă” (splats) rezultate sunt redate ca discuri, a căror culoare și transparență variază în funcție de diametru, în conformitate cu distribuția normală (gaussiană) . Implementări diferite pot folosi elemente diferite sau alocări diferite.

Pentru a îmbunătăți calitatea imaginii, se folosesc algoritmi de randare mai complecși: algoritmul Marching cubes și alții. Algoritmul Marching Cubes construiește o izosuprafață pe baza datelor voxel. Implementarea obișnuită a algoritmului folosește valorile a 8 voxeli vecini pentru a desena un poligon în interiorul cubului format din coordonatele acestora. Deoarece există doar 256 de combinații posibile, le puteți pregăti în avans și puteți utiliza „cărămizi” tipice (deja în coordonatele ecranului) pentru a reda cantități mari de date la calitate bună.

Există și alți algoritmi, de exemplu, proiecția intensității maxime , care afișează bine poziția în spațiul tridimensional a celor mai luminoase părți ale unui obiect tridimensional.

Afișări volumetrice

Ecranele 3D pot afișa modele în 3D. Astfel de afișaje folosesc diverse mecanisme fizice pentru a afișa puncte luminoase într-un anumit volum. De exemplu, ele pot consta din multe planuri care formează o imagine, care sunt situate unul deasupra celuilalt, sau panouri plate care creează un efect tridimensional datorită rotației lor în spațiu [1] [2] .

Uneori, pentru astfel de afișaje rezoluția lor este specificată în voxeli, de exemplu 128x128x128.

Voxeli în jocurile pe calculator

Voxel-urile au fost folosite în jocurile pe calculator de mult timp , dar utilizarea lor este limitată din cauza cerințelor severe de hardware. Cel mai adesea în jocuri, voxelurile sunt folosite pentru a desena modele. Uneori , peisajele voxel sunt folosite în locul câmpului obișnuit de înălțime  - acest lucru vă permite să creați spații mai complexe cu peșteri și poduri. Una dintre cele mai importante caracteristici ale peisajelor, interioarelor și obiectelor voxel este abilitatea de a le schimba dinamic și de a le distruge în timp real.

Motoarele Voxel au fost găsite în jocuri:

Vezi și

Note

  1. Afișaje volumetrice: următorul pas către producția de masă Arhivat 25 decembrie 2009 la Compulent's Wayback Machine , 24.12.2008.
  2. Imagine cu adevărat tridimensională. Computerworld Rusia, 06.08.2002
  3. Site-ul web Voxelstein 3D

Link -uri