---
title: "Galaxy Rotation Curves and Disk–Halo Degeneracy Interactive Lab | Sandbox Physics"
description: "Does a flat rotation curve uniquely reveal a galaxy’s dark halo? Circular motion constrains radial gravity."
canonical_url: "https://sandboxphysics.com/labs/galaxy-rotation-curves/"
language: "en"
page_type: "lab"
alternate_languages:
  zh-CN: "https://sandboxphysics.com/zh/labs/galaxy-rotation-curves/"
last_modified: "2026-11-05"
---

Light, mass and circular motion

# Galaxy Rotation Curves and Disk–Halo Degeneracy

**Does a flat rotation curve uniquely reveal a galaxy’s dark halo?** Circular motion constrains radial gravity. A heavier stellar disk leaves less force for the halo, while distance and inclination shift the inferred mass budget. A flat curve alone does not uniquely determine the halo or identify a dark-matter particle.

Change a stellar disk’s mass-to-light ratio and a spherical halo. Compare their forces, circular speed and residuals against the same saved curve.

> Interactive simulation: open this page in a web browser to change the parameters and run the model.

Model assumptions

The default observations are our own synthetic record, not a measured galaxy. The synthetic record uses analytic thin exponential disk bases. Local SPARC imports instead use native finite-thickness gas and stellar force inputs. A static axisymmetric model adds these signed terms to a spherical NFW or pseudo-isothermal halo. Native stellar columns use unit mass-to-light ratio; gas already includes helium. Circular test tracers show the resulting speed field with explicit time compression, not a galaxy evolution or a recovered matter image. Halo contours and disk mass samples are schematic. The probe selects a saved radial sample; plot segments connect samples without reconstructing the native finite-thickness field. Distance changes follow a frozen-shape homology and inclination is a single global nuisance, not a new warp or photometric deprojection. The full working Gaussian likelihood uses a fixed reference-projected coordinate; its score is not a calibrated probability. Independent finite corners, joint cases and holdouts do not certify every continuous setting. There is no optimizer in this Lab. A separate local-only import accepts the two exact named SPARC files; no original observations are hosted or uploaded. Simple conditional fits of that real object remain poor. A visually plausible curve does not identify a particle or establish a theory winner.

## The same saved curve, force budget and residuals

Own synthetic observations. This is a conditional mass model, not a measured galaxy image.

Saved samples Total model Stellar disk Gas Spherical halo

Circular speed $(\mathrm{km}\,\mathrm{s}^{-1})$

Horizontal distance $R/\mathrm{kpc}$. Component lines show signed equivalent speeds; forces are added before the square root.

Residual in the fixed observation coordinate

$(\mu_j-y_j)/\sigma_{y,j}$; changes in distance or inclination affect all radii together.

Probe selects saved sample 30 of 48. $3.93\,\mathrm{kpc}$

Physical assumptions, likelihood and data export

The disk-plane view shows conditional mass samples and circular test tracers. Velocity arrows share the displayed scale within each accepted record; that scale can change between mass models. Halo density is a model choice; the shading is schematic, not luminosity. The default synthetic disk basis is analytic and thin; imported native SPARC forces instead retain their finite-thickness basis.

The probe snaps to a saved radius. Plot segments connect samples; no force is inferred outside the saved radius window. Distance uses fixed-shape homology and inclination is a single global correction.

The full working Gaussian log likelihood includes its normalizer in a fixed reference-projected coordinate. Original errors do not supply a full covariance or a calibrated Gaussian noise law. This Lab does not optimize parameters or select a particle/theory.

$\log L=$ $-105$

Own presets, compound corners and withheld cases have independent Python comparisons. They do not certify every continuous request. Unsupported parameters or local files retain the last complete record.

Physics tutorial

## The force behind a rotation curve

**Background** A circular tracer needs an inward acceleration. Several mass components can supply it.

**Why it matters** Move stellar mass and halo parameters while keeping the saved observations fixed.

Start with the essentials

- **Focus question**: Does a flat rotation curve uniquely reveal a galaxy’s dark halo?
- **One-sentence intuition**: Component forces add; their velocity-curve heights do not.

### Core mathematical model

#### Add radial force terms

$$
v_c^2=V_g|V_g|+\Upsilon_d V_d|V_d|+\frac{GM_h(<R)}R
$$

A negative native gas term points outward. Add signed contributions before taking the total square root.

#### Only the halo is spherical here

$$
M_h(<R)=4\pi\int_0^R\rho_h(r)r^2\,dr
$$

The integral counts spherical halo mass, not the stellar disk’s mass.

#### One global distance change

$$
R^\prime=dR,\qquad A_b^\prime=dA_b,\quad A_b=Rg_b
$$

