Help regarding the "spline_B_curve.html" page

Translated by Google Traduction, from the french version : Help - Info, in french.

The objective of this web page is to compare the curves generated by B-splines with those generated by Math-splines and to show how to switch from one representation to another.

A few decades ago I learned about degree 3 spline functions and wrote programs that use them to pass a curve through given points in a plane.
I've been waiting for such curves to be implemented in software like Inkscape and FreeCAD for a long time.
I saw at the end of december 2022 on Youtube the excellent video of Freya Holmér called: "The continuity of Splines"

Unfortunately, the curve that I would call "Math-spline", based on spline functions and that I implemented in the web page: is not described by Freya Homér nor used in the software that I know of.

B-splines and Math-splines share several characteristics.
They differ mainly on two characteristics.
Here are the common characteristics:
° continuous
° of tangents varying continuously along the curve
° of radii of curvature varying continuously along the curve, it is G2
° is easy to calculate, quickly
° can easily be closed
° is invariant under rotation, symmetry and dilation.

Here are the differences.
+ For the B-spline, the influence of the points is only on the 4 neighboring segments of the point.
- For the Math-spline, the influence of the points is practically on the 8 neighboring segments of the point.
Theoretically, the influence is on all segments, but it decreases rapidly (by a factor of 3.73) with distance.
- The B-spline does not pass through any point on the curve, or in some variants only through the first and the last.
+ The Math-spline passes through all the points of the curve.
- The B-spline requires additional control points.
+ The Math-spline does not require any points other than those through which the curve passes.
+ For the Math-spline, it is easy to have breakpoints, so where the tangent varies discontinuously
° You can switch from one control system to another by fairly quick calculations.

The only negative point of a Math-spline is that the influence of the points on the segments is theoretically not local, even if practically it is only done on the 8 neighboring segments of the point.

I started by doing some tests on these Math-splines in : this webpage.

Explanations of some features of the implementation page

This page is for nothing but testing.
It is used to compare the curves generated by B-splines and those generated by Math-splines.

I would very much like to see the generation of curves by Math-splines in software such as Inkscape and FreeCAD.
The illustration of generation of a curve passing through given points is done in 2 dimensions, in an 800x800 canvas.
Obviously, we can generalize the way to curves passing through points defined in a 3-dimensional space and even in a space of any dimensions.

For more information, in particular on mathematics and algorithms, see French version .pdf and .odt
Version automatically translated into English .pdf and .docx
with Google Translate.

In this Web page, Youtube videos in french on this subject.

Plan du Site : Home   arrow   bgweb.html   arrow   aprod2000_perso.html   arrow   spline_B_curve.html   arrow   spline_B_curve_help_en.html

Page mise à jour le 21 janvier 2023 par Bernard Gisin     ( Envoyer un e-mail )
Hébergement par :