Annus Mirabilis · Interactive critical edition in preparation

Rod measurement and simultaneity

Measure a moving rod two ways and compare the answers.

An executable laboratory

Rod measurement, simultaneity, and causal order laboratory

Static worked example

The rod's length in the two frames

The rod is at rest in frame k, the moving frame, and frame K, the platform, measures it, at v = 0.60c. A length is the distance between the two ends read at one time of the measuring frame: coordinate geometry, not what a camera sees.

The two readings are Δx = 10.00 ls and cΔt = 0.00 ls apart in frame K. They are two marks on the platform, not the rod's ends, and simultaneous in frame K, so 10.00 ls is the distance between them there, not the rod's length. The rod itself, its ends read at one time of frame K, is 8.00 ls long there.

Frame K, the platform: 8.00 ls, L₀/γ

Frame k, moving at 0.60c: 10.00 ls, the proper length L₀

Spacetime event diagram of the two end readings

Light lines run at 45°. The moving frame's axes x′ and ct′ tilt toward them by arctan(v/c). Here γ = 1.25 and L₀ = 10.0 ls.

xctx′ct′E₁E₂

Axes in light-seconds. E₁ is at the origin in both frames. E₂ is at (x, ct) = (10.0, 0.0) in frame K and (x′, ct′) = (12.5, -7.5) in frame k.

A moving sphere measured as an ellipsoid (§4)

A sphere of radius R at rest in k, measured from K at one instant of K, has axes R/γ, R and R, that is R√(1 − v²/c²), R and R.

At v = 0.60c the measured axes are 0.80 ls along the motion (the horizontal line), and 1.00 ls and 1.00 ls across it. The dashed circle is the sphere at rest.

Predict before the numbers

At v = 0.6c, two events that mark the ends of a moving 10-ls rod are measured simultaneously in platform frame K (dt = 0, dx = 8 ls). What is their time separation dt' in the rod's rest frame k?

Three relations the model could have

Predict before the numbers

If two events have a timelike separation (s² < 0, so a signal slower than light could connect them), what happens to their time order when viewed from a frame moving at 0.95c?

Three relations the model could have

The result appears when you choose, say you have one in mind, or skip.

Try
Experiment settings speed, frames, rod length, sphere radius, event pair
Frames, speed and sizes
0.60 c
10.0 ls
1.0 ls

Worked example: the two readings are 10 ls and cΔt = 0 ls apart in frame K. They are two marks on the platform, not the rod's ends, and simultaneous in frame K, so 10.00 ls is the distance between them there, not the rod's length. The rod itself, its ends read at one time of frame K, is 8.00 ls long there.

Two flashes that happen at the same moment for one observer happen at different moments for an observer moving past. So a moving rod, whose two ends have to be marked at the same moment to measure it, comes out shorter than the same rod measured at rest.

Section 1 defines when two distant clocks agree: light sent from A to B and reflected back must take as long going as returning. Section 2 applies that test to clocks on the ends of a rod moving at speed v, set to agree with the clocks of the resting system K. Seen from K, the light gains on the receding end B at c − v and meets the approaching end A at c + v, so tB − tA = rAB/(c − v) and t′A − tB = rAB/(c + v). The two times differ, so observers riding with the rod find the clocks out of step, while observers in K call them synchronous. Section 4 turns this into geometry: a sphere of radius R at rest in the moving system k, located at one time of K, is an ellipsoid with axes R√(1 − v2/c2), R and R. The instrument measures in light-seconds with c = 1. At v = 0.6c the factor √(1 − v2/c2) is 0.8, a rod 10 light-seconds long at rest in k measures 8 light-seconds in K, and two events 10 light-seconds apart at one time of K are 7.5 s apart in k.

Modern qualifications

