โ† All examples

geometry 4d

Duocylinder measures and diagonal slices

Compute the duocylinder's hypervolume, boundary 3-volume and ridge torus area, confirm them by integrating axis and diagonal slices, and write the diagonal slice sweep (stretched Steinmetz bicylinders) as an exact four-strip glTF morph animation.

Recorded render of Duocylinder measures and diagonal slices

What this component contains

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

How it works

Entry points
contains, hypervolume, boundary_volume, ridge_area, axis_slice_volume, cavalieri_axis, diagonal_slice_volume, cavalieri_diagonal and 6 more
Outputs
example.gltf
Coordinates
slice x + z = k in its hyperplane basis: ((2x - k)/sqrt 2, y, w), 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_duocylinder_coarse
  • preview_render

Limits to consider

The slice sweep and the diagonal formulas are for the unit duocylinder (both radii 1); the measure functions take any radii. Slice volumes come from Simpson's rule after a cosine substitution (near 1e-8 relative for the Cavalieri total). Keyframes are morph targets, so between them vertices move along chords.