Il rumore di Perlin è stato ampiamente utilizzato nella generazione di immagini al computer fin dalla sua introduzione da parte di Ken Perlin nel 1983. Questa tecnica di rumore ha dimostrato il suo valore unico, sia che si tratti di generare terreno in modo procedurale, di aggiungere variazioni pseudo-casuali alle variabili o di assistere nella creazione di texture di immagini. Cos'è esattamente il rumore di Perlin e perché rende le immagini generate al computer così realistiche?
Il rumore di Perlin consente agli elementi visivi generati al computer, come superfici di oggetti, fuoco, fumo o nebbia, di simulare in modo più naturale l'aspetto casuale delle texture presenti in natura.
Il rumore di Perlin è nato dall'insoddisfazione di Ken Perlin nei confronti dell'aspetto meccanico delle immagini generate al computer nei primi anni '80. Descrisse formalmente la tecnica nel suo articolo SIGGRAPH del 1985 "Image Synthesizer". Lo sviluppo di questa tecnica fu accompagnato dal suo lavoro sul film d'animazione fantascientifico della Disney Tron (1982).
Si dice che Perrin abbia vinto l'Oscar alla migliore tecnica nel 1997 per aver creato l'algoritmo, in riconoscimento del suo contributo agli effetti speciali cinematografici e televisivi. Dietro questo risultato c'è l'ispirazione che il rumore di Perlin porta agli artisti della computer grafica, che utilizzano questa tecnica per riprodurre al meglio la complessità dei fenomeni naturali.
Perlin non ha richiesto alcun brevetto per i suoi algoritmi, ma nel 2001 gli è stato concesso un brevetto per il rumore Simplex in 3D e oltre, una tecnica pensata anche per migliorare la sintesi del rumore.
In quanto primitiva di texture procedurale, il rumore Perlin fornisce agli artisti degli effetti visivi gli strumenti per migliorare il realismo della computer grafica. Sebbene questa tecnica crei un aspetto pseudo-casuale, tutti i dettagli visivi mantengono dimensioni costanti, il che ne facilita il controllo.
Nella computer grafica, il rumore Perlin viene spesso utilizzato per la composizione delle texture, soprattutto quando la memoria è estremamente limitata, come nelle presentazioni. Le tecnologie successive, come Fractal Noise e Simplex Noise, sono diventate componenti standard nelle unità di elaborazione grafica.
Il rumore di Perlin è ampiamente utilizzato nei videogiochi per produrre terreni generati proceduralmente e dall'aspetto naturale.
Le implementazioni del rumore Perlin in genere prevedono tre passaggi: definizione di una griglia di vettori di gradiente casuali, calcolo del prodotto scalare tra i vettori di gradiente e i loro offset e interpolazione tra questi valori. Attraverso questa serie di calcoli, il rumore di Perlin può produrre effetti naturali in più dimensioni.
Per prima cosa, definiamo una griglia n-dimensionale in cui ogni intersezione della griglia ha un vettore gradiente di lunghezza unitaria n-dimensionale casuale fisso. Nel caso unidimensionale, questi gradienti sono scalari casuali compresi tra −1 e 1.
Quando è necessario calcolare il valore di un punto candidato, bisogna prima trovare la cella univoca della griglia a cui appartiene il punto, quindi determinare i 2n punti d'angolo della cella e il suo vettore gradiente. Per ogni punto d'angolo viene calcolato un vettore di offset che punterà dal punto d'angolo al punto candidato. Quindi, per ogni punto d'angolo, calcola il prodotto scalare tra il suo vettore gradiente e il vettore offset.
In una griglia bidimensionale è necessario calcolare quattro vettori di offset e quattro prodotti scalari, mentre in tre dimensioni ne è necessario calcolare otto.
Il passaggio finale consiste nell'interpolare i 2n prodotti scalari. La funzione di interpolazione utilizzata in questo passaggio richiede che la prima derivata (e persino la seconda derivata) sia zero in 2n nodi della griglia. Ciò significa che l'aspetto caratteristico del rumore di Perlin deriva dalla sua proprietà di passare per lo zero in ogni nodo.
La complessità del rumore Perlin aumenta con l'aumento della dimensione, ma con l'approfondimento della ricerca, nuovi algoritmi come il rumore Simplex e il rumore OpenSimplex emergono costantemente. Queste tecnologie sono progettate per migliorare le prestazioni e migliorare la naturalezza della grafica. Sono ancora in corso molte esplorazioni e innovazioni per la tecnologia della futura generazione di grafiche.
Quindi, mentre in futuro ci troveremo di fronte a immagini generate al computer sempre più realistiche, in che modo il rumore di Perlin continuerà a influenzare il settore?