La Modellazione 3D

 

Con Modellazione 3D si indica un processo atto a definire una qualsiasi forma tridimensionale in uno spazio virtuale generata su computer; questi oggetti, chiamati modelli 3D vengono realizzati utilizzando particolari programmi software, chiamati modellatori 3D, o più in generale software 3D. Questo termine viene utilizzato in ambito informatico, e si distingue da altri tipi di modellazione tridimensionale, come ad esempio la scultura tradizionale.

Cenni storici

La storia della Computer grafica 3D è naturalmente molto recente, lo stesso termine di grafica computerizzata nasce solo nel 1960[1].
Una delle prime rappresentazioni tridimensionali su calcolatore è stata quella del famoso "primo uomo" o "Boeing Man" realizzata da William Fetter; un insieme di linee che descrivevano la sagoma virtuale di un pilota di aereo.
A partire dal 1959, la General Motors, in collaborazione con la IBM, sviluppa il sistema "DAC", uno dei primi sistemi CAD della storia; attraverso una penna ottica e uno schermo sensibile, gli operatori disegnavano delle curve matematiche in uno spazio virtuale, con le quali delimitavano i profili, le sezioni e le superfici delle automobili[2].
Della prima metà degli anni 60' è anche il sistema chiamato "Adage", considerata da molti la prima workstation CAD indipendente[3].
Da quanto riportato si evince che la nascita della modellazione 3D avvenne in ambito industriale, primariamente come supporto alla progettazione. Da allora i campi di utilizzo della modellazione 3D e della grafica tridimensionale si sono enormenente ampliati, uscendo in buona parte dall'ambito tecnico

La Modellazione nella pratica operativa dalla Grafica 3D

La modellazione 3D può anche essere fine a sé stessa, e in questo caso il modello generato non richiede ulteriori elaborazioni, ma generalmente la modellazione rappresenta il primo step di una serie di operazioni successive che determineranno l'elaborato finale. Questo primo step, nella specifica area della Computer grafica 3D, non può mai mancare, e ne rappresenta il presupposto di partenza.
Si prenda ad esempio un caso particolare abbastanza complesso: la realizzazione di un'"immagine statica fotorealistica di un personaggio 3D". Questa comporta i seguenti passaggi essenziali:

  • Modellazione 3D primaria
  • Modellazione 3D secondaria
  • Surfacing (definizione dei materiali di superficie)
  • Mappatura (definizione delle coordinate di proiezione)
  • Applicazione delle Texture
  • Inserimento dello scheletro
  • Skinning del modello
  • Definizione della postura del modello
  • Allestimento scenico
  • Illuminazione della scena
  • Rendering della scena
  • Salvataggio dell'immagine in un file grafico
  • Output finale (ad es. stampa su carta)

O un caso relativamente più semplice: "Corpo in alluminio di un mulinello, realizzato con macchina utensile".

  • Modellazione 3D della parte in un modellatore CAD
  • Assemblaggio e verifica della parte nel modello di Assieme
  • Esportazione del modello 3D in un formato macchina compatibile
  • Lavorazione con macchina utensile CNC dell'oggetto
  • Pulitura, rifinitura
  • Anodizzazione e lucidatura dell'oggetto
  • Assemblaggio nel prodotto finale

Come si nota la realizzazione del modello 3D è posta sempre all'inizio della catena operativa, ed è la base delle successive operazioni.

Campi di impiego della modellazione 3D

I sistemi di modellazione vengono impiegati in tutti i campi della Computer grafica 3D, tanto che in taluni casi modellazione 3D e grafica 3D sono sinonimi.

Applicazioni a carattere scientifico o tecnico

  • Scienze matematiche, fisiche e naturali (biologia, fisica, matematica, astronomia etc.)
  • Studio del territorio (Geologia, Sismologia, meteorologia etc.)
  • Scienze storiche (archeologia, paleontologia, paleoantropologia etc.)
  • Scienze applicate
  • Medicina (Forense, ricostruttiva, indagini diagnostiche etc.)
  • Ingegneria civile
  • Ingegneria industriale
  • Architettura
  • Industrial Design

