โ† All examples

geometry 4d

Cl(4,0) rotors and bivector decomposition

A 4D geometric algebra: geometric and outer products, reversion, rotors exp(-B/2), the split of any bivector into two commuting simple parts, reflections, and the torus knot a double rotation traces, written as a glTF tube on the Clifford torus.

Recorded render of Cl(4,0) rotors and bivector decomposition

What this component contains

  • ATTRIBUTION.md
  • LICENSE
  • README.md
  • component.json
  • example.gltf
  • fourd.py
  • preview.png
  • rotor_bivector_algebra.py
  • test_package.py
  • verification/native.json

How it works

Entry points
blade, vector, bivector, product, wedge, grade, reverse, add and 18 more
Outputs
example.gltf
Coordinates
x, y, z, w = e1, e2, e3, e4; knot stereographically projected from (0, 0, 0, 1) to Godot/glTF +Y up

Recorded checks

godot 4.7.2.stable.official.ed1daf0bf

  • cli_rebuilds_example
  • gltf_structure_example
  • cli_example_runs
  • cli_example_gltf_structure
  • godot_loads_example
  • godot_loads_cli_knot_3_5
  • preview_render

Limits to consider

Multivectors are dense lists of 16 floats and products loop over all blade pairs, so the module suits exploration and tests, not bulk transforms. exp_multivector uses a truncated Taylor series after scaling and squaring (about 1e-12 for moderate bivectors). split_bivector refuses isoclinic bivectors, whose planes are not unique. The torus shell uses alpha blending, whose sorting depends on the viewer.