123DiceRoller er en gratis terningkaster på nett som kaster realistiske 3D-terninger i nettleseren din. Den er laget for å være rettferdig, rask og privat: Resultatene kommer fra en kryptografisk sikker slumptallsgenerator, terningene kastes med ekte fysikk, og ingenting om deg eller kastene dine sendes til en server.
Slik fungerer et kast, steg for steg
- Tallene trekkes først. For hver terning leverer nettleserens Web Crypto API (
crypto.getRandomValues) et tilfeldig 32-biters tall. Det gjøres om til en side med rejection sampling (forkastingsmetoden) – trekninger som ville gjort lave sider bare så vidt mer sannsynlige, forkastes – slik at hver side på en terning med N sider har nøyaktig 1 av N i sjanse. - Kastet simuleres. En fysikkmotor for stive legemer (cannon-es) kaster terningene ut på bordet med tyngdekraft, friksjon, sprett og kollisjoner mellom terningene. Hele kastet regnes ut på en brøkdel av et sekund før det vises.
- Terningene vris slik at de stemmer. Alle terningformer er symmetriske: En d20 kan roteres på 60 ulike måter og se helt lik ut. Terningkasteren velger den ene rotasjonen som bringer det trukne tallet dit fysikken plasserte den øverste siden, og bruker den fra aller første bilde. Bevegelsen er ekte; tallet var allerede bestemt, på en rettferdig måte.
- Skjeve terninger kastes på nytt. Hvis en terning ville blitt liggende lent mot en annen, gjøres kastet om usynlig, slik man også ville kastet på nytt ved et ekte bord.
- Kastet spilles av med skygger, refleksjoner og lyd som er tilpasset hvert sammenstøt.
Hvorfor ikke la fysikken velge tallet?
Fordi en simulering ikke er en rettferdig kilde til tilfeldighet. Små detaljer i startposisjonen, tidssteget og avrundingen kan få noen sider til å komme opp oftere enn andre, og ingen kan bevise at de ikke gjør det. En kryptografisk generator er utformet og testet for å være uforutsigbar og jevnt fordelt. Ved å skille de to får du det beste fra begge: et kast som ser og høres ekte ut, og et resultat du kan stole på.
Nøyaktige sannsynligheter
Oddsen som vises for hvert kast, er regnet ut, ikke gjettet. Summer beregnes med konvolusjon, én terning om gangen, og kast der terninger beholdes eller strykes, som fordel, ved å telle opp alle de ulike utfallene. Sannsynlighetsregneren for terninger forklarer metoden.
Bygget med
- three.js for 3D-grafikken (MIT-lisens)
- cannon-es for fysikken (MIT-lisens)
- Ren PHP på serveren, uten database, uten kontoer og uten sporing
Begge bibliotekene leveres fra dette nettstedet og ikke fra et CDN hos en tredjepart, så siden laster aldri inn kode fra noe annet sted.
En del av 123-familien
123DiceRoller står side om side med 123Calculator og de andre gratisverktøyene våre uten registrering. Har du spørsmål, ideer eller en feil å melde fra om? Send en e-post til hello@123diceroller.com.
Sist oppdatert