14Fermer16
PolluxLe 12/10/2003 à 21:54
OK.
Je pense ne pas avoir besoin de fonctions racine, de table précalculé, j'y suis presque, pour la precision, je l'ai.

roll Et qu'est-ce qui te fait dire ça? Excuse moi mais si tu veux faire varier l'angle continûment (j'imagine que c'est ce que tu veux faire), tu n'y es pas du tout.

Bon comme manifestement tu as juste besoin de faire varier ton angle continûment, il suffit de faire :
#define sin1 (256/90)
#define cos1 (1-(sin1*sin1>>8)/2)
angle_x=((long)cos1*angle_x+(long)sin1*angle_y)>>8,angle_y=((long)cos1*angle_y-(long)sin1*angle_x)>>8;

Mais tu vas avoir de gros problèmes de précision (balle qui n'avance plus au bout d'un certain temps grin) si tu n'as pas de racine carrée. Une autre solution serait de réinitialiser angle_x et angle_y lorsque angle est multiple de 90, ce qui contourne le problème (ça suffit dans ton cas).