J'ai un vecteur de vitesse où mon client est et où il va, et j'ai le même vecteur qui vient du serveur indiquant où le client devrait être. Parfois, c'est un peu différent, donc je veux interpoler entre ma position actuelle et la position correcte du serveur.
La flèche noire est le vecteur de vitesse du client, la flèche rouge est le vecteur de vitesse du client sur le serveur et la flèche bleue est celle sur laquelle je veux calculer et interpoler.
Comment calculer le vecteur bleu? Alors, comment puis-je interpoler linéairement entre eux?
la source
Prendre cette photo:
AB est le vecteur rouge de A à B.
Supposons que P représente 25% du trajet de A à B.
Donc 3/4 A et 1/4 B.
Une autre façon de trouver cela veut dire que vous voulez un vecteur 75% "proche" de A et 25% "proche" de B. (Un vecteur 100% "proche" de A n'est que le vecteur A.)
Ainsi, vous pourrez également trouver P comme:
Avec t = 0,75 (pour dire 75% "proche" de A)
Ainsi, une simple fonction LERP en C pour une classe Vector3f serait:
la source