Per computer grafica (anche grafica digitale o grafica computerizzata; ) si intende quella disciplina informatica che ha per oggetto la creazione e quindi la manipolazione di immagini grafiche fisse o animate, per mezzo del computer.
Argomenti importanti nella computer grafica includono il design delle interfacce utente, la grafica delle sprite, la grafica vettoriale, la modellazione 3D, il ray tracing, la realtà virtuale. Le tecniche e i software che permettono tale attività, si appoggiano sulle scienze della geometria, dell'ottica e della fisica.
Storia L'espressione computer graphics fu coniata nel 1960, dai ricercatori Verne Hudson e William Fetter. È spesso abbreviata come CG, tuttavia a volte tale acronimo viene confuso con CGI, cioè computer-generated imagery. L'espressione "computer grafica" in passato veniva intesa, in un senso ampio, per descrivere «circa ogni cosa sui computer che non sia testo o suono». A quel tempo i concetti di computer e software grafico erano decisamente diversi da quelli che abbiamo al giorno d'oggi: anche se i contenuti 2D (planimetrie, schemi e disegni tecnici) potevano essere in qualche modo rappresentabili, non era ancora giunto il momento per i contenuti 3D.
Nei due decenni successivi, a riprova degli esponenziali tempi di sviluppo delle tecnologie informatiche, accaddero numerosi eventi, che portarono i computer a essere in grado di presentare qualcosa di più interessante di qualche linea immobile sullo schermo, suscitando così un interesse al di fuori della ristretta cerchia di ricercatori e ingegneri, all'interno della quale tutto questo era nato. Verso la fine degli anni Ottanta alcuni progettisti compresero le potenzialità di questo mezzo e si adoperarono per utilizzarlo con scopi diversi dalla progettazione o visualizzazione. È in questo periodo che avviene il primo contatto tra la computer grafica e il creativo mondo dell'intrattenimento.
Gli anni 1990 segnarono infine la svolta definitiva nell'impiego della computer grafica, con la produzione dei primi lungometraggi animati completamente in 3D, la comparsa dei primi videogiochi con grafiche tridimensionali e l'impiego massimo del computer per la generazione di effetti speciali nelle pellicole cinematografiche. Al giorno d'oggi comprendiamo facilmente il concetto di computer grafica, o contenuto 3D, in quanto ne siamo continuamente a contatto (film di animazione, visualizzazioni di progetti e prototipi di prodotti, pubblicità).
Descrizione La computer grafica è la scienza e l'arte della comunicazione visiva per mezzo di uno schermo del computer e dei suoi dispositivi di interazione. È un campo che si serve di molte discipline, quali la fisica, matematica, percezione umana, interazione uomo-macchina, ingegneria, grafica, e l'arte. La fisica è utilizzata per modellare la luce e per eseguire simulazioni animate; la matematica è utilizzata per descrivere e creare forme; la percezione umana lo è per determinare l'allocazione delle risorse (per evitare di sprecare tempo-macchina generando immagini di cose che non saranno notate); l'ingegneria per ottimizzare l'allocazione della lunghezza di banda, della memoria e dei tempi di elaborazione. Il graphic design e l'arte si combinano con l'interazione uomo-macchina per far sì che la comunicazione tra computer e utente sia il più efficace possibile.
La computer grafica, intesa come area dell'informatica, studia la creazione e manipolazione delle immagini usando la matematica e le tecniche computazionali da essa derivate, piuttosto che le pure problematiche estetiche, sebbene a volte le due cose possano coincidere o incrociarsi. Campi di studio che confluiscono nella computer grafica sono: Matematica applicata Geometria computazionale Topologia computazionale Visione artificiale Elaborazione dell'immagine Visualizzazione dell'informazione Visualizzazione scientifica Riassumendo, possiamo dire che la computer grafica è... La rappresentazione e manipolazione di dati immagine attraverso un computer. L'insieme delle tecnologie impiegate per creare e manipolare immagini. Il sotto-campo dell'informatica che studia metodi per sintetizzare e manipolare digitalmente contenuti visivi.
Applicazioni Al giorno d'oggi la computer grafica è parte integrante di tantissimi ambiti professionali e industriali. Per esempio la tipografia (impaginazione di giornali e riviste, anche detta desktop publishing), la progettazione grafica (CAD) nelle industrie metalmeccanica, elettronica, impiantistica ed edile, visualizzazione di dati tecnico/medico/scientifici (CAE), sistemi informativi territoriali (SIT o GIS) e di consumo come i videogiochi, il ritocco fotografico, il montaggio di filmati, l'industria cinematografica (film d'animazione digitale ed effetti speciali dei film). È possibile trovare la computer grafica anche in televisione (pubblicità), sui giornali, nelle previsioni meteorologiche, e in una varietà di indagini mediche e procedure chirurgiche. In una presentazione o report, per fare un esempio, un grafico ben costruito può rappresentare statistiche complesse in una forma che è più facile da capire e interpretare. Le interfacce grafiche utente (GUI) che troviamo negli smartphone, nei computer, nelle dashboard delle automobili, e in molti dispositivi elettronici casalinghi, sono state progettate grazie agli sviluppi della computer grafica.
Negli anni Novanta, sono stati oggetto di sviluppo altri campi come la visualizzazione dell'informazione, e una visualizzazione scientifica più incentrata nella «rappresentazione di fenomeni tridimensionali (di architettura, meteorologia, medicina, biologia, ecc...), dove l'enfasi è posta su rese realistiche di volumi, superfici, fonti di illuminazione, e così via, magari con una componente dinamica (tempo)».
Concetti fondamentali Tipi di immagine In generale, l'obiettivo della computer grafica è la creazione ed elaborazione di immagini e filmati digitali. Il termine "digitale" sta ad indicare un sistema o un dispositivo in cui le grandezze sono rappresentate attraverso valori numerici discreti, come per esempio nell'elaboratore elettronico o nelle macchine fotografiche dette appunto digitali. Un'immagine può essere rappresentata digitalmente in due modi: Bitmap – Un'immagine raster o bitmap è un array rettangolare di punti, organizzati in righe ed colonne. L'espressione è detta risoluzione dell'immagine, e i punti sono detti pixel. (vedi Grafica raster) Vettoriale – Un'immagine vettoriale è un insieme di primitive geometriche, come punti, segmenti di retta, curve di Bézier, ecc., alle quali possono essere attribuiti colori e anche sfumature. (vedi Grafica vettoriale) È possibile convertire un'immagine vettoriale in una bitmap attraverso la rasterizzazione. È anche possibile l'operazione inversa, attraverso limage tracing.
Come viene visualizzata un'immagine su schermo?
La maggior parte delle immagini digitali viene mostrata all'utente su un display raster, il quale le mostra come degli array rettangolari di pixel. Da un punto di vista fisico, in ogni punto dello schermo, inizialmente nero, ci sono tre celle fosforescenti che emettono luce se colpite da un fascio di elettroni, ovvero se si aggiunge energia. Ognuna delle celle corrisponde a uno dei tre colori primari della sintesi additiva: rosso, verde e blu. Al valore massimo di intensità luminosa, prodotta da tutte e tre le celle contemporaneamente, corrisponde il bianco; alla minima, ossia a celle spente, il nero. Tutti gli altri colori si ottengono da combinazioni di intensità diverse di questi tre colori (vedi RGB).
Tuttavia, è bene considerare che perfino nelle televisioni (display raster esemplari), raramente si hanno lo stesso numero di pixel dell'immagine che si vuole visualizzare. Considerazioni come questa spezzano il legame diretto tra i pixel dell'immagine e quelli del display. È preferibile pensare un'immagine raster come una descrizione device-independent (indipendente dal dispositivo) dell'immagine che sarà visualizzata, e il dispositivo come un mezzo per approssimare quell'immagine ideale.
Rappresentazione tridimensionale La modellazione digitale è l'insieme dei processi atti a creare rappresentazioni matematiche di oggetti tridimensionali. È impiegata principalmente nell'animazione digitale, nel CAD/CAM, nello sviluppo di videogiochi, nelle simulazioni, per la stampa 3D. Vi sono fondamentalmente due tipologie di oggetti tridimensionali: Solidi – Un modello solido è un vero e proprio corpo tridimensionale chiuso, con proprietà reali, quali massa, volume, centro di gravità e momenti di inerzia. Superfici – Una superficie è una sorta di velo sottile, privo di spessore e, quindi, di massa o volume. Rientrano in questa categoria le mesh poligonali. Il rendering è il processo che, a partire dai modelli tridimensionali (vettoriali) presenti nella scena 3DLa "scena 3D" è lo spazio nel quale si trovano gli oggetti, le fonti di illuminazione, gli osservatori (le camere)., permette di generare immagini raster o filmati, dotati di una precisa risoluzione e raffiguranti le superfici degli oggetti, i materiali e le texture in relazione all'illuminazione della scena stessa. La parte di software dedicata a svolgere questo compito è chiamata motore di rendering (rendering engine), il quale non solo calcola l'aspetto dei materiali associati agli oggetti, ma elabora anche il modo in cui le ombre devono essere create sia in base alle luci posizionate nella scena, sia alle impostazioni di esposizione e ambientali eventualmente definite.
Animazione digitale
Lanimazione è una tecnica impiegata come medium narrativo e trova spazio nel cinema, nella televisione, nei videogiochi e così via. Si ottiene riproducendo sequenze di immagini con variazioni coerenti del contenuto, a una velocità tale da rendere l'occhio umano non più in grado di distinguerle come singole immagini, creando l'illusione del movimento. All'interno di un software di animazione, oltre alle dimensioni spaziali (2D o 3D), è possibile rappresentare anche quella temporale, e ciò viene fatto tramite un elemento dell'interfaccia chiamato timeline, che è disposto orizzontalmente e suddiviso a intervalli regolari, chiamati fotogrammi, i quali costituiscono l'unità base dell'animazione. Quelli del keyframing e dellinterpolazione sono i principi su cui si basa l'animazione al computer.
Dati di rilievo Cronologia Anni quaranta – Isaac Jacob Schoenberg sviluppa le descrizioni matematiche di curve complesse, chiamate B-splines ("B" per "basis"). 1949 – Da quest'anno, il computer Whirlwind comincia ad essere utilizzato al MIT: è il primo computer che opera in tempo reale, usa schermi per l'output e che non è semplicemente un rimpiazzo elettronico di vecchi sistemi meccanici. Charles W. Adams e John T. Gilmore Jr. sviluppano con questo computer il primo gioco animato con la grafica computerizzata, Bouncing Ball Program: un punto appare in alto su schermo, per poi cadere in basso e rimbalzare.
Anni cinquanta – Pierre Bézier, mentre lavora alla Renault, produce la più importante opera sulle curve a interpolazione polinomiale e sulle sculptured surface. Un lavoro simile lo stava svolgendo, nello stesso tempo, Paul de Casteljau alla Citroën; tuttavia, alla scoperta fu dato il nome di Bézier. 1950 – Ben Laposky, un matematico e artista statunitense, crea le prime immagini generate con una macchina elettronica. Queste sono le figure di Lissajous. 1951 – Jay Forrester sviluppa il primo simulatore di volo programmabile. 1953 – I plotter entrano in uso come periferiche grafiche di output. 1955 – Il sistema di difesa aereo SAGE (Semi-Automatic Ground Environment) inizia ad operare. Usa monitor a scansione vettoriale come dispositivo principale di output, e penne ottiche come dispositivo principale di input. 1957 – Viene fondata la Digital Equipment Corporation (DEC). Produrrà minicomputer che saranno in seguito impiegati per i primi sviluppi della computer grafica.