J'ai examiné la définition des radians et découvert que les mathématiciens les préféraient parce qu'ils dérivent de pi au lieu d'être complètement arbitraires comme des degrés.
Cependant, je n'ai pas trouvé de raison convaincante de les utiliser dans le développement de jeux, probablement en raison de mon manque total de compréhension mathématique. Je sais que la plupart des fonctions péché / cos / bronzage fonctionnent dans des langues appelées radians, mais quelqu'un pourrait tout aussi bien créer des fonctions de bibliothèque en degrés (et éviter les erreurs d'arrondi inhérentes à l'utilisation de pi).
Je ne veux pas que ce soit un sondage d'opinion, je voudrais juste entendre des personnes qui ont développé le jeu (et la recherche mathématique associée) où les radians offrent une expérience supérieure aux diplômes, par opposition à "Nous utilisons radians parce que nous les avons toujours utilisées ", juste pour m'aider (et éventuellement les autres) à comprendre à quoi elles servent.
la source
Réponses:
Les radians sont utilisés en mathématiques parce que
Ce n'est pas que les mathématiciens comme Pi. Les radians sont en fait un choix plus naturel de mesure d’angle que de degrés, pour les raisons susmentionnées. Ils sont la mesure de l'angle dans laquelle des facteurs tels que pi / 180 disparaissent.
Donc, OMI, la question n'est pas "pourquoi utiliser des radians", mais "pourquoi ne pas utiliser des radians". En d'autres termes, il n'est pas nécessaire d'avoir une raison d'utiliser des radians; ils sont le choix par défaut de la mesure d'angle. Il faut une raison pour utiliser les diplômes. Par exemple, vous pouvez choisir d'afficher les angles en degrés dans l'interface utilisateur d'une application, car ils sont plus familiers à de nombreuses personnes (notamment les artistes). Cependant, personnellement, je me suis habitué à penser aux angles en radians plutôt qu'en degrés.
Je n'ai pas d'exemples spécifiques de gamedev à vous donner, car il ne s'agit pas vraiment d'un problème de gamedev, mais d'un problème mathématique, qui serait identique dans tous les domaines utilisant les mathématiques.
(Au fait, il n'y a pas plus d'erreurs inhérentes à l'arrondi lors de l'utilisation de pi que lors de l'utilisation de degrés ... les angles doivent toujours être des nombres réels et non des entiers, sinon comment allez-vous représenter un angle d'un demi-degré? :) )
la source
La réponse de Nathan est très concrète. Je voudrais fournir une vue plus générale:
Le concept mathématique le plus complexe mis en œuvre de manière native dans la plupart des unités de traitement est constitué par les nombres à virgule flottante en tant que modèles pour le champ des nombres réels. La géométrie visuelle est basée sur l'espace vectoriel réel tridimensionnel ³. Les coordonnées sont des nombres réels. Les quantités géométriques sont basées sur la longueur , qui est un multiple réel d'une unité.
En raison de cette base en nombres réels et en longueurs, il est pratique de modéliser également des angles par des nombres réels resp. longueurs. Radians est la longueur de l'arc d'un cercle unitaire avec l'angle donné. C'est donc le modèle d'un angle le plus compatible avec toutes ces autres unités basé sur des nombres réels resp. longueurs. Par exemple, l'approximation sin x ~ x pour les petites valeurs de x est une approximation de la coordonnée y d'un point du cercle unité par l'arc de l'axe des x à ce point.
Il ne faut pas oublier qu'un angle n'est pas une longueur. C'est l'une des 4 parties d'un plan créé par deux lignes droites sécantes. Sa quantité est délimitée par la symétrie des plans dans ³ et la métrique euclidienne.
Il est plus naturel de modéliser un angle avec l'intervalle semi-ouvert [0,1) (ou (0,1]) collé à ses extrémités, étant donné la valeur d'un angle dans le cadre d'un virage complet. Les degrés ne sont que 1 / 360 tours complets (BTW: Nombre théoriquement, il s’agit d’un meilleur choix que le système décimal utilisé pour les nombres réels).
la source
Bien que j'utilise aussi les radians, pour toutes les raisons précisées, il existe au moins une bonne raison de préférer les degrés: précision et accumulation d'erreurs. Faire tourner un cercle complet d'un degré à la fois est exact. Faire pivoter d'un cercle complet 2PI / 360 radians à la fois ne l'est pas. Effectuer une rotation de 90 degrés 4 fois sur une grille de pixels vous permet de revenir exactement à votre point de départ. Effectuer une rotation 2PI / 4 radians sur une grille de pixels 4 fois ne le fait pas.
la source
Admettons qu'il est préférable de choisir laquelle et de s'en tenir que d'utiliser deux définitions et de deviner laquelle d'entre elles est nécessaire pour la fonction actuelle. Ensuite, l’utilisation de la longueur d’arc est plus naturelle pour l’implémentation de sin et cos, ce qui peut inciter cmath à l’appliquer de cette façon. Comme les jeux sont souvent écrits en C ++ ou en C et qu'il y a déjà péché et que cos est implémenté, il est logique de s'en tenir à cette définition.
[Voyez-vous legs opengl]
la source