Instructor notes: Binary Orbits: Two-Body Dance
Overview
Navigation
- Instructor hub: /demos/_instructor/
- Student demo: /play/binary-orbits/
- This demo: Model · Activities · Assessment · Backlog
This guide is instructor-facing Student demo:
/play/binary-orbits/
UI markup:apps/demos/src/demos/binary-orbits/index.html
Demo logic:apps/demos/src/demos/binary-orbits/main.ts
Physics helper:packages/physics/src/twoBodyAnalytic.ts
Where to go next
- Model + math + assumptions:
apps/site/src/content/instructor/binary-orbits/model.md- In-class activities:
apps/site/src/content/instructor/binary-orbits/activities.md- Assessment bank:
apps/site/src/content/instructor/binary-orbits/assessment.md- Future enhancements:
apps/site/src/content/instructor/binary-orbits/backlog.md
Why this demo exists
Why This Matters Binary orbits reveal that both bodies move. Students are often surprised to learn that the Sun wobbles due to Jupiter, and that this wobble is how we detect exoplanets. This demo makes the barycenter concept concrete and connects gravitational physics to observational astronomy.
Learning goals
ASTR 101
Students should be able to:
- Recognize that both bodies orbit the barycenter, not one around the other
- Explain why heavier bodies have smaller orbits (inverse mass ratio)
- Connect stellar wobble to exoplanet detection via the radial velocity method
- Identify the barycenter position for different mass ratios
ASTR 201
Students should also be able to:
- Derive individual orbit sizes from the center-of-mass condition: $a_1/a_2 = M_2/M_1$
- Apply the generalized Kepler’s 3rd law: $P^2 = a^3/(M_1 + M_2)$
- Calculate orbital velocities using the vis-viva equation for each body
- Explain why both bodies share the same orbital period
10-15 minute live-teach script (projector)
-
Start at equal masses. Set $m_2/m_1 = 1$. Ask: “Where is the barycenter?” It should sit halfway between the bodies, and the two orbits should be the same size.
-
Make the system unequal. Set $m_2/m_1 = 5$. Ask: “What changes, and what stays the same?” Emphasize that both bodies still move, but the barycenter shifts toward the heavier body and the heavier body’s orbit shrinks.
-
Connect to the inverse relationship. Ask students to predict whether $a_1/a_2$ increases or decreases when $m_2/m_1$ increases. Connect to: $$\frac{a_1}{a_2}=\frac{M_2}{M_1}.$$
-
Period scaling. Change separation $a$ (AU) and observe the period readout. Emphasize that in AU/yr/$M_\odot$ teaching units: $$P^2=\frac{a^3}{M_1+M_2}.$$
-
Exoplanet connection (conceptual). Ask: “If a star wobbles, how could we detect it?” Tie barycentric motion to the radial-velocity idea, even though this simplified instrument does not model Doppler spectra directly.
Suggested connections to other demos
- Kepler’s Laws: Binary orbits is the two-body extension; start with Kepler’s Laws for single-body foundations.
- Doppler/Redshift: Connect the radial velocity method to spectral line shifts.
- Stellar Properties: Binary stars are how we measure stellar masses directly.
When to use this demo
| Context | Recommended Usage |
|---|---|
| ASTR 101 Lecture | After covering gravity and orbits; emphasize exoplanet detection angle |
| ASTR 201 Lecture | After covering two-body problem; use for quantitative predictions |
| Lab | Station activity with mass ratio exploration |
| Exam review | Clicker questions on barycenter position and period scaling |
Activities
Navigation
- Instructor hub: /demos/_instructor/
- Back to this demo guide: Guide
- Student demo: /play/binary-orbits/
- This demo: Model · Activities · Assessment · Backlog
Links Student demo:
/play/binary-orbits/Main guide:apps/site/src/content/instructor/binary-orbits/index.mdModel deep dive:apps/site/src/content/instructor/binary-orbits/model.md
MW Quick Exploration (3–5 min, pairs)
TPS: Does the heavier body move? Think (30 s): “If one body is much more massive, does the heavy one still move?”
Pair (60 s): Predict what happens to the barycenter as $m_2/m_1$ increases.
Share (1–2 min): Use the demo:
- Set $m_2/m_1 = 1$ and note the barycenter offset from $m_1$.
- Set $m_2/m_1 = 5$ and compare.
Debrief: Both bodies move. The barycenter shifts toward the heavier body, and the heavier body’s orbit shrinks.
MW Short Investigation (8–12 min, pairs/triads)
Investigation: mass ratio vs orbit size
Setup: Fix separation at $a = 4$ AU.
Task A (barycenter):
- Record a snapshot for $m_2/m_1 = 1$.
- Record a snapshot for $m_2/m_1 = 5$.
- Write a sentence explaining the trend using the idea “center of mass.”
Task B (period scaling):
- Fix $m_2/m_1 = 1$.
- Compare $a = 2$ AU vs $a = 8$ AU.
- Use the readout to test the idea that period grows quickly with separation.
Key relationship (for discussion): $$P^2=\frac{a^3}{M_1+M_2}\qquad(\mathrm{AU}/\mathrm{yr}/M_\odot\ \text{teaching units})$$
Station version (rotation lab)
Use the printable station card:
/stations/binary-orbits/
Quick Demonstration (projector)
Demo: inverse relationship Set $m_2/m_1=1$ then $m_2/m_1=5$ (same $a$). Script: “The heavier body’s orbit is smaller, but it still moves.”
Assessment
Navigation
- Instructor hub: /demos/_instructor/
- Back to this demo guide: Guide
- Student demo: /play/binary-orbits/
- This demo: Model · Activities · Assessment · Backlog
How to use this bank Each item includes a demo setup so you can reproduce the scenario live, plus distractors tied to common misconceptions.
Clicker questions
Clicker 1: Who orbits whom? Prompt: In a star-planet system, which statement is most accurate?
A. The planet orbits the star, which stays stationary B. Both the star and planet orbit their common center of mass C. The star orbits the planet D. Neither body moves; they are gravitationally locked in place
Correct: B.
Reasoning: Newton’s 3rd law requires both bodies to feel equal and opposite forces. Both orbit the barycenter.
Common misconception: Option A (the “stationary star” misconception). Students often think the more massive body doesn’t move.
Demo setup (current instrument): Set a small mass ratio (try $m_2/m_1 = 0.2$) so the barycenter sits close to $m_1$, then point out that $m_1$ still moves.
Clicker 2: Mass ratio and orbit size Prompt: In a binary star system, star A has twice the mass of star B ($M_A = 2 M_B$). How do their orbital radii compare?
A. $a_A = 2 a_B$ (heavier star has larger orbit) B. $a_A = a_B$ (same orbit size) C. $a_A = \frac{1}{2} a_B$ (heavier star has smaller orbit) D. Cannot determine without knowing the separation
Correct: C.
Reasoning: The barycenter divides the separation in inverse ratio to the masses. $a_A/a_B = M_B/M_A = 1/2$.
Common misconception: Option A (heavier = larger orbit). Students may confuse orbit size with gravitational influence.
Demo setup (current instrument): Set $m_2/m_1 = 0.5$ (so $m_1$ is heavier) and compare orbit sizes about the barycenter.
Clicker 3: Barycenter position Prompt: For the Sun-Jupiter system, the barycenter is located…
A. At the center of the Sun B. Between the Sun’s center and surface C. Just outside the Sun’s surface D. Halfway between the Sun and Jupiter
Correct: C.
Reasoning: Jupiter’s mass is about $10^{-3} M_\odot$, so the barycenter is about $10^{-3}$ of the way from the Sun to Jupiter. At 5.2 AU separation, that’s about 0.005 AU = 750,000 km, just outside the Sun’s radius (696,000 km).
Demo note: The Sun–Jupiter barycenter example is a real-world application. The current slider range is a simplified teaching sandbox; use the mass-ratio control to show how the barycenter shifts as the ratio changes.
Clicker 4: Orbital period relationship Prompt: In a binary system, how do the two bodies’ orbital periods compare?
A. The heavier body has a shorter period B. The lighter body has a shorter period C. Both bodies have the same period D. The period depends only on the separation, not the masses
Correct: C.
Reasoning: Both bodies complete one orbit in the same time. They are always on opposite sides of the barycenter.
Common misconception: Options A or B (different periods for different masses). Students may confuse orbital speed with orbital period.
Demo setup: Set $m_2/m_1 = 1$ and show both bodies completing orbits together.
Short answer
Short answer 1: Exoplanet detection Prompt (3-5 sentences): Explain how astronomers can detect an exoplanet even if they cannot see it directly. Your answer should reference the motion of the host star.
Answer key (core idea): The gravitational pull of an orbiting planet causes the host star to wobble around the system’s barycenter. This wobble produces a periodic Doppler shift in the star’s spectral lines as the star moves toward and away from us. By measuring this radial velocity variation, astronomers can infer the presence of an unseen planet and estimate its minimum mass and orbital period.
Short answer 2: Mass determination in binary stars Prompt: Astronomers observe a binary star system and measure both stars’ orbital radii: $a_A = 2$ AU and $a_B = 3$ AU. What is the mass ratio $M_A/M_B$?
Expected: From $a_A/a_B = M_B/M_A$, we get $M_A/M_B = a_B/a_A = 3/2 = 1.5$. Star A is 1.5 times more massive than star B.
Short answer 3: Period scaling (ASTR 201) Prompt: A binary system has $M_1 = 2 M_\odot$, $M_2 = 1 M_\odot$, and separation $a = 1$ AU. Calculate the orbital period using $P^2 = a^3/(M_1 + M_2)$.
Expected: $P^2 = 1^3/(2 + 1) = 1/3$, so $P = \sqrt{1/3} = 0.577$ years $\approx$ 211 days.
Demo verification (current instrument): Use $m_1=1,M_\odot$ and set $m_2/m_1$ to match the desired $M_2$ value (within the slider range), then compare to the period readout.
Exit ticket (1 minute)
Exit ticket: Why does the Sun wobble? Prompt: In one sentence, explain why the Sun wobbles slightly due to Jupiter.
Expected: Jupiter’s gravitational pull causes the Sun to orbit the Sun-Jupiter barycenter, which lies just outside the Sun’s surface.
Exit ticket: Inverse relationship Prompt: Complete this sentence: “In a binary system, the more massive body has the ______ orbit because…”
Expected: “…smaller orbit because the barycenter is closer to the heavier body” or “…the masses are in inverse ratio to the orbit sizes.”
Misconception diagnosis questions
Diagnosis: Where is the barycenter? Prompt: A student says, “The barycenter is always at the center of the larger body.” How would you use the demo to address this misconception?
Suggested approach: Show $m_2/m_1 = 1$ where the barycenter sits between the two bodies, then show a small mass ratio (e.g. $m_2/m_1 = 0.2$) where the barycenter shifts close to $m_1$.
Diagnosis: Different periods? Prompt: A student predicts that in a binary system, the lighter star will have a shorter period because it moves faster. Use the demo and physics reasoning to address this.
Suggested approach: Show $m_2/m_1 = 1$ and point out that both bodies complete orbits together. Explain that both bodies must stay on opposite sides of the barycenter, so they must share the same period.
Model notes (deeper)
Navigation
- Instructor hub: /demos/_instructor/
- Back to this demo guide: Guide
- Student demo: /play/binary-orbits/
- This demo: Model · Activities · Assessment · Backlog
Links Student demo:
/play/binary-orbits/Demo source:apps/demos/src/demos/binary-orbits/
Physics helper:packages/physics/src/twoBodyAnalytic.ts
What the demo is modeling (big picture)
This instrument is a circular, coplanar two-body teaching model. It exists to make barycentric motion concrete:
- Both bodies move: neither mass stays perfectly fixed.
- The barycenter shifts with mass ratio: the more massive body has the smaller orbit about the barycenter.
- The period scales with separation and total mass: in AU/yr/$M_\odot$ teaching units, $P^2 = a^3/(M_1+M_2)$.
What the student controls (current instrument)
- Mass ratio $m_2/m_1$ (dimensionless)
- Separation $a$ (AU)
In this demo, we hold $m_1 = 1,M_\odot$ fixed and set $m_2$ via the mass ratio slider.
What the demo reads out
- Barycenter offset from $m_1$ (AU)
- Orbital period $P$ (yr)
Core relationships (units explicit)
Barycenter geometry
For masses $M_1$ and $M_2$ separated by $a$:
$$a_1 = a \cdot \frac{M_2}{M_1+M_2}, \qquad a_2 = a \cdot \frac{M_1}{M_1+M_2}$$
Sanity checks:
- If $M_1=M_2$, then $a_1=a_2=a/2$.
- If $M_2 \ll M_1$, then $a_1 \approx 0$ and $a_2 \approx a$.
Period scaling (teaching normalization)
Using $G = 4\pi^2,\mathrm{AU}^3/(\mathrm{yr}^2,M_\odot)$:
$$P^2 = \frac{a^3}{M_1 + M_2}$$
What’s simplified / not modeled (by design)
- Circular orbits only (no eccentricity control).
- Coplanar geometry only (no inclination/precession).
- Not an N-body integrator; this is a conceptual instrument.
Backlog
Navigation
- Instructor hub: /demos/_instructor/
- Back to this demo guide: Guide
- Student demo: /play/binary-orbits/
- This demo: Model · Activities · Assessment · Backlog
How to use this backlog This is a planning guide. Prefer changes that increase correctness and reduce cognitive friction before adding new features.
Completed Items
| Priority | Impact | Effort | Category | Notes | Code entrypoint |
|---|---|---|---|---|---|
| P0 | High | Medium | Physics | DONE (2026-01-28): Extract physics model to shared, testable module with UMD pattern. | demos/_assets/binary-orbits-model.js + tests/binary-orbits-physics.test.js |
| P0 | High | Low | Physics | DONE (2026-01-28): Document invariants in model file header. | demos/_assets/binary-orbits-model.js |
| P0 | High | Low | Bug | DONE (2026-01-28): Fix missing model script tag in index.html. | demos/binary-orbits/index.html |
| P1 | High | Medium | Docs | DONE (2026-01-28): Expand README with pedagogical notes and future features. | demos/binary-orbits/README.md |
| P1 | High | High | Docs | DONE (2026-01-28): Create instructor resources (index, model, activities, assessment, backlog). | demos/_instructor/binary-orbits/ |
| P1 | Medium | Low | UX | DONE (2026-01-28): Add preset for 51 Pegasi b + barycenter distance readout with inside/outside star indicator. | demos/binary-orbits/ |
Active Backlog
| Priority | Impact | Effort | Category | Notes | Code entrypoint |
|---|---|---|---|---|---|
| P1 | High | Medium | Physics | Add Doppler RV curve overlay showing radial velocity vs time for each body. Critical for exoplanet detection pedagogy. | demos/binary-orbits/binary-orbits.js |
| P1 | High | Medium | Physics | Add light curve overlay for edge-on systems (transit/eclipse dips). | demos/binary-orbits/binary-orbits.js |
| P2 | Medium | Medium | Physics | Add 3D inclination control to show projection effects (why RV gives minimum mass). | demos/binary-orbits/binary-orbits.js |
| P2 | Medium | Medium | Pedagogy | Add prediction checkpoint mode with guided questions before revealing answers. | demos/binary-orbits/binary-orbits.js |
| P2 | Low | Low | Accessibility | Add on-screen keyboard shortcuts help panel. | demos/binary-orbits/index.html |
| P2 | Low | Medium | Physics | Add tidal distortion visualization for close binaries (Roche geometry). | demos/binary-orbits/binary-orbits.js |
| P3 | Low | Medium | Physics | Add mass transfer animation for semi-detached binaries. | demos/binary-orbits/binary-orbits.js |
| P3 | Low | Medium | Physics | Add GR precession for close, eccentric orbits (post-Newtonian correction). | demos/_assets/binary-orbits-model.js |
Priority Definitions
- P0: Correctness or critical functionality (must fix before use)
- P1: High-impact pedagogy or usability (should add soon)
- P2: Nice-to-have enhancements (add when time permits)
- P3: Future extensions (research-level or specialized topics)
Feature Notes
Doppler RV Curve (P1)
The radial velocity curve is the primary observable for spectroscopic binaries and exoplanet detection. Implementation notes:
- Plot $v_r = v \sin i \cos(\theta + \omega)$ where $i$ is inclination and $\omega$ is argument of perihelion
- For edge-on systems ($i = 90^\circ$), this simplifies to $v_r = v \cos\theta$
- Show both curves (for binaries) or just the star curve (for exoplanets)
- Sync with orbital animation so students see the connection
Light Curve (P1)
For edge-on systems, show brightness dips during transits/eclipses. Implementation notes:
- Primary eclipse: smaller body in front of larger (deeper dip if smaller body is hotter)
- Secondary eclipse: larger body in front of smaller
- For star+planet: transit of planet causes small dip; secondary eclipse (planet behind star) may be undetectable
- Requires inclination control (or assume edge-on)
3D Inclination (P2)
Critical for understanding why RV gives minimum mass ($M \sin i$). Implementation notes:
- Add inclination slider ($0^\circ$ = face-on, $90^\circ$ = edge-on)
- Show that face-on systems have no RV signal
- Explain that we measure $v \sin i$, hence $M_p \sin i$