AudioSceneDescriptionFormat / splines

Python package for creating interpolating splines (for position and rotation)
https://splines.readthedocs.io/
MIT License
61 stars 11 forks source link

Describe Cardinal Splines? #15

Open mgeier opened 2 years ago

mgeier commented 2 years ago

Cardinal splines are Catmull-Rom splines with an additional tension parameter.

This is very similar to Kochanek-Bartels splines, which also have a tension parameter (plus continuity and bias).

So it might not be worth to create a separate notebook for this spline type.

Confusingly, old publications (like e.g. Schoenberg's papers and De Boor's book) use the term "cardinal" to describe "uniform" splines.

mgeier commented 1 year ago

Cardinal splines are described (without reference to Catmull-Rom splines) in:

Clark, James H. “Parametric Curves, Surfaces and Volumes in Computer Graphics and Computer-Aided Geometric Design.” Technical Report. Computer Systems Laboratory, Stanford University, November 1981. http://i.stanford.edu/pub/cstr/reports/csl/tr/81/221/CSL-TR-81-221.pdf.

According to this paper, the tangent vector is defined to be a constant multiple of the difference vector between the two adjacent points. The constant is called "a".

The basis matrix is then derived from this specification.

It looks like it can only be defined for the uniform case?

In the uniform case, a tension value of a = 0.5 produces a Catmull-Rom spline.