Einstein wrote V for the speed of light, β for the factor now called γ, and ξ and τ for the coordinates of k that this instrument writes x′ and t′; he named the resting system K and the moving one k. The paper cites no one for the shortening. FitzGerald in 1889 and Lorentz in 1892 had proposed that bodies moving through the ether contract along their motion, a physical effect that would account for Michelson and Morley's null result. In Section 4 the same factor follows from the definition of simultaneity and the two principles, and it works both ways, as Einstein says: bodies at rest in K, viewed from k, are shortened in the same ratio. The spacetime diagram in this instrument and the invariant Δx2 − c2Δt2 are Minkowski's, from his lecture of 1908, and appear nowhere in the paper. The ellipsoid is what rulers and synchronized clocks record at one time of K; a camera receives light that left different parts of the body at different times, and Terrell and Penrose showed in 1959 that a fast sphere photographs with a circular outline.

Spacetime event coordinates and invariant interval

FrameΔt (s)Δx (ls)Simultaneitys² = Δx² − c²Δt² (ls²)Causal order
K (Platform)010Simultaneous100Spacelike
k (Moving)−7.512.5Second event earlier100Spacelike

Could one of these events have caused the other? No. Not even light can get from one event to the other in the time between them, so nothing done at one can affect the other, and observers moving differently can disagree about which came first.

Values at these settings

QuantityValue
Distance between the two readings in K, Δx (platform marks, not the rod)10 ls
Time between the events in K, Δt0 s
Distance between the two readings in k, Δx′ (platform marks, not the rod)12.5 ls
Time between the events in k, Δt′−7.5 s
Their time order in Ksimultaneous
Their time order in ksecond event earlier
Distance between the two readings at one time of frame K (platform marks, not the rod)10 ls
The rod's length in K, its ends read at one time of K8 ls
The rod's length in k, its ends read at one time of k10 ls
Are the two readings the rod's ends?no, they are not the rod's ends
Interval, s² = Δx² − c²Δt²100 ls²
Kind of separationspacelike
Lorentz factor, γ1.25
Sphere measured along the motion0.8 ls
Sphere measured across the motion (y)1 ls
Sphere measured across the motion (z)1 ls

What this model leaves out

It applies exact special-relativistic coordinate transformations, coordinate length measurements and invariant intervals between inertial frames. It does not model:

  • Optical camera image appearance (Terrell-Penrose rotation and light-travel-time distortion), which differs from coordinate measurement at a single instant.
  • Accelerating reference frames, Rindler horizons, or Thomas precession.
  • Internal stress, elasticity, Born rigidity breakdown, or relativistic wave propagation during rod acceleration.
  • Gravitational time dilation or spacetime curvature (general relativity).
  • Quantum uncertainty or field fluctuations at Planck-scale event intervals.
  • Superluminal observers (|v| ≥ c) or tachyonic coordinate frames.
Show the code

The site’s own reference code for this law, in TypeScript. It computes the numbers above when the page runs it, and it is what the page uses wherever a FrankenSim result is not available.

measureRodLength · src/physics/reference/events.ts · this site’s source, as built · sha256:e97beaf8ac0d914a0a5e24484d65e0fa3833db6173332226b603634480313930

This function computes the listed outputs when it runs.

In words

A length is the distance between two endpoint events taken AT THE SAME TIME in the frame doing the measuring, so the function checks the time gap before it measures anything. Simultaneous endpoints give the distance between them: a rod of unit proper length, measured from the frame it moves through at six tenths of the light speed, gives 0.8. Endpoints that are not simultaneous give a not-applicable result whose reason says why.

Implementation

export function measureRodLength(
  e1InMeasuringFrame: Event,
  e2InMeasuringFrame: Event,
  measuringFrame: "K" | "k",
  rodRestFrame: "K" | "k",
  v: number,
  L0: number,
  c = C,
): RodMeasurementResult {
  const dt = Math.abs(e2InMeasuringFrame.t - e1InMeasuringFrame.t);
  if (dt > 1e-12) {
    const repair = selectSimultaneousEndpoints(
      rodRestFrame,
      measuringFrame,
      v,
      L0,
      e1InMeasuringFrame.t,
      c,
    );
    return {
      status: "not-applicable",
      isSimultaneous: false,
      condition: "non-simultaneous-endpoints",
      reason:
        "These endpoint events are not simultaneous in the measuring frame, so their separation is not a length measurement.",
      repairSuggestedPair: repair.status === "value" ? repair.value : undefined,
    };
  }

  const measuredLength = Math.abs(e2InMeasuringFrame.x - e1InMeasuringFrame.x);
  return {
    status: "value",
    isSimultaneous: true,
    measuredLength,
  };
}