Applicazioni artistiche

  • Industria cinematografica e televisiva
  • Videogame e applicazioni videoludiche
  • Grafica pubblicitaria
  • Pubblicazioni editoriali
  • Web design
  • Applicazioni multimediali
  • Produzione artistica

Tipologie di modellazione

Da un punto di vista tipologico, tutta la modellazione 3D, rientra in due grandi famiglie, ognuna riguardante un ben determinato genere di modelli:

  • La Modellazione organica - è la tipica modellazione utilizzata per realizzare gli esseri umani o le creature, animali o umanoidi. Viene usata per tutti i soggetti "naturali", come rocce, piante, alberi e per il territorio in generale, in questi casi i modelli sono tanto più riusciti quanto più sono ricchi di particolari. Anche molti oggetti di industrial design, che abbiano forme morbide e arrotondate, possono servirsi di una modellazione organica.
  • La Modellazione geometrica - è il tipo di modellazione meno recente, viene utilizzata per realizzare oggetti tecnici o meccanici, o comunque per qualsiasi cosa che abbia una natura artificiale, e che non rientri nella categoria precedente. Generalmente la complessità dei modelli realizzati con questo genere di modellazione è molto inferiore, se si guarda all'aspetto esteriore delle singole forme, ma non se si considerano aspetti legati alla precisione e alla corrispondenza delle parti.

Naturalmente uno stesso oggetto può contenere sia modellazione organica che geometrica, oppure può essere formato da un insieme di parti contenenti sia modelli organici che geometrici.

Tecniche di modellazione 3D

Si possono dividere in tre categorie principali:

  1. Modellazione Procedurale (automatica e semi-automatica)
  2. Modellazione Manuale
  3. Da dati provenienti da modelli reali (scansione tridimensionale)

Che a loro volta possono venire suddivise in tre distinti generi di modellazione:

  • Modellazione Solida - dove l'oggetto risultante è considerato come formato da un volume pieno.
  • Modellazione Volumetrica - determina delle entità generanti una superficie implicita.
  • Modellazione di superfici - l'oggetto in questo caso è determinato dalle sue superfici esterne.

In alcuni modellatori un oggetto è considerato fomato da superfici finché queste sono aperte, mentre viene riconosciuto come solido una volta che tutte le superfici siano saldate fra di loro e formino un corpo chiuso.

Il seguente elenco esamina le diverse tecniche di Modellazione Manuale. Alcune delle tecniche descritte (come ad es. le superfici patch), essendo abbastanza datate, risultano essere superate e obsolete rispetto a tecniche più recenti e avanzate. Malgrado questo taluni Modellatori 3D, mantengono al loro interno alcuni di questi strumenti come accessori o utilità.

Costruzioni di base (solidi e superfici)

  • Primitive - Generalmente ogni pacchetto 3D che non si occupi solo di rendering, contiene al suo interno un set più o meno nutrito di primitive, ossia di oggetti predefiniti (solidi o superfici), direttamente impiegabili; di solito le primitive standard, cioè sempre presenti, sono: il piano, il Cubo/Parallelepipedo, la Sfera, il Cilindro, il Cono/Piramide,[8] il Toro, e spesso la Teiera[9].
Primitives.jpg
  • costruzione per estrusione - è un semplice metodo per realizzare delle forme estruse partendo da un disegno 2d di base o da un poligono piano, e assegnandogli una certa altezza e una direzione di estrusione.
  • costruzione per rivoluzione - più complessa della precedente costruzione, una rivoluzione si può considerare come una estrusione attorno a un asse, si parte sempre da un profilo o da un poligono di base, e invece della profondità viene assegnato un angolo di rivoluzione.
