Merci pour vos réponses.
En fait je ne connais pas en détail la paramétrisation mais étant donné que je fais du code j'ai compris instinctivement comment ça fonctionne.
Dans mon cas il s'agit de déplacer un élément le long d'une courbe.
J'ai donc appliqué cette formule en considérant t par rapport a la longueur de la courbe que je multiplie par une distance et un temps pour le faire avancer.
En l'occurance j'ai plusieurs courbes donc C représente la courbe dans laquelle se trouve l'élément.
Concrètement ça donne, en java :
- Code: Tout sélectionner
var T = ((positionObj - courbesParcouru) / courbes[C].longueur);
obj[i].x = Math.pow((1 - T), 3) * courbes[C].P0.x
+ 3 * T * Math.pow((1 - T), 2) * courbes[C].P1.x
+ 3 * Math.pow(T, 2) * (1 - T) * courbes[C].P2.x
+ Math.pow(T, 3) * courbes[C].P3.x;
obj[i].y = Math.pow((1 - T), 3) * courbes[C].P0.y
+ 3 * T * Math.pow((1 - T), 2) * courbes[C].P1.y
+ 3 * Math.pow(T, 2) * (1 - T) * courbes[C].P2.y
+ Math.pow(T, 3) * courbes[C].P3.y;
Et ça marche.
Sauf que mon but maintenant est de calculer le cas ou un autre objet vient de cette droite D et croise une courbe. Il faut qu'il s'arrête précisément à l'interséction...
Et si j'ai bien compris ce que vous dites, c'est qu'il faudra calculer ce point en utilisant plusieurs paramètre jusqu'à trouver le plus approchant ?
Dsl j'ai vraiment peu de notions de maths donc c'est pas trés clair tout ça.
Idéalement j'aimerais pouvoir trouver une formule comme celle de f.legrand qui me donne d'un coup le résultat de l'intersection...est-ce seulement possible ?