Docs

Build a teaching series

Create lens, lamp and swing comparisons by changing one physical fact at a time.

Start with a question, keep the controls fixed, and change one physical fact. Open each model in Studio to edit its source. Save each state as a .phys file or share link; export SVG for slides and PNG for worksheets.

1. Where does the candle image form?

Keep the focal length at 10 cm and the candle height at 4 cm. Change only the final distance in candle -> L 30cm. There is deliberately no animate: each export is a still comparison, not a moving target.

Candle image at 30 cm Geometric optics diagram L L F F F′ F′ candle candle image candle′ image candle′ dₒ = 30 cm dₒ = 30 cm 1/f = 1/dₒ + 1/dᵢ 1/f = 1/dₒ + 1/dᵢ dᵢ = 15 cm; m = -0.5 dᵢ = 15 cm; m = -0.5
Diagram description

Static physics diagram: Candle image at 30 cm.

Object distanceImage distanceMagnificationImage
30 cm15 cm-0.5Inverted, smaller
20 cm20 cm-1Inverted, same size
15 cm30 cm-2Inverted, larger

The minus sign means inversion. These predictions use the thin-lens approximation with the object beyond the focal point. Keep the lens’s 10cm focal length unchanged: changing it would test a different question. At the focal point there is no finite image distance.

2. Why are identical lamps dimmer in series?

Both lamps are rated 6 V / 3 W. Keep their declarations and the source unchanged. Replace only V <-> A <-> B <-> V with V <-> (A <=> B) <-> V to compare parallel wiring.

Two lamps in series Static circuit diagram + + − − V V 6V 6V I = 250 mA I = 250 mA A 6V / 3W A 6V / 3W 3 V 3 V I = 250 mA I = 250 mA P = 0.75 W P = 0.75 W B 6V / 3W B 6V / 3W 3 V 3 V I = 250 mA I = 250 mA P = 0.75 W P = 0.75 W ideal wires · lamps use rated hot resistance ideal wires · lamps use rated hot resistance
Diagram description

Static physics diagram: Two lamps in series.

ConnectionVoltage per lampCurrent per lampPower per lampSource current
Series3 V0.25 A0.75 W0.25 A
Parallel6 V0.5 A3 W1 A

The lamp model uses fixed hot resistance R = U²/P = 12 ohm. Glow communicates relative solved power; it is not a calibrated light meter or a filament warm-up simulation. The shape and labels still identify a lamp in a grayscale print. Moving current dots are unnecessary for this comparison.

lamp A, B 6V 3W declares two distinct lamps with the same ratings. Change the shared declaration to change both, or split it into separate lamp A and lamp B lines to test unequal lamps. The source voltage remains an independent fact; equal ratings do not connect components automatically.

3. How does swing length change the period?

Use the same support and release angle. The three pendulums are independent, not linked pendulums that exchange energy. Lengths in the ratio 1:4:9 give periods in the ratio 1:2:3 in the small-angle approximation.

Three swing periods Static pendulum diagram L = 0.25m A L = 1m B L = 2.25m C
time 0s Playback speed is adjusted; time readouts still show physical time.
Diagram description

Animated physics diagram: Three swing periods; showing time.

With the default g = 9.80665 m/s², the small-angle periods are approximately 1.00 s, 2.01 s and 3.01 s. This model uses the small-angle approximation and is not a large-angle pendulum simulation. Change only pendulum B 1m to pendulum B 0.25m: A and B should now stay in step, while C is unchanged.

Adding a fourth pendulum requires only its declaration and support connection. animate duration=3s speed=0.5 observes all pendulums for three experiment seconds at half speed. $release_angle explicitly keeps all initial angles equal for this comparison; changing its definition changes all three. Replace one reference with 5deg to give only that swing a different initial angle. Neither a shared support nor a shared parameter couples their motion. To inspect one pendulum through its complete cycle instead, replace the animation line with animate A speed=0.5.

A repeatable authoring check

  1. Open the baseline in Studio and change the one indicated value or connection.
  2. Compare the result with the table or period prediction before exporting.
  3. Download the .phys source with a distinct filename for each state. SVG and PNG preserve the chosen appearance, not a separate physical model.
  4. Open the share link in a fresh tab and confirm the edited source and result. Sharing needs no external template or library file.

Use the existing Classic, Modern or Sketch theme to change presentation. Subject skins draw familiar objects; component skins retain circuit symbols and terminals. Neither changes the equations. Browser printing uses a white diagram background even from dark mode; check the exported result at its intended size.

Use grouped declarations for identical components, and let with explicit $name references when one numeric control is reused across declarations. Values with different physical meanings stay independent, even when their numbers happen to match. These tasks need neither loops nor macros. See DSL basics for parameter scope and validation.