Fig.1 - Operazione booleana tra due solidi
Fig.1 - Operazione booleana tra due solidi

Superfici patch

La modellazione per patch è uno dei sistemi meno recenti utilizzati in grafica 3D, e nel corso del tempo si è molto evoluta sviluppando una serie di nuove tecniche. Nella sua forma più semplice determina delle superfici parametriche generate da quattro o più curve adiacenti che formino un perimetro chiuso.

  • Superficie di Coons - determina una patch interpolata tra solo quattro curve di bordo, aventi i vertici in comune, il primo algoritmo di questa classe di superfici fu sviluppata da Steven A. Coons nel 1967.
  • Patch di Bézier - è una superficie parametrica controllabile localmente mediante una griglia di punti di controllo, congiungendo assieme più patch di Bézier si ottengono superfici più complesse chiamate superfici spline, in questo caso i punti di controllo si trovano all'intersezione tra le varie patch.
Fig.2 - Patch
Fig.2 - Patch

Modellazione Spline (superfici)

La modellazione spline utilizza la tecnica del patching, precedentemente descritta, e le curve spline. Fondamentalmente un modello realizzato mediante questo sistema è formato da una gabbia di curve spline, intersecanti e collegate tra loro. Gli spazi compresi tra tre o quattro curve spline unite nei loro punti di controllo, vengono poi riempiti da patch. Tale sistema si presta soprattutto a realizzare modelli organici.

Modellazione per spline patching

Costruzioni Avanzate (solidi e superfici)

Le costruzioni avanzate utilizzano lo stesso concetto alla base dell'estrusione e della rivoluzione semplice, ma vi aggiungono dei controlli molto più sofisticati.

  • Estrusione Sweep - è essenzialmente una estrusione lungo un percorso. Viene sempre usato un profilo o un poligono di base, come nell'estrusione semplice, a cui viene associato un percorso che può essere una curva o delle linee spezzate.
  • Costruzione per Loft - in questo caso la forma dell'oggetto è data da una serie di profili disposti in una certa sequenza, i profili possono essere considerati come le sezioni dell'oggetto.
  • Rivoluzione su binario - è un sistema ibrido tra una rivoluzione e una sweep, si parte sempre da un profilo e da un asse di rivoluzione, ma vi si aggiunge anche un percorso di base (chiamato anche binario), che il profilo dovrà seguire durante la rivoluzione.

Questo genere di costruzioni, nel corso degli anni sono state dotate in realtà di molti tipi di controllo, si sono aggiunte linee guida supplementari, controlli del tipo di torsione, definizioni di tangenze etc.
Questi sistemi di modellazione, per il loro alto grado di precisione, vengono impiegati per lo più per definire oggetti tecnici o di design industriale.

Modellazione poligonale