Here $d$ is the distance ratio and $g_b$ the signed inward baryonic acceleration. Fixed-shape homology gives inferred mass proportional to distance squared.

#### A fixed error coordinate

$$
y_j=V_{0,j}\sin i_0,\quad \mu_j=v_{c,j}\sin i,\quad \log L=-\frac12\sum_j\left[\frac{(y_j-\mu_j)^2}{\sigma_{y,j}^2}+\log(2\pi\sigma_{y,j}^2)\right]
$$

The saved speed error is multiplied by the same reference sine. Inclination is measured from the disk normal to the line of sight. The full working likelihood retains its normalization; this App has no optimizer or calibrated posterior.

### Common difficulties

#### A disk is not a sphere

**Typical misconception** Multiplying the total speed squared by radius gives the true enclosed mass of any galaxy.

**Better mental model** That enclosed-mass relation applies to a spherical source. The disk also feels material outside the chosen radius; the displayed halo enclosed mass is spherical halo only.

#### A plausible curve is not a theory verdict

**Typical misconception** The smaller residual score proves a particular dark-matter particle.

**Better mental model** The score is conditional on the mass profile, geometry and a working error model. Original SPARC systematic/correlated errors and the poor simple fits remain relevant.

### Run the experiment

1. 01

   #### Select a circular orbit

   Drag the gold probe and pause the tracers. Compare its speed with the marked point in the curve.

   **What to observe:** The probe uses a saved radial sample; it never asks an interpolated disk to provide an unverified force.

2. 02

   #### Make the disk heavier

   Increase only the stellar mass-to-light ratio. Watch the disk force and total speed change.

   **What to observe:** Stellar speed scales with the square root of the mass-to-light ratio; component speeds are not summed linearly.

3. 03

   #### Change the centre of the halo

   Compare the extended-cusp and flat-centre presets, then move the halo scale.

   **What to observe:** The same saved observations can be compared with distinct conditional mass profiles. A different visual centre is a model choice, not a recovered image.

4. 04

   #### Move a whole uncertainty together

   Open distance and inclination, change one at a time and inspect the residuals.

   **What to observe:** Each change affects every radius coherently; it cannot be treated as independent noise at each point.

Physical conclusion

A rotation curve constrains a conditional force budget; its decomposition needs geometry and independent information.

## Related experiments and articles

Galaxy rotation curves and mass models · Reading path

### From circular motion to conditional mass models

Articles on this path that use this experiment, followed by the other experiments they suggest.

1. [Article **What a flat rotation curve measures**](https://sandboxphysics.com/stories/galaxy-rotation-curves/what-a-flat-curve-measures/)
2. [Article **Why a disk and a sphere pull differently**](https://sandboxphysics.com/stories/galaxy-rotation-curves/why-a-disk-is-not-a-sphere/)
3. [Article **Adding stellar, gas and halo gravity**](https://sandboxphysics.com/stories/galaxy-rotation-curves/adding-starlight-gas-and-a-halo/)
4. [Article **When distance and inclination move a whole curve**](https://sandboxphysics.com/stories/galaxy-rotation-curves/moving-a-whole-rotation-curve/)
5. [Article **Recompute a named SPARC galaxy from saved observations**](https://sandboxphysics.com/stories/galaxy-rotation-curves/recomputing-a-named-sparc-galaxy/)
6. [Article **Reading feedback, halo and MOND comparisons**](https://sandboxphysics.com/stories/galaxy-rotation-curves/reading-feedback-and-gravity-comparisons/)

Motion & dynamics · Starter path

## From a falling ball to an orbit

Start by measuring gravity and splitting motion into components. Then add contact forces and collisions, and follow the same laws all the way to an orbit.

[Start here → **Free Fall & Measuring Gravity** Capture a few drops and fit the camera positions to estimate gravitational acceleration. Then add air damping and watch the fit drift from the truth. Observe · 14 min](https://sandboxphysics.com/labs/free-fall/)

1. [1 Free Fall & Measuring Gravity](https://sandboxphysics.com/labs/free-fall/)
2. [2 Projectile Flight Designer](https://sandboxphysics.com/labs/projectile-flight/)
3. [3 Inclined Plane & Friction](https://sandboxphysics.com/labs/inclined-plane/)
4. [4 One-Dimensional Collision Bench](https://sandboxphysics.com/labs/collision-bench/)
5. [5 Mass–Spring Oscillator](https://sandboxphysics.com/labs/mass-spring/)
6. [6 How Orbits Take Shape](https://sandboxphysics.com/labs/orbit/)

[View the full path →](https://sandboxphysics.com/topics/mechanics/#starter-path)
