Baltor Get started

Gallery / 4D geometry

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.

Render of 4D rotations as pairs of unit quaternions
The render its check recorded in Godot 4.7.2, 256 by 256 pixels.

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.