jianxinss/iching-64-motion

Media & Design

A three-minute code-generated film explaining the mathematical structure of the I Ching's 64 hexagrams.

118
27
TypeScript
NOASSERTION
1 day old

This is a roughly three-minute educational motion-graphics film about the structure of the I Ching's 64 hexagrams, not a divination tool. Every visual is generated from code (React + SVG + three.js, rendered with Remotion), and its soundtrack is synthesized by a Python script, so the project ships no external image, video or audio assets. The README also states it is a popular-science treatment of the hexagram symbol system and intellectual history, explicitly "not a basis for divination."

What the film reads, and how

One set of 64 hexagrams is re-read seven ways across seven chapters: generation (Taiji → two modes → four images → eight trigrams → 64, plus the 8 × 8 stacking), the circular and square Fu Xi arrangements, the cuo (all lines flipped) and zong (whole hexagram inverted) relations, mutual and changing hexagrams (with the 64 hexagrams as vertices of a six-dimensional cube), the King Wen sequence accompanied by the Xugua Zhuan, the twelve monthly xiaoxi hexagrams, and the Jing Fang eight-palace scheme. Yin is 0 and yang is 1, so each hexagram is a six-bit binary number.

How the result is produced

Each frame is a pure function of time, which is why the whole piece can be rendered from a single timeline. Hexagram, palace and sequence data are derived in code (src/g/data.ts) rather than transcribed by hand. Music is synthesized by gen_music.py against an exported event timetable, with different orchestration per chapter, so visuals and sound share one schedule project README. A finished cut is offered for download through the repository's Releases finished film.

The author frames the project around custom knowledge-visualization work and says similar data-animation videos can be commissioned for courses, books, brands and exhibitions author.

Running or reusing it

Running the project locally requires Node.js 18+. Previewing in the browser uses npm run studio and works without music; the separate npm run music step for soundtrack generation needs Python 3 with numpy and scipy. Rendering to MP4 is a further step. Setup commands are in the README, and Remotion is the documented video framework Remotion.

Licensing caveats

The code is MIT-licensed LICENSE, but the two kaiti/xingkai font files under public/ are character subsets of fonts bundled with macOS, remain with their original font makers, and are explicitly outside the MIT grant. They are intended only for reproducing this film, so anyone reusing or redistributing the project should replace or separately license those fonts rather than treat the whole repository as MIT.

Written by AI from the project's README, updated October 28, 2026. The project's own docs are the source of truth.