Superfici di computer grafica

Superfici poligonali

Gli oggetti sono rappresentati come una raccolta di superfici. La rappresentazione degli oggetti 3D è divisa in due categorie.

  • Boundary Representations (B-reps) - Descrive un oggetto 3D come un insieme di superfici che separa l'interno dell'oggetto dall'ambiente.

  • Space–partitioning representations - Viene utilizzato per descrivere le proprietà interne, partizionando la regione spaziale contenente un oggetto in un insieme di solidi piccoli, non sovrapposti e contigui (solitamente cubi).

La rappresentazione del contorno più comunemente usata per un oggetto grafico 3D è un insieme di poligoni di superficie che racchiudono l'interno dell'oggetto. Molti sistemi grafici utilizzano questo metodo. Insieme di poligoni vengono memorizzati per la descrizione dell'oggetto. Ciò semplifica e accelera il rendering della superficie e la visualizzazione dell'oggetto poiché tutte le superfici possono essere descritte con equazioni lineari.

Le superfici poligonali sono comuni nelle applicazioni di progettazione e modellazione solida, poiché la loro wireframe displaypuò essere eseguito rapidamente per fornire un'indicazione generale della struttura della superficie. Quindi vengono prodotte scene realistiche interpolando motivi di ombreggiatura sulla superficie del poligono per illuminarli.

Tabelle poligonali

In questo metodo, la superficie è specificata dall'insieme di coordinate del vertice e attributi associati. Come mostrato nella figura seguente, ci sono cinque vertici, da v 1 a v 5 .

  • Ogni vertice memorizza le informazioni sulle coordinate x, yez rappresentate nella tabella come v 1 : x 1 , y 1 , z 1 .

  • La tabella Edge viene utilizzata per memorizzare le informazioni sul bordo del poligono. Nella figura seguente, il bordo E 1 si trova tra i vertici v 1 e v 2 che è rappresentato nella tabella come E 1 : v 1 , v 2 .

  • La tabella delle superfici poligonali memorizza il numero di superfici presenti nel poligono. Dalla figura seguente, la superficie S 1 è coperta dai bordi E 1 , E 2 ed E 3 che possono essere rappresentati nella tabella della superficie poligonale come S 1 : E 1 , E 2 ed E 3 .

Equazioni piane

L'equazione per la superficie piana può essere espressa come -

Ax + By + Cz + D = 0

Dove (x, y, z) è un punto qualsiasi del piano ei coefficienti A, B, C e D sono costanti che descrivono le proprietà spaziali del piano. Possiamo ottenere i valori di A, B, C e D risolvendo un insieme di tre equazioni piane utilizzando i valori delle coordinate per tre punti non collineari nel piano. Supponiamo che tre vertici del piano siano (x 1 , y 1 , z 1 ), (x 2 , y 2 , z 2 ) e (x 3 , y 3 , z 3 ).

Risolviamo le seguenti equazioni simultanee per i rapporti A / D, B / D e C / D. Ottieni i valori di A, B, C e D.

(A / D) x 1 + (B / D) y 1 + (C / D) z 1 = -1

(A / D) x 2 + (B / D) y 2 + (C / D) z 2 = -1

(A / D) x 3 + (B / D) y 3 + (C / D) z 3 = -1

Per ottenere le equazioni di cui sopra in forma determinante, applicare la regola di Cramer alle equazioni di cui sopra.

$ A = \ begin {bmatrix} 1 & y_ {1} & z_ {1} \\ 1 & y_ {2} & z_ {2} \\ 1 & y_ {3} & z_ {3} \ end {bmatrix} B = \ inizio {bmatrix} x_ {1} & 1 & z_ {1} \\ x_ {2} & 1 & z_ {2} \\ x_ {3} & 1 & z_ {3} \ end {bmatrix} C = \ begin {bmatrix} x_ {1} & y_ {1} & 1 \\ x_ {2} & y_ {2} & 1 \\ x_ {3} & y_ {3} & 1 \ end {bmatrix} D = - \ begin {bmatrix} x_ {1} & y_ {1} & z_ {1} \\ x_ {2} & y_ {2} & z_ {2} \\ x_ {3} & y_ {3} & z_ {3} \ end {bmatrix } $

Per qualsiasi punto (x, y, z) con parametri A, B, C e D, possiamo dire che -

  • Ax + By + Cz + D ≠ 0 significa che il punto non è sul piano.

  • Ax + By + Cz + D <0 significa che il punto è all'interno della superficie.

  • Ax + By + Cz + D> 0 significa che il punto è al di fuori della superficie.

Mesh poligonali

Superfici 3D e solidi possono essere approssimati da un insieme di elementi poligonali e lineari. Tali superfici sono chiamatepolygonal meshes. Nella mesh poligonale, ogni bordo è condiviso al massimo da due poligoni. L'insieme di poligoni o facce, insieme formano la "pelle" dell'oggetto.

Questo metodo può essere utilizzato per rappresentare un'ampia classe di solidi / superfici nella grafica. Una mesh poligonale può essere renderizzata utilizzando algoritmi di rimozione della superficie nascosta. La mesh poligonale può essere rappresentata in tre modi:

  • Rappresentazione esplicita
  • Puntatori a un elenco di vertici
  • Puntatori a un elenco di bordi

Vantaggi

  • Può essere utilizzato per modellare quasi tutti gli oggetti.
  • Sono facili da rappresentare come una raccolta di vertici.
  • Sono facili da trasformare.
  • Sono facili da disegnare sullo schermo del computer.

Svantaggi

  • Le superfici curve possono essere descritte solo approssimativamente.
  • È difficile simulare alcuni tipi di oggetti come capelli o liquidi.