je n’ai pas de problème spécifique à soulever, mais je voudrais juste ouvrir une discussion générale au sujet de la mesure des angles orientés dans Game Develop. Les angles y sont mesurés en degrés et sont orientés dans le sens des aiguilles d’une montre.
Jusqu’à présent, je ne me suis pas servi des valeurs trigonométriques (cos, sin, tan, etc.), je n’en ai pas eu besoin. Ayant un peu étudié la trigonométrie, je me souviens que ces valeurs utilisent des mesures d’angles en radians (où 2π rad = 360°) et que l’orientation des angles n’est pas la même (le “sens trigonométrique” est inverse des aiguilles d’une montre). Ainsi, un angle π/2 rad vaut 90° dans le sens trigonométrique, alors que dans Game Develop il équivaudrait à un angle de 270°… Tu es visiblement bien conscient de ce problème, puisque dans le fichier d’aide, à la page consacrée à l’éditeur d’expression, tu as placé un avertissement à ce sujet.
D’où ma question : pourquoi as-tu choisi le sens des aiguilles d’une montre comme sens d’orientation des angles dans Game Develop, au lieu du sens trigonométrique ? Les fonctions trigonométriques que tu as introduites dans l’éditeur d’expression sont-elles réellement fonctionnelles, ne risque-t-on pas de s’embrouiller gravement en essayant de les utiliser, si l’on doit réadapter des angles en radians dans un sens “anti-trigonométrique” ?
Pour le moment, Game Develop s’en tient à des fonctionnalités de 2D, mais imaginons que tu parviennes à enrichir l’extension “boîtes 3D” par une extension “mouvements 3D” (ou quelque chose du genre), ne penses-tu pas que le sens des angles pourrait alors devenir lourdement problématique ?
En fait, c’est dû à l’orientation des axes dans Game Develop : L’axe Y est dirigé du haut vers le bas.
Et donc, si on fait tourner un objet sur un cercle imaginaire autour de l’origine en utilisant cos et sin, on va voir que l’objet fait une rotation dans le sens des aiguilles d’une montre. C’est pour ça que j’ai choisis également ce sens pour les actions et tout ce qui touche aux angles dans Game Develop, question de consistance.
Les fonctions trigonométriques sont absolument fonctionnelles, elles ne sont pas du tout retouchées ou quoi que ce soit.
Et justement comme je le disais, vu l’orientation des axes, si tu utilise par exemple cos et sin pour faire tourner un objet en augmentant l’angle progressivement, tu verra que ça tourne dans le sens des angles habituels de Game Develop.
Mais c’est vrai que ça peut poser des petits problèmes d’adaptations si on utilise des outils/bibliothèques externes qui utilise le sens trigo pour l’affichage.
Par exemple, SFML qui est utilisée par Game Develop pour l’affichage attend des angles dans le sens trigonométrique. Mais d’après une discussion que j’ai vu, ça devrait changer dans une version future pour utiliser le même sens que GD. ( Et toujours dans ce cas, ça ne concerne que moi au niveau du code de GD et pas donc les utilisateurs de GD ).
L’adaptation à faire justement n’est cependant guère compliquée : Il suffit d’ajouter un signe - devant l’angle pour l’adapter à un sens trigonométrique.
Pour les angles en degrés, il me semble que cette unité est bien plus accessible et simple à “penser” que les radians pour la plupart des gens ( là encore, SFML utilise des degrés par exemple ), cet avantage comblant la petite nécessitée de convertir les angles en radians si on souhaite utiliser les fonctions telles que sin/cos…
Je comprends parfaitement ton choix, et il est à l’évidence cohérent : il est lié au système de coordonnées, qui ne correspond pas à un repère orthonormé classique de la géométrie euclidienne. Le choix d’un axe des ordonnées descendant induit nécessairement une orientation adaptée de la mesure des angles. Je n’ai pas dû réfléchir suffisamment avant de poser la question, autrement, je me serais sans doute rendu compte par moi-même que le choix du repère déterminait aussi le sens des angles.
Il est vrai également qu’il suffit d’affecter un signe négatif à la mesure d’un angle pour modifier son orientation…
Malgré tout, je suis content d’apprendre que les fonctions trigonométriques de l’éditeur d’expression bénéficient d’une adaptation en conséquence, et que l’on peut s’en servir sans avoir à trop se poser des questions existentielles au sujet de l’orientation…