2012-07-29 6 views
2

avant uni i rappelle qu'il y ait un algorithme qui est utilisé pour calculer la position x et y de point entre les valeurs x et y de 2 images clés, je sais que celui d'une ligne droiteQuel est l'algorithme pour déterminer x et y pour quelque chose de sorte qu'il suit une courbe entre deux images clés?

x = ((KeyFrame2 Je comprends que la différence entre les 2 images clés divisées par la durée vous donne combien d'unités de mesure (surtout les pixels), pour chaque unité de temps (normalement 1 image) de sorte que vous juste multipliez cette valeur par la mesure où la chronologie est

ie. x = ((KeyFrame2.x - KeyFrame1.x)/durée) * temps
x = ((10 - 0)/10) * 3
x = (10/10) * 3
x = 1 * 3
x = 3 (au bout de 3 unités de temps, sera +3 pixels le long de l'axe x de KeyFrame1 la position de l'objet)

cet un i comprends i a cependant là aussi parlé une qu'elle a utilisé pour la courbe les chemins, disons une balle qui rebondit et les images clés sont quand elle touche le sol et quand c'est à la pointe de son rebond, celui-ci est ce que j'ai oublié et je ne sais pas où mes notes sont pour ça

ce que je demande est l'algorithme utilisé pour calculer les positions x et y pour un objet avec un chemin comme celui-ci, je demande l'algorithme mathématique qui est interdépendant de code, ce que j'essaye de faire est d'animer un certain nombre de orbes qui entourent le centre de l'écran pour un logo, j'ai les objets dans le code pour déplacer mais j'ai besoin d'ajuster les calculs entre les images-clés

NOTE: même si je ne demande pas de code, les algorithmes sont utilisés dans la programmation d'animation et en tant que telle ma question concerne la programmation en général

NOTE2: KeyFrame2.x et KeyFrame1.x ne sont pas du code, je vois des images clés comme une instance d'une classe qui contient des valeurs telles que x, y, z, durée du cadre précédent ect

Répondre

1

Vous ne demandez pas algorithmes, vous demandez équations. Vous pouvez utiliser différentes équations en fonction du type de mouvement que vous simulez. par exemple, le mouvement du projectile par gravité est décrit par une parabole - une courbe de la forme

x = a * y^2 + b 

Pour un mouvement contrôlé par une force intelligente, ajustement de courbe basé sur les polynômes d'ordre supérieur ou des courbes de Bézier sont plus approprié. Google est votre ami ici.

0

Si vous savez que vous avez un mouvement de cercle, vous pouvez encercler l'équation pour prédire la position suivante ou interpoler entre. Puisque le cercle peut être défini de manière unique par 3 points, vous avez besoin de 3 points pour interpoler l'entre-deux. Il est logique, ayant seulement 2 points que vous ne pouvez même pas savoir si c'est un cercle convexe ou concave. En fonction du mouvement de vos points, vous choisissez une équation qui est au moins similaire au mouvement que vous avez. Dans la plupart des cas, l'équation linéaire, comme vous l'avez souligné, est juste assez bonne.

Questions connexes