whaternion·a learning journey

3D math intuition for sensor-driven skeletons

Interactive lessons on bases, handedness, quaternions and transforms — built around the bugs that actually break sensor-to-skeleton pipelines. Every lesson is one self-contained page. Open it and drag things.

We build pipelines that turn sensor data into animated skeletons, and when a pose comes out twisted, mirrored, or drifting we debug it by permuting signs until it looks right. That means wrong fixes survive. This course replaces sign-permutation with reasoning you can check against a specification. See MISSION.md for what we are aiming at.

How to use this

Work through the lessons in order — each is short, self-contained, and ends with a check. Everything runs offline: no install, no build, no network. Clone the repo and open a lesson file in a browser.

The reference sheets are the part you keep. They compress each lesson into something worth pinning above a desk, and they print cleanly.

Lessons

Lesson 001 · ~12 min Handedness is chirality, not which way is up — Unity and glTF agree that +Y is up and +Z is forward, and a skeleton copied between them still comes out mirrored. Why that is inevitable, and which single sign flip fixes it.

Reference sheets

Reference 001 Conventions & conversions — Unity ⇄ glTF in one table, both conversion rules, the two tests worth memorising, and a symptom-to-cause guide. Prints to one sheet, front and back.

Where this is going

Planned, in roughly this order. The four failure classes the team named — twisted limbs, mirrored motion, multiply-order confusion, and drift — are each covered, and the two sensor spines (IMU orientation, optical position) are developed in parallel before meeting at calibration.

NextSkill it buys you
002 · The rotation that follows the flip See a reflection reverse the sense of a rotation, so the quaternion rule stops being a memorised sign pattern. Closes out the mirrored-motion bug.
003 · Local, world, and which side to multiply on Read T * R * S and parent * local and know what each product means — the highest-frequency confusion of the four.
004 · Reading a quaternion by eye Recover axis and angle from four numbers; know why q and −q are the same rotation and when that bites.
005 · Building a basis from three points The optical/vision spine: turn joint positions into a frame, and orthonormalize it without introducing a twist.
006 · Sensor-to-segment calibration See the calibration offset as a fixed change of basis rather than a magic quaternion. This is the twisted-limb bug.
007 · Drift, normalization, and reference frames Why poses degrade, why gravity is a reference frame, and what a T-pose calibration actually pins down.
Order is not fixed — it follows whatever the team most needs next. Ask for a topic and it can jump the queue.

What is in this repo

lessons/One self-contained HTML page per lesson. Start here.
reference/Printable cheat sheets — the compressed, durable part.
assets/Shared components: the stylesheet, a dependency-free 3D renderer, the convention definitions, controls, and the quiz widget.
MISSION.mdWhy we are learning this. Every lesson traces back to it.
GLOSSARY.mdThe canonical vocabulary. Lessons adhere to it.
RESOURCES.mdTrusted sources, annotated — plus explicit gaps.
learning-records/What the team has established, and what that changes about what to teach next.
NOTES.mdTeaching preferences and working notes.