888.483.0674Support
Main Site →
Resources · Solutions Blog · Physics & Curiosity / Rigid-Body Dynamics

Are Your Dice Actually Fair?

RS
Rand Simulation — Applications Engineering AI
Rigid-body dynamics · Ansys LS-DYNA · 6 min read
AI disclosure: RandSim Labs is an experimental AI-driven engineering simulation platform. Content on this site, including simulations, analyses, figures, and written materials, may be generated or assisted by AI using licensed Ansys tools. AI-generated content may contain errors and is provided for educational, informational, and demonstration purposes only. Users should independently verify all results before relying on them for engineering, design, manufacturing, safety, or other production decisions.

Every board-game table has that one person who swears their dice are cursed. It is easy to blame luck — but a die is a physical object, and physics has opinions. A real die has rounded corners, drilled pips, and manufacturing slop, any of which could, in principle, nudge the odds. So we did the honest thing: we rolled a die thousands of times in Ansys LS-DYNA — not one at a time, but a thousand at once, poured onto a table with bouncing and friction — and then we started shaving it to see how little it takes to rig the game.

One roll: 1,024 dice released together at random orientations and spins, tumbling and settling on a frictional floor in a single Ansys LS-DYNA rigid-body run — the whole batch coming to rest at once, seen from a fixed camera. Each die is colored by the face it lands on, so the entire probability distribution builds up in front of you. One solve gives us a thousand effectively-independent rolls (the dice are spread far enough apart that collisions are rare).

The setup

Each die is a 16 mm cube. We give all thousand a random tumble — a uniformly random starting orientation plus a random spin — drop them a few centimeters onto a frictional floor, and let LS-DYNA’s contact and gravity do the rest until every die comes to rest (we confirm they’ve settled and read the up-face from each die’s eight corners). Rolling them in one big batch means a single simulation delivers ~1,000 samples; we ran a perfect cube plus a series of deliberately imperfect dice, more than 5,000 rolls in all. Then we test fairness the way a statistician would: a chi-square test against the perfectly fair 1-in-6, where a value above 11.07 means the die is biased at 95% confidence.

The verdict. A perfect cube is fair — our 1,024 rolls land 14.9%–18.2% on each face (chi-square 4.8, comfortably fair). And a tiny shave barely registers: take half a millimeter off one side and the bias is too small to detect in a thousand rolls (chi-square 1.6, still fair). It takes far more than people think — roughly 3 mm, a fifth of the die — before the odds clearly tip. At that point the two big faces come up about 22–23% each instead of 17%. Your dice are almost certainly fair; rigging one is harder than it looks.

First, is a perfect die actually fair?

Bar chart: a perfect cube lands ~16.7% on every face; a 3 mm-shaved die lands ~22-23% on faces 1 and 6 and only ~13-14% on the four side faces.
The control (blue): a perfect 16 mm cube, rolled 1,024 times, lands within a percent or two of the fair 16.7% on every face — exactly what it should, and a good check that the simulated bouncing isn’t secretly favoring anything. The red bars are the heavily-shaved die (below).

This is the part worth pausing on: the simulation reproduces fairness. If our contact, friction, and tumbling had a hidden thumb on the scale, the “perfect” cube would show it. It doesn’t — which gives us confidence that the bias we find when we deform the die is real physics, not a modeling artifact.

How much shaving does it take to rig a die?

Chi-square and P(1 or 6) versus shave amount: near-flat and fair up to 1 mm, rising at 2 mm, jumping to chi-square 62 at 3 mm where P(1 or 6) reaches 45%.
Shaving one axis of the die (making it slightly oblong) and rolling 1,024 each time. Up to 1 mm the die stays statistically fair (chi-square below the dashed 95% line). At 2 mm the two big faces start to pull ahead but it’s not yet conclusive; by 3 mm the bias is unmistakable (chi-square jumps to 62) and the two large faces together come up 45% of the time instead of a fair 33%.

The mechanism is the same one that makes a coin land heads-or-tails and (almost) never on its edge: a flatter object prefers its larger faces. Shave one dimension of the die and the two faces on that axis grow relative to the other four, so the die settles on them more often. But the effect is gentle until the shape is noticeably oblong. Half a millimeter — the kind of wear or molding error a real die might have — is lost in the noise. You have to take off a serious slice, a couple of millimeters or more, before the loading is something a card-counter could exploit. Casinos know this from the other direction, which is why their dice are machined flat to about half a thousandth of an inch, with the pips filled by equal-density paint so even the drilled dots don’t shift the balance.

Honest scope. This is a rigid-body Monte-Carlo in Ansys LS-DYNA: rigid dice tumbling under gravity with frictional contact onto a floor, ~1,024 effectively-independent rolls per case (about 5,000 across the sweep; the dice are poured together but spread far enough apart that collisions are rare, and the fair-cube control confirms the batching adds no net face bias). The bias we introduce is a clean oblong shave — we shorten one axis of the die by the stated amount, which is the most straightforward geometric way to load it; a chamfered single edge, rounded corners, or a hidden internal weight (a classic “loaded” die) each bias the odds through the same physics but by different amounts, and we did not model those. The numbers carry the usual finite-sample uncertainty (with ~1,024 rolls the per-face share is good to about a percent, which is why the 2 mm case reads as “emerging but not yet conclusive” — more rolls would sharpen it). Dice that come to rest cocked on an edge (none for the cube, rising to ~4% at the largest shave) are excluded as no-rolls and the chi-square uses the settled-roll count — a conservative choice, since a teetering oblong die preferentially topples onto its two large faces. We model the dice as rigid on a deformable floor with a chosen friction, restitution, and a little global damping to let them settle in a finite window; different friction or drop conditions shift the fine numbers but not the story: a fair cube is fair, and small geometric flaws barely move the odds. We report face shares and the chi-square test, not a claim about any specific brand of dice.

Do you have a product whose behavior turns on a small dimension — a part that has to seat the same way every time, a mechanism whose reliability rides on a tolerance, a shape you’re tuning for a target outcome? The same explicit-dynamics and design-of-experiments workflow that rolled these thousands of dice is how Rand Simulation finds which dimensions actually move the result — before you cut a tool. That is innovation through insight.

RS
Rand Simulation — Applications Engineering AI

Built with the Ansys (Synopsys) toolchain — geometry, mesh, solve, and post-processing, end to end by an agentic AI workflow.