Si tratta di tecniche basilari nell'ambito della grafica 3D.
La modellazione poligonale opera su superfici organizzate in maglie più o meno dettagliate di facce poligonali. Queste superfici possono solo approssimare l'oggetto finale se siamo in presenza di un basso livello di poligoni (in questo caso caso l'oggetto viene detto Low Poly). In altri casi un modello poligonale - a modellazione ultimata - può essere formato anche da un numero molto elevato di facce.
I seguenti sistemi procedono dai più elementari ai più evoluti:

  • Per spostamento di elementi - un modello poligonale è formato da 3 elementi essenziali: facce, lati e vertici; lo spostamento arbitrario di un singolo elemento o di gruppi di essi, determina una modifica della mesh di partenza. La selezione di un componente della mesh e il suo spostamento (trascinamento, rotazione, ridimensionamento etc.), nello spazio è la tecnica più elementare di modellazione poligonale.
  • Da primitive di base - Uno dei sistemi più semplici e diretti per iniziare a modellare un oggetto poligonale, è quello di partire da una primitiva poligonale di base, e iniziare a modificarla spostando, ruotando, scalando i suoi componenti, fino a ottenere la forma voluta. Questa tecnica è molto semplice, ma consente in genere di ottenere modelli poco complessi, vincolati cioè alla complessità (anche in termini di densità poligonale della mesh) della primitiva di partenza.
     
    Realizzazione di una casa a basso dettaglio partendo da un box
  • Metodo della mesh piana - oltre a modificare i poligoni di mesh esistenti (ad es. delle primitive), esiste la possibilità di creare singolarmente ogni poligono dell'oggetto e di costruire i poligoni nella posizione più comoda per realizzare il modello finale. Uno dei sistemi di disegno diretto dei poligoni viene detto Metodo della mesh piana. Si tratta in sostanza di creare una griglia di poligoni posizionati in piano e aventi la struttura il profilo e la conformazione generale dell'oggetto finale. Posizionati i poligoni sul piano, si passa a determinarne la tridimensionalità: o spostando i punti della griglia lungo la profondità del modello, o attraverso dei sistemi di estrusione.
  • Piranha a basso dettaglio ottenuto da una mesh piana tassellata
  • Metodo a tela di ragno - Si tratta di una variante della precedente tecnica. In questo caso non si costuiscono e posizionano tutti i poligoni di base del modello, ma si parte da una sua zona (centrale), e si iniziano a creare e modellare i singoli poligoni con un sistema appunto a "tela di ragno", cioè dall'interno e procedendo man mano verso le zone esterne del modello. È un sistema complesso e dispendioso in termini di tempo, utilizzato soprattutto per il suo alto grado di precisione.
    modellazione di un volto partendo dalla posizione degli occhi
  • Per Rifinitura Progressiva - è il sistema più evoluto, può considerarsi uno dei paradigmi della Modellazione 3D. Adottando un qualsiasi metodo analizzato precedentemente si inizia a definire la forma in una maniera molto schematica, perlopiù approssimandone la morfologia e facendo attenzione a tenere estremamente basso il numero iniziale di poligoni. Dovendo gestire pochi poligoni è possibile modificare molto agevolmente le proporzioni e il volume generale della forma. Solo quando si è soddisfatti dell'aspetto grezzo del modello si può iniziare - adottando gli specifici strumenti di ogni pacchetto software - a definire maggiormente la forma. È importante che a ogni passaggio di rifinitura si passi a definire prima i volumi maggiori del modello, per andare poi a definire le zone sempre più piccole, la definizione e il numero di dettagli apportabili è a discrezione del grafico 3D. Il principio fondamentale da tenere a mente è che: tanto minore è il numero di poligoni presenti nel modello, tanto maggiore è la possibilità di modificarne la morfologia generale - tanto maggiore è il numero di poligoni tanto meno si potrà modificare la forma già impostata in precedenza. In pratica ogni passaggio è irreversibile, tanto più si definiscono i particolari dell'oggetto, tanto meno si potrà modificare (o correggere) il suo aspetto generale. A questo problema si può porre rimedio salvando il modello in maniera progressiva, in modo da avere a disposizione tutti i passaggi intermedi di modellazione, in caso di errore si può ripartire dal modello precedente a minore dettaglio, se il software utilizzato fa uso dei layer, è possibile conservare le varie versioni in layer separati.
  • Per Displacement map - vedi la sezione relativa
  • Per Scultura 3D - vedi la sezione relativa

Modellazione solida

