โ† All examples

mesh algorithms

Rotation-minimizing frames by double reflection

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.

Recorded render of Rotation-minimizing frames by double reflection

What this component contains

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

How it works

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

Recorded checks

godot 4.7.2.stable.official.ed1daf0bf

  • generator_runs_system_python
  • generator_runs_verifier_python
  • gltf_strict_structure
  • interpreters_agree
  • example_matches_generator
  • godot_headless_gltf_load
  • godot_compatibility_render

Limits to consider

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.