Dietro il lavoro degli artisti della computer grafica, che con le loro creazioni virtuali ci fanno sognare tanto, si celano molto spesso… la matematica! L’obiettivo della mostra «Sous la surface, les maths» è rivelare e far scoprire alcune delle sfaccettature matematiche nascoste dietro le immagini virtuali. Insomma, sotto la superficie, la matematica!
Immaginate di voler rappresentare sullo schermo un personaggio animato. Un personaggio realistico, con abiti che ne seguano i movimenti, dato che volete animarlo. Come farete?
Una mesh per cominciare…
---------------------------
Per prima cosa disegnerete un poliedro il più vicino possibile al vostro personaggio. È ciò che si chiama una mesh. Se volete animare il vostro personaggio e soprattutto calcolarne gli spostamenti in tempo reale, vi conviene senz’altro non scegliere una mesh troppo fitta. Infatti, più numerosi sono i punti, più lunghi saranno i tempi di calcolo. Quando occorre calcolare una nuova immagine in pochi millisecondi, ogni cosa conta…
D’altra parte, più fitta è la mesh, più preciso sarà il disegno. Dovete quindi trovare un compromesso: per esempio, rendere più fitta la mesh nelle zone in cui la superficie presenta una forte curvatura e più grossolana nelle zone più piane. Entra così in gioco la geometria della superficie del vostro personaggio.
Ma i problemi cominciano qui: non si può discretizzare una superficie mediante una mesh in modo arbitrario. Pensate ai vostri poliedri preferiti (il cubo, il tetraedro, l’ottaedro…), contate il numero dei loro vertici S, dei loro spigoli A e delle loro facce F, quindi calcolate S – A + F. Dovreste trovare ogni volta 2. Qualunque sia il modo in cui cercherete di discretizzare una sfera mediante una mesh, troverete sempre S – A + F = 2 (vedi
Tangente 174). Siete appena entrati nell’universo della topologia delle superfici. Questo mondo meraviglioso (per il matematico) impone vincoli sulla scelta della mesh (vedi il nostro dossier «Maths et cinéma» in
Tangente 178).
Un po’ di rivestimento per proseguire
---------------------------------
Occorrerà poi applicare (o proiettare) una texture al vostro personaggio: vestirlo (se volete incollargli addosso gli abiti), dargli un colorito della pelle… Per farlo, vi orienterete sulla superficie mediante coordinate. Ne bastano due, proprio come latitudine e longitudine bastano per orientarsi sulla Terra. Scelte queste coordinate, potete far corrispondere un punto della superficie a un punto del piano. Questa corrispondenza può sempre essere realizzata su porzioni della superficie. Ma, così come esistono infiniti modi di rappresentare la Terra su un piano, avete l’imbarazzo della scelta… e tutte queste rappresentazioni comporteranno deformazioni! Ciononostante, disegnerete la texture su un piano; riporterete (o meglio, il vostro software riporterà) i colori punto per punto: a un punto del piano corrisponderà un punto della superficie con le stesse coordinate. Dipingere tenendo conto delle deformazioni successive è un’arte vera e propria!
Ritrovare la profondità
--------------------------
Non bisogna dimenticare che l’immagine costruita è intrinsecamente bidimensionale: è un’immagine su uno schermo piatto. Per restituire l’illusione della profondità, della tridimensionalità, oltre alla proiezione della texture occorre giocare con l’illuminazione. A questo scopo servono una sorgente luminosa (o più sorgenti) e un punto di vista. La quantità di luce ricevuta dall’oggetto dipenderà dal suo orientamento rispetto alla sorgente luminosa: rivolto verso di essa, ne riceverà più di quanto ne riceverebbe se fosse orientato di sbieco. Questa luce ricevuta viene riflessa dall’oggetto. Il modo in cui viene riflessa dipende dall’effetto che volete ottenere, dalla natura dell’oggetto che cercate di rappresentare. Per esempio, su una distesa d’acqua userete la riflessione speculare: la luce verrà riflessa un po’ come in uno specchio e, se l’osservatore non si trova nella direzione di questa riflessione (che dipende dalla posizione della sorgente, dall’orientamento dell’oggetto e dalla sua stessa posizione), non riceverà molta luce; non assegnerete dunque molta luminosità a quel punto dell’oggetto.
Prendiamo un altro esempio classico, un prato: userete una riflessione diffusa. La quantità di luce ricevuta verrà rinviata in tutte le direzioni nella stessa misura. L’oggetto vi apparirà più opaco, meno brillante.
Ogni illuminazione è una combinazione di questi due tipi di riflessione, insieme a molti altri effetti. Per il vostro personaggio, se volete che abbia la pelle opaca, userete soprattutto una riflessione diffusa; se desiderate che abbia la pelle lucida, userete un po’ più di riflessione speculare. Come calcolare questa luminosità? Usando la geometria della superficie, in particolare le nozioni di piano tangente e di normale.
Gli artisti della computer grafica usano molte altre tecniche per raggiungere un realismo stupefacente. Tutte si basano su strumenti matematici, alcuni risalenti al 19º secolo, altri assai più recenti. Naturalmente, la matematica non fa tutto: per creare belle immagini servono anche un autentico approccio artistico e padronanza degli strumenti software!
Per scoprire quali strumenti matematici si nascondano dietro la realizzazione degli abiti virtuali e dietro questi paesaggi realistici che scorrono sotto i nostri occhi, andate a vedere la mostra «Sous la surface, les maths». Lì sarete guidati passo dopo passo verso concetti matematici, attraverso esperimenti su modelli semplici e la manipolazione di superfici virtuali o reali.
Vi farà sicuramente venire voglia di saperne di più e vi condurrà a porvi domande: il più bell’atto matematico che ci sia.