
La lente che gonfia
WebGL, Hover, Immagini
NuovaGratis
Tre immagini in WebGL: dove passa il puntatore la foto si apre in un foro dal bordo che trema, sotto c’è un foglio bianco a quadretti, e intorno la foto si increspa come acqua.
Una cartella che funziona da sola: index.html, style.css, script.js e le librerie da CDN. Nelle schede React e Vue la stessa demo è già un componente, che spegne le sue animazioni quando esce dalla pagina.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>The squared sheet</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fontsource-variable/mona-sans@5.3.0/standard.css">
<link rel="stylesheet" href="style.css">
</head>
<body>
<main class="pagina">
<!-- tre quadri: ognuno ha la sua immagine, disegnata dallo script, e un piccolo WebGL che la mostra -->
<div class="galleria">
<div class="testa">
<p class="nota" data-nota>Move the mouse over the pictures: wherever you pass, the photo opens, and underneath there’s graph paper.</p>
<h1 class="titolo">Under every photo there’s graph paper.</h1>
</div>
<figure class="quadro quadro--campo" data-quadro="campo">
<div class="quadro__tela" data-tela></div>
<figcaption class="quadro__dida">The field, at the end of June</figcaption>
</figure>
<figure class="quadro quadro--finestra" data-quadro="finestra">
<div class="quadro__tela" data-tela></div>
<figcaption class="quadro__dida">The kitchen window</figcaption>
</figure>
<figure class="quadro quadro--brocca" data-quadro="brocca">
<div class="quadro__tela" data-tela></div>
<figcaption class="quadro__dida">The jug and two pears</figcaption>
</figure>
</div>
</main>
<script src="https://cdn.jsdelivr.net/npm/gsap@3.15.0/dist/gsap.min.js"></script>
<script src="script.js"></script>
</body>
</html>Cambia valori, colori e testi con le manopole e guarda l’animazione rispondere dal vivo. Oppure scrivi tu nel codice. Poi scarica la cartella con le tue modifiche.
18 valori da cambiare
Col connettore di Animorio, Claude Code la prende da qui con tutta la sua guida e la adatta al tuo progetto. Incolla questa richiesta:
Prendi «Il foglio a quadretti» da Animorio e adattala al mio sitoLo shader riceve sedici punti: il primo è il puntatore, gli altri la scia, ognuno con la posizione, l’ora in cui è nato e il raggio. In ogni pixel somma r² diviso d² per tutti, e taglia la somma a 1: dove due fori si avvicinano si fondono come gocce. Quelli della scia si gonfiano in un quarto di secondo e si richiudono col quadrato del tempo che resta.
Prima di misurare, il punto del pixel si storce con due giri di rumore che scorrono nel tempo, a scale diverse: così il bordo del foro non è mai un cerchio e la sua forma non si ripete. Il taglio è stretto, fra 0,96 e 1,04, perché si legga come un taglio e non come una sfumatura.
Il foglio conta quanti quadretti di 24 pixel stanno nel quadro, arrotonda, e divide la misura per quel numero, per righe e per colonne: i quadretti escono di un soffio non quadrati, ma nessuno è tagliato. Si disegnano anche le due righe dei bordi lontani, e un filo d’ombra appena dentro il taglio fa stare il foglio sotto la foto.
Ogni foro della scia manda un’onda: un seno chiuso in una campana che corre verso fuori a 260 pixel al secondo e si spegne col tempo. L’onda sposta il punto in cui si legge la foto lungo il raggio, cioè verso fuori dal tocco. Il foglio non si piega: l’acqua è sulla foto.
| Nome | File | Di partenza | Cosa cambia |
|---|---|---|---|
CELLA | script.js | 24 | Il lato di un quadretto in px; il foglio lo aggiusta per avere solo quadretti interi. |
TESTA, GOCCIA | script.js | 70, 84 | Il raggio del foro sotto il puntatore e di quelli della scia. |
VITA | script.js | 1.6 | In quanti secondi un foro della scia si richiude. |
TREMA, ONDA | script.js | 34, 16 | Di quanti px trema il bordo e di quanti l’acqua sposta la foto. |
DISEGNI | script.js | campo, finestra, brocca | Le tre immagini, disegnate sul canvas; al loro posto si può caricare qualunque foto. |
Per le foto di un portfolio, di un menù o di una galleria che devono restare foto finché qualcuno non ci gioca: il foglio sotto dice che dietro ogni immagine c’è un progetto.
Le foto vanno una sotto l’altra. Un tocco apre un foro che si richiude da solo; trascinando di lato si disegna, in verticale la pagina scorre come sempre.
Niente scia, niente acqua e niente bordo che trema: sotto il puntatore resta solo il foro, che compare e sparisce con una dissolvenza breve.
GSAP 3.15.0, Mona Sans (font variabile) 5.3.0.
Compressi con gzip, i tre file della demo pesano 8,9 KB; le librerie: GSAP 28 KB.
Provata il 21 ottobre 2026
Puoi usarla nei tuoi progetti e in quelli dei tuoi clienti. Non puoi rivenderla né ridistribuirla così com’è. GSAP resta sotto la sua licenza Standard. Licenza completa.
Con l’email e la password del tuo account.
oppure con l’email
Hai fatto l’accesso come .
Con l’account scarichi lo zip di ogni animazione e di ogni pacchetto, gratis.