Relativity ★★☆ Moderate

↔ Lorentz Contraction

A moving object appears shorter along its direction of motion by the Lorentz factor γ. Drag β toward 1 to see the ruler compress. A transverse ruler remains unchanged.

Presets:
γ = 1.000 Rest length = 300 px Observed length = 300 px Contraction = 0.0%
L = L₀ / γ = L₀ √(1 − β²)  |  γ = 1/√(1−β²)

Lorentz–FitzGerald Contraction

Predicted independently by FitzGerald (1889) and Lorentz (1892) and explained by Einstein's Special Relativity (1905): any object moving at speed β = v/c is measured to be shorter in the direction of motion by the factor 1/γ. The rest length L₀ is what an observer at rest relative to the object measures. A moving observer measures the contracted length L = L₀/γ.

Only the dimension parallel to motion contracts. Transverse dimensions (height, depth) are unaffected — shown by the unchanged green bar. Near β = 0.99, γ ≈ 7, so the ruler is only ~14% of its rest length.

About this simulation

This simulation visualises Lorentz–FitzGerald length contraction from special relativity: a moving ruler is drawn shorter along its direction of motion by the exact factor 1/γ, where γ = 1/√(1−β²) and β = v/c. The rest length is fixed at L0 = 300 px, and the observed length Lobs = L0/γ is recalculated live as you drag the β slider from 0 to 0.999. A dashed outline marks the original rest-length position for comparison, while a second, green ruler oriented transverse to the motion stays completely unchanged, since length contraction only acts along the direction of travel. An orange arrow scales with β to depict the velocity, and the live formula panel shows the exact numeric values plugged into L = L0/γ.

🔬 What it shows

A purple ruler moving at speed β = v/c is redrawn at width Lobs = L0/γ px, next to a dashed ghost of its original 300 px rest length so you can see exactly how much shorter it has become. A green ruler below it represents a dimension perpendicular to the motion and is never resized, illustrating that only the parallel dimension contracts. Live readouts track γ, the observed length in pixels, and the contraction percentage (1 − 1/γ)×100.

🎮 How to use

Drag the β slider (0 to 0.999, step 0.001) to set the object's speed as a fraction of light speed c and watch the ruler compress in real time. Use ▶ Animate to automatically sweep β up to 0.999 and back down, ↺ Reset to return to β = 0, or click a preset button (β = 0.1, 0.5, 0.8, 0.9, 0.99) to jump straight to a value with its precomputed γ shown alongside.

💡 Did you know?

Length contraction was proposed independently by George FitzGerald in 1889 and Hendrik Lorentz in 1892 to explain the null result of the Michelson–Morley experiment, years before Einstein derived it from the postulates of special relativity in 1905. At β = 0.99, this simulation computes γ ≈ 7.09, meaning the ruler shrinks to only about 14% of its rest length, yet it never actually reaches zero length because β can approach but never equal 1.

Frequently asked questions

What formula does this simulation use for length contraction?

It uses the standard special-relativity relation L = L0/γ, equivalently L = L0·√(1−β²), where L0 is the 300-pixel rest length, β = v/c is the speed slider value, and γ = 1/√(1−β²) is the Lorentz factor. The simulation recomputes γ and the observed length Lobs every time β changes and displays both numerically in the formula panel.

Why does only one ruler shrink and not the other?

Length contraction only affects the dimension that is parallel to the direction of motion. The purple ruler in the simulation represents that parallel dimension and its drawn width equals L0/γ. The green ruler below it represents a transverse dimension (perpendicular to motion), which special relativity predicts is completely unaffected, so it is always drawn at its full 300-pixel rest length regardless of β.

What is the highest speed I can select, and why not exactly the speed of light?

The β slider ranges from 0 to 0.999, i.e. up to 99.9% of the speed of light. It stops short of β = 1 because the Lorentz factor γ = 1/√(1−β²) diverges to infinity as β approaches 1, which would make the object's length mathematically collapse to zero and the formula undefined — a limit that is never physically reached by any massive object.

What do the preset buttons show?

Each preset button jumps β directly to a common reference value — 0.1, 0.5, 0.8, 0.9 or 0.99 — and the button label also states the resulting γ (for example γ = 7.09 at β = 0.99), so you can quickly compare how dramatically the contraction grows as speed approaches c without manually dragging the slider.

What do the animate and reset controls do?

The ▶ Animate button starts an automatic sweep that increases β in small steps up to 0.999, then reverses direction back down to 0, continuously updating the ruler, γ, and formula panel; clicking it again (⏹ Stop) halts the sweep at the current value. The ↺ Reset button immediately stops any running animation and sets β back to 0, restoring the ruler to its full, uncontracted rest length.