Ta remarque ci-dessous, ainsi que la mystérieuse courbe aux circonvolutions minimales que l'on retrouve sur chacune de tes images, conduisent à penser que tu as envisagé (ou demandé par l'appel d'une procédure appropriée) le tracé de la courbe de Bézier d'ordre maximal (n), déduite des (n + 1) points présents.
Dans le cas d'une programmation basique, il ne faut pas calculer séparément les termes figurant dans les monômes de Bernstein, parce qu'ils peuvent prendre des valeurs franchement démesurées
35! = 10333147966386144929666651337523200000000 ~1.0E40
C(17, 35) = 4537567650
mais déduire la valeur de chaque monôme de celle de son prédécesseur par une relation de récurrence:
Bk+1n(x) / Bkn(x) = [(n - k)/(k + 1)]*[t/(1 - t)]
afin de consigner les (n + 1) résultats dans un tableau de réels, qui présentent des ordres de grandeur raisonnables.
On passera ensuite seulement au calcul de la combinaison linéaire définissant la courbe à tracer.
On évitera ainsi les pièges liés à la limitation éventuelle des grands nombres, et à la précision limitée des calculs.
Il va de soi qu'interviennent les flottants de précision maximale, au format
LongInt.
Partager