La modellazione solida, o CSG, è un tipo di modellazione geometrica, utilizzata soprattutto in ambito tecnico e CAD, Storicamente si inizia a parlare di modellazione solida solo alla fine degli anni '60, mentre il primo modellatore solido commerciale (chiamato Romulus,) risale al 1981, seguito poi da Granite di PTC con il rilascio di Pro/ENGINEER nel 1987, che introdusse il concetto di 3D parametrico, e Parasolid, della Unigraphics, nel 1988.
La modellazione solida utilizza i seguenti strumenti di base:

  • Primitive di base - sono le medesime primitive analizzate in precedenza.
  • Costruzioni per estrusione e rivoluzione, semplici e avanzate - anche in questo caso i modelli solidi utilizzano le stesse tecniche descritte in precedenza.
  • operazioni booleane - derivante dall'Algebra di Boole, questa tecnica è invece esclusiva della modellazione solida. Consente di ottenere delle forme complesse partendo dalle primitive solide, componendole tra loro attraverso tre operazioni: Unione, Sottrazione e Intersezione.
  • Smussi e raccordi - sono funzioni automatiche che intervengono lungo i bordi dei solidi, consentendo di raccordarli mediante un certo raggio, o smussarli di un determinato angolo.

Modellazione solida parametrica

Una variazione della modellazione solida classica che ha dato grande impulso allo sviluppo di applicazioni CAD è stata l'introduzione del concetto di solido parametrico basato su features, che si differenzia dal concetto di modellazione solida tradizionale in quanto il solido viene creato sulla base di operazioni comparabili a quelle da effettuare per realizzare un pezzo reale. Nella modellazione parametrica, inotre, i solidi sono governati e messi tra loro in relazione da parametri di tipo fisico, matematico o geometrico.
L'introduzione di questo sistema di concetti relativo alla modellazione 3D è solitamente attribuito agli sviluppi del Dott. Samuel P. Geisberg che portò al rilascio del sistema Pro/ENGINEER nel 1987.
Nell'attuale panorama delle proposte CAD industriali la maggioranza dei software più diffusi hanno adottato questo paradigma sebbene sussistano delle differenze verso l'approccio alla parametricità del modello, alla gestione degli eventi ed alle tecnologie matematiche ed informatiche per realizzarli.

Superfici NURBS

Le Nurbs, acronimo di Non Uniform Rational B-Spline, sono entità riconducibili a figure, linee e superfici, definite da un particolare algoritmo che rappresenta oggi il più efficace ed avanzato grado evolutivo della modellazione tridimensionale.
La rappresentazione Nurbs ha origine negli anni sessanta grazie agli studi ed alle ricerche del matematico Francese Pierre Bèzier in quegli anni impiegato presso la casa automobilistica Renault e conseguentemente anche dal matematico Paul de Casteljau suo collega ed impiegato presso la Citröen.
In particolare, Bèzier per primo sviluppò a suo tempo delle particolari Curve (chiamate appunto Curve di Bèzier) grazie alle quali, e con poco sforzo, fu possibile ottenere curve analiticamente efficienti e flessibili. Tali entità vengono controllate mediante dei Punti di Controllo.

Curve di Bézier
Le curve di Bézier sono un tipo di curve vettoriali utilizzate per definire forme morbide freeform. Programmi come Adobe Illustrator, Macromedia FreeHand fanno largo uso delle curve di Bézier. Un punto di controllo (un vertice) di una curva di Bézier consiste in un punto e due maniglie; Il punto nel mezzo, è usato per spostare l'intero punto di controllo

In seguito, nel corso degli anni, sulla base degli studi di Bézier e de Casteljau sono state sviluppate le B-Splines e le Nurbs che altro non sono che una generalizzazione degli algormi creati in precedenza. In particolare, le matematica Nurbs nasce dall'esigenza di poter rappresentare correttamente archi di circonferenza e curve coniche cosa che, con le B-Spline tradizionali, non è possibile ottenere.  Rhinoceros è un modellatore Nurbs di Superfici a tutti gli effetti che si avvale proprio delle Nurbs per rappresentare al meglio le curve, le superfici ed i solidi. Fatta questa importante ma necessaria introduzione vediamo come viene descritta una curva Nurbs senza naturalmente sconfinare in temi puramente matematici.

Una Curva Nurbs è definita da una equazione parametrica di grado n in funzione di un parametro U che varia nell'intervallo [0,1]

Modellazione solida parametrica