Aide concernant la page "spline_B_curve.html

L'objectif de cette page Web est de comparer les courbes générées par des B-splines avec celle générées par des Math-splines et de montrer comment passer d'une représentation à l'autre.

Il y a quelques dizaines d’années, j’ai appris ce que sont les fonctions splines de degrés 3 et j’ai écrit des programmes qui les utilisent pour faire passer une courbe par des points données dans un plan.
J’attends depuis longtemps que de telles courbes soient implémentées dans des logiciels tels qu’Inkscape et FreeCAD.
J’ai vu fin décembre 2022 sur Youtube l’excellente vidéo de Freya Holmér qui se nomme : "The continuity of Splines" de Freya Holmér.
C.f. : https://www.youtube.com/watch?v=jvPPXbo87ds

Malheureusement, la courbe que je nommerais "Math-spline", basées sur les fonctions splines et que j’ai implémenté dans cette page WEb et dans la page : https://www.juggling.ch/gisin/bgweb/aprod2000_perso/spline_math_curve.html n’est pas décrite par Freya Homér ni utilisée dans les logiciels que je connais.

Les B-splines et les Math-splines partagent plusieurs caractéristiques.
Elles diffèrent principalement sur deux caractéristiques.
Voici les caractéristiques communes :
° continu
° de tangente variant de manière continue le long de la courbe, elle est G1
° de rayon de courbure variant de manière continue le long de la courbe, elle est G2
° peut facilement être fermée
° est invariante par rotation, symétrie et homothétie.
° est facile à calculer, rapidement

Voici les différences.
+  Pour la B-spline, l’influence des points se fait uniquement sur les 4 segments voisins du point.
-   Pour la Math-spline, l’influence des points se fait pratiquement sur les 8 segments voisins du point.
Théoriquement, l'influence se fait sur tous les segments, mais elle diminue rapidement (d'un facteur 3.73) avec la distance.
-   La B-spline ne passe par aucun point de la courbe, ou dans certaines variantes uniquement par le premier et le dernier.
+  La Math-spline passe par tous les points de la courbe.
-   La B-spline nécessite des points de contrôles supplémentaires.
+  La Math-spline ne nécessite aucun point autre que ceux par lesquels passe la courbe.
+  Pour la Math-spline, il est facile d'avoir des points de brisures, donc où la tangente varie de façon discontinue
°  On peut passer d'un système de contrôle à l'autre par des calculs assez rapides.

Le seul point négatif d'une Math-spline est que l'influence des points sur les segments n'est théoriquement pas local, même si pratiquement elle ne se fait que sur les 8 segments voisins du point.

J'ai commencé par faire des tests sur ces Math-splines dans cette page Web.

Explications de quelques fonctionnalités de la page d'implémentation

Cette page ne sert à rien d'autre qu'à faire des tests.
Elle sert à comparer les courbes générées par des B-splines et celles générées par des Math-spline.

J'aimerai beaucoup que la génération de courbes par des Math-splines soient dans des logiciels tels qu'Inkscape et FreeCAD.
L'illustration de génération d'une courbe passant par des points donnés se fait en 2 dimensions, dans un canvas de 800x800.
Évidemment, on peut généraliser la manière de faire à des courbes passant par des points définie dans un espace à 3 dimensions et même dans un espace de dimensions quelconque.

Pour plus d'information, en particulier sur les mathématiques et l'algorithmique, c.f.
Version française .pdf et .odt
Version traduite automatiquement en anglais .pdf et .docx
avec Google Translate.

J'ai également fait :
° des tests uniquement sur les Math-splines, dans la page Web : spline_math_curve.html.
° des tests sur des fonctions splines, dans la page Web : spline_function.html.

Dans cette page Web, vidéos Youtube en français sur ce sujet.

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


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