4D rotations as pairs of unit quaternions
In your harness4D geometry toolMIT
Compose a 4D rotation from a left and a right unit quaternion, decompose any rotation matrix back into its pair, read its plane angles and kind (left or right isoclinic, simple, double), interpolate along geodesics with double slerp, and write left and right isoclinic loops of the 16-cell as glTF.

What it takes and gives
- Entry points
- compose, quaternion_from_rotation3, decompose, half_angle, pair_angles, classify, slerp, interpolate and 6 more
- Outputs
- example.gltf
- Coordinates
- x, y, z, w with p = w + xi + yj + zk; frames projected in perspective to Godot/glTF +Y up
Limits. The animation stores keyframes as morph targets, so vertices move along chords between them (0.6 percent of the radius at most for the example). Tubes are unlit three-sided prisms morphed without normal targets. Decomposition returns one of the two lifts (scalar part of l non-negative).
Details
- Kind
- 4D geometry tool
- Engine
- Python 3.10 or later
- Files
- 10 files, 310.0 KB
- Licence
- MIT
- Declared effects
- reads files, runs commands, writes files
- Checked with
- Godot 4.7.2, gl_compatibility (opengl3, Mesa llvmpipe under Xvfb)
- Checks
- cli rebuilds example, gltf structure example, cli example runs, cli example gltf structure, godot loads example, godot loads cli isoclinic fast, preview render
- Techniques
- SO(4) double cover by S3 x S3, left and right isoclinic rotations, quaternion from a rotation matrix (Shepperd's method), spherical linear interpolation (slerp), Cayley's factorization of 4D rotations
- Tags
- 4d, rotation, quaternion, isoclinic, double cover, slerp, so4, morph targets
- Identity
library.supply.creative_originals.2651e41bd73da193a5992d2f.92d4083155b21a60- Version
92d4083155b21a608d5e151e233c2e4d7bd89a456edafcc1f8ebcb8d8d315c38
The version is the SHA-256 of the item your harness downloads; every file in it names its own checksum.
Something wrong with this item, its rights or its safety? Report it on the support page, or from your harness after a download.


