Modelli di volume
Dal lato volumetrico ci sono due diverse rappresentazioni:
- voxel based: il corrispondente tridimensionale del pixel (picture element $\to$ pix-el; volume element $\to$ vox-el), per ogni coordinata vi è un voxel con determinate proprietà (colore, densità, whatever)
- geometria solida costruttiva (CGS, constructive solid geometry): risultato di operazioni su solidi primitivi. Sono borderline rappresentazioni di superfici.
Rappresentazione mediante voxel
Il tipo di rappresentazione più semplice è quella dei voxel booleani, dove un oggetto 3D è un insieme di voxel, ognuno “pieno” (true/1) o “vuoto” (false/0). Il costo è cubico rispetto alla dimensione (bisogna indicare l’esistenza di ogni singolo “pixel” del solido). Questo porta questo tipo di rappresentazione a diventare velocemente ingestibile.
Diventa chiara quindi la necessità di utilizzare un encoding efficiente dei voxel, che non si limiti a una risoluzione fissa, ma che sia in grado di adattarsi in base al livello di dettaglio del solido. Un esempio è la rappresentazione gerarchica, in cui il volume viene partizionato ricorsivamente in $n$ sottovolumi, finché non si raggiunge un sottovolume vuoto. Il costo della rappresentazione da cubico diventa quadratico.
Un’alternativa alla rappresentazione booleana è quella dei float, in cui ogni voxel contiene un valore float riferito a una qualche proprietà. Un esempio potrebbe essere la densità del solido in quel punto.
Mesh poliedrali
Si tratta dell’estensione naturale delle mesh di superficie, tipicamente composte da due primitive: gli esaedri e i tetraedri. Sono tipicamente utilizzate per effettuare simulazioni.