The site’s own reference code for this law, in TypeScript. It computes the numbers above when the page runs it, and it is what the page uses wherever a FrankenSim result is not available.

causalOrder · src/physics/reference/events.ts · this site’s source, as built · sha256:b756870e17e329d30ef7d9ecf32adc1f17b5b263675e5c7a050475c430aebfb0

This function computes the listed outputs when it runs.

In words

It computes the interval s squared, the spatial separation less the light-travel separation, and classifies. Times are in seconds and distances in light-seconds here, so c is 1 and the arithmetic is readable: one light-second apart at the same time gives s squared of 1 and spacelike; one second apart and one light-second apart gives 0 and lightlike; two seconds and one light-second gives minus 3 and timelike. Each classification comes back with a sentence a reader can use, and the spacelike one says in words that the time order can be reversed by choosing a frame.

Implementation

export function causalOrder(e1: Event, e2: Event, c = C): KinematicResult<CausalOrderResult> {
  if (!finite(e1.t, e1.x, e2.t, e2.x) || !Number.isFinite(c) || c <= 0) {
    return outsideDomain("nonfinite-input", "Event coordinates and light speed must be finite.");
  }
  const dt = e2.t - e1.t;
  const dx = e2.x - e1.x;
  const dy = (e2.y ?? 0) - (e1.y ?? 0);
  const dz = (e2.z ?? 0) - (e1.z ?? 0);

  const spatialDist2 = dx * dx + dy * dy + dz * dz;
  const timeDist2 = c * c * dt * dt;
  const s2 = spatialDist2 - timeDist2;

  let classification: CausalClassification;
  let description: string;

  if (Math.abs(s2) <= 1e-12) {
    classification = "lightlike";
    description = "Events can be connected only by a light signal propagating at speed c.";
  } else if (s2 > 0) {
    classification = "spacelike";
    description =
      "No signal travelling at or below the speed of light reaches between these events; their time order can be reversed by choosing an appropriate moving reference frame.";
  } else {
    classification = "timelike";
    description =
      "A signal could travel from the first of these events to the second; their time order is invariant under all subluminal Lorentz boosts.";
  }

  return ok({
    s2,
    classification,
    description,
  });
}

The site’s own reference code for this law, in TypeScript. It computes the numbers above when the page runs it, and it is what the page uses wherever a FrankenSim result is not available.

ellipsoidAxes · src/physics/reference/kinematics.ts · this site’s source, as built · sha256:af73d6f0e3a79dda8161fd4c40c41990f83d555f870f8cfaaf52746c4bb9fe45

This function computes the listed outputs when it runs.

In words

The three axes of a sphere as the frame it moves through measures it: the one along the motion is shortened by the square root of one minus beta squared, and the two across it are unchanged. At six tenths of the light speed a unit sphere measures 0.8 by 1 by 1. The paper's § 4 calls that an ellipsoid of revolution, and this function is the whole of that sentence.

Implementation

export function ellipsoidAxes(
  R: number,
  beta: number,
): KinematicResult<Readonly<{ longitudinal: number; transverseY: number; transverseZ: number }>> {
  const g = gamma(beta);
  if (g.status !== "value") return g;
  if (!finite(R) || R < 0)
    return outsideDomain("invalid-length", "Radius must be finite and nonnegative.");
  return ok({
    longitudinal: R * Math.sqrt(1 - beta * beta),
    transverseY: R,
    transverseZ: R,
  });
}

The explanation

Full explanation

Lay a rule alongside the rod while riding with it, or mark where its ends are at one time of the resting system. The two operations give different lengths, and the lab shows which clocks decide what counts as one time.

Show every step of the investigation

Set the rod's speed and read the length each operation finds. Then follow the light signals that riders use to test the clocks at the rod's ends, and see why clocks in step for the resting system are out of step for them.

An explanatory model, not an observation of nature. This embed starts from the laboratory’s worked defaults, not a saved run. Presentation options change the surrounding guide, never the numerical inputs.