Home▸Gum Disease — Gingivitis & Periodontitis▸Scaling & Root Planing in 3D

🩸 Scaling & Root Planing in 3D

The same calculus-removal, root-roughness and gingival-reattachment math as the 2D deep-cleaning simulator — now a real 3D tooth root you can orbit around.

Gum Disease — Gingivitis & Periodontitis3DModerate60 FPS📱 Mobile-adapted⇄ 2D version
3d-scaling-root-planing-simulator ↗ Open standalone

This 3D companion runs the exact same clinical model as the 2D deep-cleaning simulator — the calculus-remaining, root-roughness, bacterial-load and gingival-reattachment percentages are computed from the identical stage/thoroughness/healing-time formulas — but instead of a flat canvas cross-section, the root is a real tapered 3D mesh you can orbit: hardened calculus deposits appear as dark nodules seeded around its full circumference, a translucent gum shell wraps the coronal pocket zone at a gap distance driven live by the reattachment percentage, and a particle cloud of bacteria drifts inside that pocket with a count and brightness tied to the same bacterial-load fraction the 2D version reports as a number.

Moving the scaling-thoroughness slider still fractures and removes calculus nodules and smooths the procedurally-roughened root surface exactly the way the 2D instrument did; advancing through the five stages still shows the scaler tip working the root during instrumentation and then the pocket physically closing as healing time increases post-op. Nothing about the underlying math changed — only the fact that you can now walk the camera around the root and see the same numbers as real 3D geometry instead of a flat illustration.

⚙ Under the hood

3D companion to the 2D scaling & root planing simulator: the same stage-based calculus/roughness/bacteria/reattachment formulas driving a real 3D tooth root with instanced calculus nodules, a translucent gum shell whose pocket gap shrinks with healing time, and a live bacteria particle cloud.

PeriodonticsCalculus removalThree.js

3D · WebGL / Three.js r128 · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)