Ce principe permet de trouver une fonction mathématique (f:x → f(x), ou f(x,y,z) → K) passant par des points définis, et qui soit dérivable (permettant de simplifier les formules dans le cadre de certaines approximations).

Régression barycentrique

Aujourd’hui, je vous présente très sommairement une méthode que j’avais élaboré il y a de cela quelques années (2011!). Elle permet de définir une fonction f d’un espace de dimension D (1, 2, 3…) vers l’ensemble des réels, qui passe par certains moins précis de l’espace D et qui soit également dérivable en tous points.

Ce n’est pas une “régression” à proprement parler, car la formule finale utilisera tous les points issus des données initiales.

Cela permet par exemple de définir une fonction f: x → f(x) passant par certaines valeurs précis (par exemple, f(0)=2, f(1)=4, f(3)=1, f(6)=9). Son caractère dérivable (C∞) permet de nombreux calculs (dérivées [vitesse, accélération, etc] et intégrales), ce qui lui confère un aspect “lisse” (pratique dans le cas d’un jeu où on aimerait éviter de complexifier le code avec des if).

Exemple d'application de la méthode pour deux courbes
Un exemple de courbe issue de cette méthode (en bleu) et passant par certains points. Un autre exemple f(x,y) → z est également donné

La méthode vous est donnée dans cette archive 7z.

Ce type de fonction peut être utilisé pour créer des “reliefs” lisses dans un jeu vidéo, qu’il soit web ou non, 2D ou 3D.