PDA

Voir la version complète : [µLibrary][Aide] [ulib] Utilisation des fonctions ulCos et ulSin


omg
23/07/2007, 17h05
J'ouvre un post juste pour expliquer, car j'ai eu un peu de mal a me remettre a la trigo, l'utilisation des fonctions ulCos et ulSin de la uLib de tonton Brunni.

Pour commencer, pourquoi utiliser ces fonctions?

J'ai voulu faire balader un sprite le long d'une ellipse sur mon ecran et j'ai utilisé une formule avec la fonction cos pour les ordonnées et sin pour les absysses contenues dans math.h.
ulDrawImageXY(MonSprite, X + A*cos(t* 3.14159 / 180), Y + B*sin(t* 3.14159 / 180));
Le sprite s'affiche alors sur le long d'une ellipse de hauteur de 2*Bpixels et de largeur de 2*A pixels.
Les coordonnées du centre de l'ellipse sont (X,Y). t doit être compris entre 0 et 360 (en degrés)
Les fonctions ulCos et ulSin de la uLibrary sont optimisées afin de moins soliciter le CPU de la DS qui ne prend pas en compte les float en natif. Cela permet donc de gagner de temps lors de l'affichage.

Comment utiliser ces fonctions?[/B]

Voilà le code pour afficher avec ces fonctions :
ulDrawImageXY(MonSprite,X + ulCos(t,A), Y + ulSin(t,B));
Le sprite s'affiche alors sur le long d'une ellipse de hauteur de 2*B pixels et de largeur de 2*A pixels. t doit être compris entre 0 et 512.
Les coordonnées du centre de l'ellipse sont comme pour l'exemple ci dessus : (X,Y).
Les fonctions ulCos et ulSin de la uLibrary sont optimisées afin de moins soliciter le CPU de la DS qui ne prend pas en compte les float en natif.

J'espère avoir éclairé les codeurs qui comme moi n'aiment pas la trigo... ;)
Voilà un petit cours (http://fr.wikipedia.org/wiki/Fonction_trigonométrique) qui m'a servi de base car j'avais formaté toutes mes notions de géométries et de mathématiques.

Et n'oubliez pas la doc Doxygen (http://brunni.palib.info/new/ulib/doc/doxygen/index.html) pour la uLib!

N'hésitez pas à me corriger si j'ai commis une erreur!

omg
25/07/2007, 14h28
Bon j'ai testé avec cinq images et j'ai du incrémenter t de 2 a chaque fois pour avoir une meilleure fluidité. :)

Bobby Sixkilla
25/07/2007, 14h54
Pour un petit rappel de trigo : http://playeradvance.org/forum/showthread.php?t=4374 ^^

omg
25/07/2007, 15h21
Gros smac mon Bobby! :wub: