J'ai une unité dans un jeu qui pointe dans une direction particulière ; lorsqu'elle tourne dans une autre direction, elle doit prendre le virage le plus court possible. Le schéma commence à un angle particulier et nécessite un angle donné pour l'interpolation linéaire.
Par exemple, un alignement de 10 degrés à 350 degrés permet de calculer un angle cible de -10. À l'inverse, une descente de 350 à 10 doit permettre de calculer un angle final de 370 degrés.
Quel algorithme permet de calculer les valeurs finales requises ?
EDIT: : Il semble y avoir une certaine confusion sur ce dont j'ai besoin
J'utilise l'interpolation linéaire pour calculer les angles dans le temps. Ainsi, si je veux passer de 10 à 20, la valeur finale doit être 20, j'interpole de 10 à 20 et je tourne à droite. De même, si je veux aller de 20 à 10, l'interpolation de 20 à 10 se fera dans le sens inverse des aiguilles d'une montre, ce qui n'est pas grave non plus. Le problème est que lorsque le virage est supérieur à 180 dans le sens des aiguilles d'une montre, pour aller de 270 à 80 (210 degrés), il faut tourner dans le sens des aiguilles d'une montre, l'interpolation directe de 270 à 80 se fera dans le sens inverse des aiguilles d'une montre, je dois interpoler de 270 à 420 (360+80), ce qui se fera dans le sens inverse des aiguilles d'une montre.