Fysiio Exercise library →

Anatomy of a rep

Every line here is computed from the movement model.

These are measurements of the model — not of a human. One bodyweight squat, rendered by the same 30-degree-of-freedom skeleton that draws the player, is instrumented below: a height curve, a joint path, and a timing bar, all drawn live from its real joint positions.

Open the instrumented player →

Pelvis height / cycle time

Root joint (pelvis) y-position, sampled every frame.

Bodyweight Squat · live engine output

A Bodyweight Squat cycling through stand → descend → hold → return, computed by the Fysiio engine.

72 solved frames per cycle · same joint data drives the charts around it.

Knee path · pen plotter

rThigh joint (the knee, anatomically) — x/y position, side view.

Keyframe timing

Segment widths are real frame counts from fig.data.keyframes, not estimated.

With JavaScript enabled, this space draws three live instruments — a pelvis-height curve, a knee-path plotter, and a keyframe timing bar — computed frame-by-frame from the same movement model that renders the Fysiio player.

Pelvis height, annotated

With JavaScript enabled, this chart draws the pelvis-height curve annotated with its held and eased segments.

The easing is animation craft. The limits are clinical.

The curve on the left is the same pelvis trace from the hero, drawn in full. Where it's flat, a pose is being held — the pin solver keeps the feet planted while nothing else moves. Where it curves, the engine is easing between poses on purpose: motion decelerates into a hold and accelerates back out, because linear motion reads as robotic and a real rep never looks that way.

None of that craft touches the clinical layer underneath it. Every pose is still built from 30 clinical degrees of freedom, each clamped to a normative range-of-motion limit — the easing changes how fast the model gets from A to B, never how far a joint is allowed to go.

  • Ease, not linear — every transition between keyframes overshoots and settles by design, the same way a hand-animated pose would.
  • Pins hold — a planted foot's joint angles are solved by inverse kinematics against the floor, never authored by hand.
  • ROM-clamped — the depth of this squat is a real joint-angle limit, not an arbitrary keyframe value.

Three exercises, tiered by role

Muscle names below are read straight from each exercise's pose data. Tiers are shown as bands only — no intensity numbers, because there are none to show honestly.

With JavaScript enabled, this space lists the muscles read from the Bodyweight Squat, Glute Bridge, and Plank Hold pose data, each tiered primary / secondary / stabilizer.

Primary Secondary Stabilizer

Clinically authored estimates — not measured EMG. A physiotherapist assigned each muscle's role when the exercise was written; nothing here comes from a sensor.

The 65-exercise field

Every exercise in the library, plotted by category and difficulty. Each dot is real — pulled from the same pose data as the instruments above. Click through to any of them.

Scroll sideways for all 13 categories →

Loading the 65-exercise index…

The full 65-exercise, 13-category field renders here with JavaScript enabled. Browse the library directly at fysiio.

Scrub it yourself.

The instrumented player has the same charts, driven by whichever exercise and cycle position you choose — not just this one squat.

Open the instrumented player →
Fysiio player showing a squat rendered in the Lines stick-figure style, the same joint data used by the charts on this page.