HomeComputer ScienceRolling Shutter Distortion Lab

Rolling Shutter Distortion Lab

Interactive 3D rolling-shutter simulator: watch a CMOS sensor read a moving scene row by row and see the skewed photo it produces, with live readout-time, skew-shift and skew-angle formulas versus a global shutter.

Computer Science3DModerate60 FPS📱 Mobile-adapted⇄ 2D version
mobile-camera-image-processing ↗ Open standalone

Almost every phone camera sensor is a rolling-shutter CMOS chip: instead of exposing an entire frame in one instant, it resets and reads pixel rows sequentially from top to bottom, each row a few microseconds after the last. This simulator renders a 3D scene of vertical bars panning past the camera and reconstructs, row by row in real time, the photo that a rolling-shutter sensor would actually capture — comparing it live against what a global-shutter sensor (which exposes every row simultaneously) would produce instead. Adjust the per-row readout time, sensor row count and scene pan speed to see the skew shift Δx = v·T and skew angle θ = atan(Δx/H) change in real time, the exact mechanism behind the "leaning skyscraper" and "bent propeller blade" photos every phone photographer eventually runs into.

⚙ Under the hood

Watch a phone's CMOS sensor read a moving scene row by row and see the skewed photo it produces, comparing rolling shutter against global shutter with live readout-time, skew-shift and skew-angle formulas.

cameraimage-processingCMOS-sensorrolling-shuttermobilecomputer-vision

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

What did you find?

Add reproduction steps (optional)