All animations · In the chapter · Open full MP4
Animation 9
Non-commuting operations of $SO_3$
symmetry-so3-rotation-order.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.
1200 × 700 · 24 fps · 8 s · 192 frames · 12 samples
MP4 SHA-256 ded432ba59e3b6c415ee80644f09c2e15b7b94d57762df86a6d54f12e90bfdf0
Frame manifest · Context markdown · Download complete review packet
Chapter context
Section: Commutators. Excerpts are verbatim; line numbers refer to the included chapter markdown.
Caption
Non-commuting operations of $SO_3$
Image description
Noncommuting 90-degree rotations in three dimensions
Before the animation
Chapter lines 366–366
In the case of a single continuous symmetry transformation, the generator combined with a parameter, like angle in the case of rotation, specifies an arbitrary transformation. However, when there are multiple independent transformations that can be composed to form a multi-dimensional group, the order of the composition may also need to be taken into account because it can produce different resultant states. For example, in the 3-dimensional rotation group, called $SO(3)$, rotating about the $x$-axis then the $y$-axis leaves a sphere in a different state than applying the same actions in the opposite order.
After the animation
Chapter lines 374–374
This order-dependence is expressed by the commutator:
Chapter lines 376–380
Generation source
Run the main script without arguments. It uses symmetry_d3_rendering for shared geometry and drawing helpers, then encodes the ordered-rotation frames with FFmpeg. The imported module is a code dependency, not an input movie.
Mapping evidence and limits
render() sets the output stem to symmetry-so3-rotation-order; constants specify 1200 x 700, 24 fps, 192 frames. No matching validation JSON is present. Attribution is by source/output name and pipeline, not a recorded movie hash.
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.
- scripts/generate_symmetry_so3_rotation_order_animation.py · GitHub at 974f9de35254
SHA-256 0f0602e6786fef7c245fe99e5fe007f2b6dec6176b9960d1c68c0689d3c66a45 - scripts/symmetry_d3_rendering.py · GitHub at 974f9de35254
SHA-256 4be9f7169cfe3654b9a1457de70a65e29dd20cc4863c7445a5ca6155f4453d6c
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.

Full-size sampled frames











