Animation 1

Symmetry transforms don't change how pool balls behave

symmetry-pool-table.mp4

These are sparse samples decoded from the current MP4, not newly rendered illustrations. They can support checks of the sampled states and labels, but cannot establish continuous motion, timing, transitions, or the absence of problems between samples. Use the full MP4 when judging those properties.

1600 × 960 · 30 fps · 14 s · 420 frames · 12 samples

MP4 SHA-256 60ac9f04ccefa11525471e6dc5bcced6497776b8f51b767f1c00ffbddfbbb4a6

Frame manifest · Context markdown · Download complete review packet

Chapter context

Section: Symmetry. Excerpts are verbatim; line numbers refer to the included chapter markdown.

Caption

Symmetry transforms don't change how pool balls behave

Image description

The same pool-ball collision under position and time translations, rotation, and a velocity boost

Before the animation

Chapter lines 2–2

Strike a pool ball with a cue, and the balls move in an expected way. Move the table over a few feet, and the balls move in recognizably the same way. Wait a few minutes, and the balls move in the same way. Turn the pool table a few degrees, and the balls still move the same way. Put the pool table on a train at constant velocity, and, again, the balls move in the same way. These are the manifest "symmetries" of the world we live in -- position and time translation, rotation, and velocity "boosts."

After the animation

Chapter lines 10–10

Our pool game illustrates what we mean by symmetries of physical behavior, but why should we start our story here? We will argue that symmetry constrains both the laws that govern physical evolution and the classification of the objects that undergo that evolution. The term "symmetry" in this context may not at first glance seem like the same concept as, say, a triangle's symmetry, but it precisely is, as we will see.

Chapter lines 12–12

We will start with the familiar world of these discrete symmetries and build up the definitions we need from there. Then we will turn to “continuous symmetries,” specifically rotations and translations, where we will encounter a new branch of math, Lie algebra, that joins symmetry ideas with calculus. We will discover that waves arise naturally when we represent translational symmetry, and this will lead us to a discussion of Fourier analysis. Finally, we will situate these ideas in the context of quantum mechanics.

Generation source

Main script --render draws the equal-mass elastic-disk trials and encodes frames directly with FFmpeg. --check and --encoded-check produce the companion numerical and decoded-video reports. It has no local Python imports or input movie.

Mapping evidence and limits

The script's NAME and output match the linked movie. Matching validation and encoded-validation JSON record 1600 x 960, 30 fps, 420 frames, 14 s. The reports contain no movie hash, so this is source/output-name attribution rather than a hash-attested build.

Source SHA-256 values identify the exact downloadable bytes in this packet. The source mapping and recorded checks explain the likely generation pipeline; they do not prove that these exact source bytes produced the movie. A GitHub link pinned to a commit is provided only when the delivered source bytes exactly match that path at the build's Git HEAD.

Existing generator checks (2 reports)

These are existing author-produced generator reports, copied without changes. Their checks were not rerun for this packet and are not independent certification. A report may describe an earlier generation run; inspect its contents before applying its claims to the current movie.

Decoded contact sheet

Extraction method: Twelve evenly spaced decoded frame indices, including first and last. Native-resolution JPEGs from the encoded MP4; timestamps read from FFmpeg showinfo. No source rerendering. Frame indices are zero-based. Sparse samples do not establish continuous motion or capture every transition.. Frame indices are zero-based.

Timestamped decoded frames from symmetry-pool-table.mp4
Open contact sheet at full size

Full-size sampled frames

Decoded frame from symmetry-pool-table.mp4 at 00:00.000 · frame 0
00:00.000 · frame 0 · Full-size frame
Decoded frame from symmetry-pool-table.mp4 at 00:01.267 · frame 38
00:01.267 · frame 38 · Full-size frame
Decoded frame from symmetry-pool-table.mp4 at 00:02.533 · frame 76
00:02.533 · frame 76 · Full-size frame
Decoded frame from symmetry-pool-table.mp4 at 00:03.800 · frame 114
00:03.800 · frame 114 · Full-size frame
Decoded frame from symmetry-pool-table.mp4 at 00:05.067 · frame 152
00:05.067 · frame 152 · Full-size frame
Decoded frame from symmetry-pool-table.mp4 at 00:06.333 · frame 190
00:06.333 · frame 190 · Full-size frame
Decoded frame from symmetry-pool-table.mp4 at 00:07.633 · frame 229
00:07.633 · frame 229 · Full-size frame
Decoded frame from symmetry-pool-table.mp4 at 00:08.900 · frame 267
00:08.900 · frame 267 · Full-size frame
Decoded frame from symmetry-pool-table.mp4 at 00:10.167 · frame 305
00:10.167 · frame 305 · Full-size frame
Decoded frame from symmetry-pool-table.mp4 at 00:11.433 · frame 343
00:11.433 · frame 343 · Full-size frame
Decoded frame from symmetry-pool-table.mp4 at 00:12.700 · frame 381
00:12.700 · frame 381 · Full-size frame
Decoded frame from symmetry-pool-table.mp4 at 00:13.967 · frame 419
00:13.967 · frame 419 · Full-size frame