
Virtual Dice Roller
Introduzione
Il lancio di un dado è uno degli esempi più classici per introdurre il concetto di probabilità: in condizioni ideali, assumendo un dado regolare, ciascuna delle sei facce possiede la medesima probabilità di uscita, pari a 1/6.
Tuttavia, quando si passa dalla modellizzazione teorica all’osservazione di fenomeni sperimentali, in condizioni di incertezza o non determinismo, — tramite esperimenti reali o modelli simulati via software — si entra nell’ambito della statistica, la disciplina che si occupa dello studio dei fenomeni collettivi (qualitativi o quantitativi), attraverso la raccolta, l’analisi o l’elaborazione dei dati, al fine di trarre conoscenza.
Il presente progetto propone un simulatore grafico di lancio di sei dadi, sviluppato in JavaScript e concepito con finalità sia illustrative che didattiche. Esso consente di osservare dinamicamente l’esito di più lanci. In particolare, oltre a riprodurre visivamente l’evento aleatorio, l’animazione offre uno strumento esplorativo per avviare una riflessione e un confronto tra le previsioni fornite dal modello probabilistico e le osservazioni derivate da una sequenza di lanci simulati, costituendo al contempo un’opportunità per introdurre i concetti fondamentali di statistica descrittiva.
Risultato
Il risultato visivo del codice sottostante è rappresentato tramite un’animazione grafica interattiva che mostra, per l’occhio umano, sei dadi lanciati simultaneamente. A ogni attivazione, ciascun dado riceve un valore intero compreso tra 1 e 6, generato tramite la funzione Math.random() (basata su un generatore PRNG) di JavaScript, la quale restituisce un numero pseudocasuale continuo nell’intervallo [0, 1), successivamente trasformato in un intero attraverso l’arrotondamento per difetto. L’arrotondamento per difetto (Math.floor) introduce un meccanismo deterministico di quantizzazione, ma lo applica in modo perfettamente uniforme sull’intero intervallo continuo [0, 6), suddividendolo in sei sottointervalli disgiunti e equiestesi. Ogni valore intero da 1 a 6 deriva quindi da uno e un solo intervallo di pari ampiezza, e la trasformazione complessiva mantiene la distribuzione uniforme teorica dei risultati originaria: non viene introdotta alcuna distorsione sistematica nella probabilità associata a ciascun valore intero.
In tal modo viene simulato il comportamento aleatorio di ciascun dado, in maniera coerente con il principio della equiprobabilità discreta delle facce, sotto l’ipotesi di indipendenza dei lanci. Più precisamente, non appena si clicca sul pulsante “LANCIA I DADI”, viene avviato il rendering e ha inizio l’animazione. Quest’ultima ha una durata complessiva di circa 3,15 secondi, durante i quali i valori dei dadi vengono aggiornati sette volte, a intervalli di 450 millisecondi ciascuno. Tale breve sequenza di variazioni è intenzionale e ha lo scopo di simulare visivamente il movimento aleatorio dei dadi prima che si arrestino sul risultato finale. Tale comportamento è controllato e previsto dal codice. Infine, cliccando nuovamente su “LANCIA I DADI”, è possibile avviare una nuova simulazione, ciascuna delle quali produce un set distinto di risultati generati in modo pseudocasuale.
Codice
Il codice JavaScript riportato di seguito, completamente accessibile e commentato, disegna e anima sei dadi su un canvas HTML5. È un esempio efficace di come la programmazione grafica possa essere impiegata per rappresentare concetti matematici e statistici in modo dinamico e visivamente intuitivo.
A seguire è riportato anche un secondo frammento di codice, in HTML, che permette di integrare e rendere immediatamente operativo lo script JavaScript all’interno di una pagina web. Insieme, i due codici costituiscono un ambiente interattivo completo, pronto per essere utilizzato o adattato a fini didattici, sperimentali o divulgativi.
⚠️ Il codice riportato è stato realizzato esclusivamente a fini didattici e divulgativi. Non è destinato all’uso in contesti di gioco d’azzardo o attività a fini economici.











