Interpolation courbe paramétrique
Bonjour,
Je traite une liste de points 2D qui sont les coordonnées dans le temps d'un objet. J'aimerai trouver une solution pour estimer le prochain point de la trajectoire.
Je me suis penché sur ce cours http://www.cs.clemson.edu/~dhouse/co...es/splines.pdf et j'arrive à partir de 4 points et de résolution matriciel à trouvé les paramètres de ma courbe.
Comme ma trajectoire n'est pas toujours horizontal j'aimerai passer vers un définition paramétrique mais malgré les explications du document je ne comprend pas comment passé d'un domaine à l'autre.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
for (int i=0;i<3;i++)
{
d = calculdistance( point_courant, point_suivant );
mat[i*3+0] = 1 ;
mat[i*3+1] = d ;
mat[i*3+2] = d*d ;
matx[i] = point_courant.x ;
maty[i] = point_courant.y ;
}
res = mat.inv();
resx = res * matx ;
resy = res * maty ;
for (int t=-10;t<10;t++)
{
int x = resx[0] + resx[1]*t + resx[2]*t*t ;
int y = resy[0] + resy[1]*t + resy[2]*t*t ;
DessinePoint( x, y );
} |
Merci d'avance pour toute information.
Extrapolation avec spline
Bonjour Souviron34
L'extrapolation du point suivant est donc en générale très correcte..
Voilà, j'utilise le spline pour extrapoler un certain nombre de points mais quand vous dites "l'extrapolation avec le point suivant ", comment je pourrais savoir jusqu'à quel point c'est correct.
Par exemple Je prends une matrice Y= [10;11;12;13;14;15], est ce que le point 16 sera correct ou le point 20? Comment je pourrais définir les points corrects avec mon extrapolation par spline?
Merci d'avance