Mesh poligonale

Da Wikipedia, l'enciclopedia libera.

Una mesh poligonale, anche detta maglia poligonale, è una collezione di vertici, spigoli e facce che definiscono la forma di un oggetto poliedrico nella computer grafica 3D e nella modellazione solida. Le facce consistono solitamente di triangoli, quadrilateri od altri semplici poligoni convessi, dal momento che ciò semplifica il rendering, ma possono essere composti anche da poligoni concavi più generici, o poligoni con buchi.

Le mesh sono primitive grafiche che consentono di risolvere con grande efficienza i procedimenti di visualizzazione delle forme modellate: sono strisce di triangoli o maglie di quadrilateri con cui rappresentiamo un poliedro qualsiasi o con cui approssimiamo superfici curve.

Lo studio di mesh poligonali è un grande sotto-campo della computer grafica. Le rappresentazioni con mesh poligonali sono utilizzate per diverse applicazioni e con diverse finalità. Solitamente le mesh rappresentano esplicitamente solo la superficie (il volume è implicito).

Da cosa è formata una mesh[modifica | modifica sorgente]

L'unità base di una mesh è il voxel, ovvero pixel di volume: nella modellazione geometrica per suddivisione spaziale si suddivide il volume che contiene l'oggetto che si desidera modellare in una griglia tridimensionale di posizioni e in ogni posizione si determina la presenza o assenza di materiale.

Una mesh poligonale è composta da diversi elementi: vertici, spigoli, facce, poligoni e superfici. In molte applicazioni vengono memorizzati solo i vertici, gli edge e le facce.

  • Un vertice è una posizione nello spazio e ha informazioni relative al colore, al vettore normale e alle coordinate della texture.
  • Un edge è una connessione tra due vertici. Una faccia è un insieme di punti nello spazio racchiuso tra edge (spigoli).
  • Un poligono è un insieme di facce. La maggior parte dell'hardware che esegue il rendering supporta facce con 3 o 4 spigoli.

Esempi di mesh[modifica | modifica sorgente]

Le mesh poligonali possono essere rappresentate in diversi modi, utilizzando diverse strutture dati atte a memorizzare vertici, edge e facce.

Alcuni esempi sono:

  • Face-vertex mesh: una semplice lista di vertici e un insieme di facce che puntano ai vertici che formano il poligono.
  • Winged-edge mesh, in cui ogni edge punta a due vertici, due facce, e ai quattro (in senso orario e antiorario) edge che toccano le facce. Questo tipo di maglie permettono un tempo costante di attraversamento della mesh, ma richiedono una quantità maggiore di dati da memorizzare.
  • Half-edge mesh: Simile al precedente, ma possiede solo informazioni riguardo agli half edge.
  • Quad-edge mesh: vengono memorizzati solo gli edge, gli half edge e i vertici senza considerare i poligoni. I poligoni sono impliciti nella rappresentazione, e si possono ottenere attraversando la struttura. I requisiti di memoria sono simili alle half edge mesh.
  • Corner-tables: memorizzano i vertici in una tabella predefinita, in modo che attraversando la tavola si possano ottenere i poligoni rappresentati implicitamente. La rappresentazione è più compatta e più efficiente per recuperare poligoni, ma le operazioni di modifica sono lente. Inoltre, questo tipo di mesh non rappresenta la mesh completamente.
  • Vertex-vertex mesh: una mesh "VV" rappresenta solo i vertici, che puntano ad altri vertici. Sia l'edge e le informazioni sulla faccia sono implicite nella rappresentazione. Tuttavia, la semplicità della rappresentazione consente di svolgere con maggiore efficienza diverse elaborazioni.

La scelta della struttura dati viene fatta in base all'applicazione che utilizza tali dati, le prestazioni richieste, la dimensione dei dati, e le operazioni da eseguire. Ad esempio è più facile utilizzare triangoli piuttosto che altri poligoni, soprattutto in geometria computazionale. Per certe operazioni è necessario avere un accesso rapido alle informazioni e questo richiede strutture più complesse come le winged-edge mesh. Per il rendering hardware sono necessarie strutture semplici e di conseguenza le corner-tables sono comunemente incorporate in API di basso livello per il rendering come DirectX e OpenGL.

Formati di file per le mesh[modifica | modifica sorgente]

Alcuni formati di file che memorizzano informazioni sulle mesh sono i seguenti:

  • .blend (Blender file)
  • .FBX
  • .3DS (Autodesk 3ds Max file)
  • .DAE (COLLADA - COLLAborative Design Activity)
  • .DXF (AutoCAD DXF - Drawing Interchange Format, or Drawing Exchange Format)
  • .OBJ (Wavefront .obj file)
  • .PLY
  • .STL
  • .VMRL
  • .X3D
  • .C4D
  • .OFF

Voci correlate[modifica | modifica sorgente]

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica