Rotation-minimizing frames by double reflection
In your harnessMesh algorithmMIT
Compute twist-free frames along a sampled curve with the double reflection method, compare them with Frenet frames and close loops without a jump. Use it for sweeps, ribbons, rails and camera roll.

What it takes and gives
- Entry points
- double_reflection_frames, frenet_frames, frame_normals, closing_twist, twist_between, demo_curve, ribbon, build and 1 more
- Parameters
- curve, width, samples
- Complexity
- O(n) for n samples
- Axes
- +Y up, metres
Limits. Frames are only as good as the sampling: the method is fourth-order accurate between samples but cannot recover detail the samples miss. Tangents from central differences are used when none are given. A closed curve generally does not return to its starting frame; ribbon() spreads that angle evenly.
Details
- Kind
- Mesh algorithm
- Engine
- Python 3.10 or later
- Files
- 10 files, 225.2 KB
- Licence
- MIT
- Declared effects
- reads files, runs commands, writes files
- Checked with
- Godot 4.7.2, gl_compatibility, OpenGL 3 driver, Mesa llvmpipe under Xvfb
- Checks
- generator runs system python, generator runs verifier python, gltf strict structure, interpreters agree, example matches generator, godot headless gltf load, godot compatibility render
- Techniques
- Double reflection method (Wang, Juttler, Zheng and Liu 2008), Frenet-Serret frames, Holonomy correction for closed curves
- Tags
- rotation minimizing frame, double reflection, frenet, sweep, ribbon, parallel transport
- Identity
library.supply.creative_originals.9cecd739d88b59bcb69b3661.f9667821d3053b28- Version
f9667821d3053b284e321e9cd0a00db5de28e220947864ff8d61e0d004bc47cb
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.


