Ca fait un petit moment maintenant que je me pose une question toute bête : comment calculer la longueur d'une courbe représentative de fonction sur un intervalle I ?
J'ai regardé sur google (notre meilleur ami ), mais les articles ne m'ont pas convaincu. J'ai pensé à utiliser les intégrales, mais sans succès pour le moment.
Auriez vous une idée ?
Je pense qu'il faut regarder du côté de l’abscisse curviligne.
On a <math>\(ds=\sqrt{dx^2+dy^2}=\sqrt{1+(f'(x))^2}dx\)</math> (on suppose <math>\(dx>0\)</math>) ce qui donnerait une longueur <math>\(L=\int_{x_0}^{x_1}\sqrt{1+(f'(x))^2}dx\)</math>
Si ta courbe es seulement C0, il ne peut pas y avoir de méthodes générales (les courbes de peano par exemple sont continues, mais de "longueur" infinie - mais on est ici dans la catégorie des "monstres" fractals).
Si elle est au moins C1 (par morceaux), pour le calcul d'intégrale, t'as le choix ; si t'as pas besoin de précision, une méthode des rectangles, ou pas beaucoup plus dur à implémenter mais bigrement plus efficace, méthode de simpson (cf wikipédia). Après t'as pleins de méthodes plus ou moins exotiques/efficaces mais simpson devrait convenir je pense.
Edit : je ne connais pas les nurbs, mais apparement, il s'agit de sortes de splines c'est ça ? Et les splines, tu peux justement t'arranger pour que courbe soit C1, C2 voir Cn (c'est le but non ?) ; donc à priori, ça devrait marcher.
Oui, splines et Nurbs, ça se ressemble : la Nurbs est beaucoup plus souple. En effet, en regardant le vecteur nodal, je vois immédiatement si la courbe est C0, C1, etc...
Dans la majorité des cas, elle est C1 voir plus.
Actuellement, je fais une approxiamtion en polyline, donc pas top. Aussi la méthode des rectangles me semble calculatoire. Mais si je pouvais avoir un truc plus rapide, ce serait intéressant
Tu n'as pas le choix de faire autre chose qu'un truc calculatoire ! Tu peux avoir des méthodes plus efficace, mais ça restera calculatoire.
Longueur de courbes
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html