"Alors comment en arrives tu à déterminer que la longueur de la courbe dans un échantillon de valeurs est égal à intégrale de sqrt(1+f'(x)^2) dx ? Je l'ai peut être étudié mais ca remonte à loin (10 ans environ). "
Le polynôme tu le connais non ?
Là c'est juste pour se donner une idée du nombre de tiges.
"Je vais peut être dire une connerie mais c'est pas plutôt
0=(x2-x1)²+(a*x2^3+b*x2^2+c*x2+d-y2)²-L²
"
Non, y1 tu le connais déjà, c'est y2 qui vaut a*x2^3+b*x2^2+c*x2+d puisque f(x2)=y2.
" Alors là, j'ai décroché. Qu'entends tu par algorithme ? Je suis un poil paumé là.
"
Ben tu dois déterminer une racine d'un polynôme assez lourd.
Cette racine, tu sais qu'elle est comprise entre x1 et x1+L d'après le fait que ta tige est contrainte à être de longueur L et qu'en plus tu veux la contraindre à "avancer".
L'algorithme pourrait se présenter ainsi :
On souhaite donc trouver x2 tel que 0=(x2-x1)²+(a*x2^3+b*x2^2+c*x2+d-y1)²-L²
On pose g(x2)=(x2-x1)²+(a*x2^3+b*x2^2+c*x2+d-y1)²-L²
La dichotomie consiste à trouver l'intervalle où la fonction change de signe et à l'affiner afin d'estimer un zéro de cette fonction, qui ici nous intéresse. La fonction est polynomiale donc continue donc pas de problème.
On évalue g(x1) et g(x1+L/2)
Si g(x1) et g(x1+L/2) sont de même signes, alors le zéro (x2) est après.
On sait maintenant que x2 appartient à l'intervalle x1+L/2<x2<x1+L
On évalue g(x1+3L/4), si ils sont de même signes, alors la racine est après et x2 appartient à x1+3L/4<x2<x1+L, sinon x2 appartient à x1+L/2<x2<x1+3L/4.
Et etc...
Ainsi, au bout d'un certain nombre d'itération, on peut obtenir un intervalle de longueur très petite où se situe notre racine. Et donc on pourra dire que cette racine est à peu près égale au milieu des bornes.
Vu la nature de ton problème, je pense que tu n'as pas à te soucier de savoir si tu as plusieurs zéros dans cet intervalle.