4D cube — rotation playground & match-the-target game
generic 2-frame projection — all 4 axes mixed
TARGET — match this
0√2 ≈ 1.41 (axis-aligned vertices)2 (max)
color = depth (distance from the 2D viewing plane, in 4-space)
your coordinate-plane projections — each picks out 2 of the 4 axes directly
to switch: unselect current first (click tile or Esc); can select pair of non-overlapping axes at a time
target coordinate-plane projections (compare to yours)
state
axis-pair selector (K4)
Click an edge (here) or a coord-plane tile → select that rotation plane Shift-click or hold -+click → negative coefficient (dashed)
Click a selected edge with Shift or - → flip its sign Tab / Shift+Tab → cycle planes linearly
Two disjoint edges = Clifford. Hold ←/→ to rotate. Esc clears. Hold 1–4 for momentary override (held nodes glow yellow). Hold - while overriding → use negative coefficient.
user rotation matrix R
match game
level—
progress on level0/3
total wins0
distance—
par—
your degrees0°
efficiency—
time—
best time—
target matrix
Match when distance < 0.10. Par = min degrees needed; efficiency = par ÷ your.
Best time to complete the level (min time for the required matches) is saved locally.
command
Help (Controls, Math & Feedback)
Controls
• Click K₄ edges or tiles → select rotation plane (persistent)
• Shift-click or hold - + click → negative sign (dashed)
• Tab / Shift+Tab → cycle planes
• Hold 1–4 → momentary override (yellow highlight on nodes)
• If keys aren't working: Check for browser extensions that intercept keyboard input (e.g. Vimium, Vimium C, or other vim/emacs mode extensions). Try disabling them for this site. Mouse and arrow keys should still work.
• Hold - while overriding → negative for that plane
• ← / → keys or the big on-screen square hold buttons (left of/ under view) → rotate while held (mobile-friendly); release to stop
• Esc → clear selection
• Command box: e.g. 12 right, 1234 left, stop, reset
• H or ? → toggle this help
Mathematics (LaTeX)
The 4D rotation group SO(4) is generated by 6 planes: pairs from {1,2,3,4} (user labels 1-4, internal 0-3).
A rotation in plane \((i,j)\) by angle \(\theta\) is the block matrix
This takes you directly to the new issue form for this repo.
Ask LM about the repo
Provide your API key (stored only in this browser). The LM will receive the README + key code excerpts in context. Note: Direct browser API calls can fail due to CORS — the special header is included for Anthropic. Use https server, not file://.