FreeCAD / FreeCAD/FreeCAD

[Feature] [Sketcher] Adding centripetal Catmull-Rom spline (interpolation with no loop/self-intersection)

Open
#5,794 3 comments 0 reactions 1 assignee Claimed by @abdullahtahiriyo View on GitHub
Mod: Sketcher Type: Feature
Dominant language
C++
Stars
33.6k
Forks
6k
Avg merge
3d 17h
Merged PRs (30d)
196

Description

Issue imported from https://tracker.freecad.org/view.php?id=3500

* **Reporter:** dbecad
* **Date submitted:** 6/4/2018
* **FreeCAD version:** 0.18
* **Category:** Feature
* **Status:** assigned
* **Tags:** b-splines

# Original report text

Good day,
Some time you want to interpolate a curve through some measured key points (that should be controlled/constrained as normal sketcher points) an in this case the control over the order of curvature / knot weight is less important.

These splines are similar to the b-spline tool in draft WB, even if it might be more accurate to call them [centripetal / Catmull-Rom splines](https://en.wikipedia.org/wiki/Centripetal_Catmull%E2%80%93Rom_spline)

They do have a lot of really interesting properties for modeling:
- they are nicely behaved, stay local and never diverge/loop even when control points are close together,
- you can also set the tangent at the beginning/end to connect with the rest of sketches elements
- possible to generate close loop with them.

But the most important feature is you control the curve with way points, not knots like B-Splines/NURBS that have no relation with the end result curve.

Thanks for your hard work!

[Reference Forum Thread](https://forum.freecadweb.org/viewtopic.php?f=10&t=28896&p=237305#p237305)

# Additional information

NA

# Steps to reproduce

NA

# Other bug information

* **Priority:** normal
* **Severity:** feature
* **Category:** Feature
* **Platform:** All
* **Updated:** 2/6/2021

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.