123DiceRoller er en gratis terningsimulator online, der kaster realistiske 3D-terninger i din browser. Den er bygget til at være fair, hurtig og privat: Resultaterne kommer fra en kryptografisk sikker tilfældighedsgenerator, terningerne kastes med ægte fysik, og intet om dig eller dine kast bliver sendt til en server.
Sådan foregår et kast, trin for trin
- Tallene trækkes først. For hver terning leverer din browsers Web Crypto API (
crypto.getRandomValues) et tilfældigt 32-bit-tal. Det omsættes til en side med rejection sampling – træk, der ville gøre de lave sider en anelse mere sandsynlige, bliver kasseret – så hver side på en terning med N sider har præcis en chance på 1 ud af N. - Kastet simuleres. En fysikmotor til stive legemer (cannon-es) kaster terningerne ud på bordet med tyngdekraft, friktion, hop og sammenstød mellem terningerne. Hele kastet beregnes på en brøkdel af et sekund, før det bliver vist.
- Terningerne drejes, så de passer. Alle terningformer er symmetriske: En d20 kan drejes på 60 forskellige måder og se helt ens ud. Terningsimulatoren vælger den ene rotation, der bringer det trukne tal derhen, hvor fysikken placerede den øverste side, og bruger den fra allerførste billede. Bevægelsen er ægte; tallet var allerede afgjort, på fair vis.
- Terninger, der lander skævt, kastes igen. Hvis en terning ville ende med at læne sig op ad en anden, bliver kastet lavet om usynligt, ligesom man ville slå om ved et rigtigt bord.
- Kastet afspilles med skygger, refleksioner og lyd, der passer til hvert sammenstød.
Hvorfor ikke lade fysikken vælge tallet?
Fordi en simulering ikke er en fair kilde til tilfældighed. Små detaljer i startpositionen, tidsskridtet og afrundingen kan få nogle sider til at komme op oftere end andre, og ingen kan bevise, at de ikke gør det. En kryptografisk generator er designet og testet til at være uforudsigelig og jævnt fordelt. Ved at holde de to adskilt får du det bedste fra begge verdener: et kast, der ser og lyder ægte, og et resultat, du kan stole på.
Præcise sandsynligheder
Oddsene, der vises for hvert kast, er beregnet, ikke gættet. Summer udregnes ved foldning, én terning ad gangen, og kast med behold eller fjern som fordel ved at tælle hvert forskelligt udfald. Sandsynlighedsberegneren til terninger forklarer metoden.
Bygget med
- three.js til 3D-grafikken (MIT-licens)
- cannon-es til fysikken (MIT-licens)
- Almindelig PHP på serveren, uden database, uden konti og uden sporing
Begge biblioteker leveres fra dette websted i stedet for fra et CDN hos en tredjepart, så siden aldrig henter kode andre steder fra.
En del af 123-familien
123DiceRoller står side om side med 123Calculator og vores andre gratis værktøjer uden login. Spørgsmål, idéer eller en fejl, du vil melde? Skriv til hello@123diceroller.com.
Senest opdateret