#0 

16-01-2007 11:20:13

diOxy
Abonné
Date d'inscription: 10-10-2006
Messages: 153

Aller, un petit topo sur les angles !

Comme vous l'avez peut-être constaté les calculs trigos effectués par nos merveilleuses machines sont basés sur les radians. A savoir :
- 360 Degrés = 400 grades = 2*Pi

En topo on utilise en général les grades pour le gisement parce que c'est plus facile. Quand on se place sur un point et que décide qu'en face, c'est 0 grades, on a pas besoin de calculs complexes pour savoir qu'a gauche, c'est 100, a droite 300 et derrière 200. Vous me direz que 90, 180, 270 c'est pareil. Mais 1 quart a droite devient 50, trois quart droite devient 150, trois quart gauche devient 250 et un quart gauche devient 350. Vous pouvez me donner le résultat en degrés sans calculer un petit peu ? (Oui, je sais : quand on a l'habitude de ces chiffres, c'est facile).

Aller, hop. Les conversions :

Convertir un angle de Radian vers Degré = AngleRadian/180*PI
Convertir un angle de Degré vers Radian = AngleDegré*180/PI

Pour les Grades, vous remplacez juste 180 part 200 :

Convertir un angle de Radian vers Grade = AngleRadian/200*PI
Convertir un angle de Grade vers Radian = AngleGrade*200/PI

Convertir un angle de Degré vers Grade = AngleDegré/0.9
Convertir un angle de Grade versDegré = AngleGrade*0.9

Hors ligne


#1 

17-01-2007 23:55:05

kedu
Modérateur
Date d'inscription: 23-09-2006
Messages: 155

sympa car on est tous à un moment donné parti à la recherche de ses infos oubliées avec le temps...

Hors ligne


#2 

18-01-2007 16:56:24

DeusXL
Abonné
Lieu: Paris
Date d'inscription: 27-09-2006
Messages: 174

Toujours pratique car il est vrai que même quand on a l'habitude on fait des erreurs (du genre j'inverse le 180/PI) qui causent de grave soucis.
Maintenant moi je trouve ni les degrés ni les grades faciles big_smile Toutes les formules de maths sont tellement plus évidentes en radians.


Fanatique d'Irrlicht + Fanatique de Mono + Fanatique de Linux => Créateur d'Irrlicht .NET CP bien sûr !
Version actuelle d'Irrlicht .NET CP : 0.8, Version en test : 0.9.

Hors ligne


#3 

03-03-2007 01:22:23

ptitfred
Membre
Lieu: Paris
Date d'inscription: 17-02-2007
Messages: 21
Site web

DeusXL a bien raison : les radians sont la seule référence sérieuse en trigonométrie et dans toutes les sciences s'en servant (physique donc). Et j'irai même plus loin : si les formules de maths sont "plus évidentes en radians", c'est tout simplement que c'est la seule graduation valable d'un point de vue théorique. Les degrés et les grades ne sont que des artefacts hérités d'une époque où la trigo servait à construire des maisons, intellectuellement on manipule plus aisément des nombres de l'ordre 10 (le cerveau préfère les entiers).

Ne vous embarassez pas des degrés ou des grades sauf pour renseigner l'utilisateur humain d'un angle. Et à ce moment-là faites la conversion en degrés.

Pour les considérations de précision, il est inutile d'aller chercher les nombreuses décimales, un short fera bien l'affaire. Exprimé en radians, un angle vaudra entre -PI et +PI et on ne cherchera pas souvent une précision supérieure à 10-2 pour les calculs.

Malheureusement, bon nombre d'outils travaillent en degrés, et si je me souviens bien (à vérifier), irrlicht travaille en degré...


désolé pour ce petit up de sujet tongue

fred

Hors ligne


#4 

03-03-2007 09:05:28

DeusXL
Abonné
Lieu: Paris
Date d'inscription: 27-09-2006
Messages: 174

Toute la programmation 3D se fait en radian, que ce soit au niveau de la carte graphique ou au niveau software...
D'ailleurs la carte graphique ne travaille qu'avec des nombres à virgule flottante... C'est pour cela qu'elle est bien plus rapide que le CPU pour ce genre de choses.
Maintenant on fournit souvent des routines pour utiliser les degrés car ils semblent souvent plus simples (et ça donne l'impression d'être plus précis :p) mais de toute façon, ce ne sont que des conversions des outils en radian.

PS : Un short signé est entre -32767 et 32767 donc cela équivaut à une précision de 10^(-4) non ? Même si l'utilisation des float est de loin la plus évidente, relativement au fonctionnement du GPU.


Fanatique d'Irrlicht + Fanatique de Mono + Fanatique de Linux => Créateur d'Irrlicht .NET CP bien sûr !
Version actuelle d'Irrlicht .NET CP : 0.8, Version en test : 0.9.

Hors ligne


#5 

03-03-2007 12:13:11

ptitfred
Membre
Lieu: Paris
Date d'inscription: 17-02-2007
Messages: 21
Site web

Oui pardon pour le lapsus, un float smile

Hors ligne


#6 

03-03-2007 13:47:16

diOxy
Abonné
Date d'inscription: 10-10-2006
Messages: 153

Il est bien évident qu'au niveau programmation je travaille uniquement en radian ne serait-ce que pour des raisons de performances. Ce n'est que pour renseigner l'utilisateur que je met en degrés. Ce serait quand même idiot de chercher la performance et de mettre des conversions radians/degrés partout ! wink

Hors ligne


#7 

03-03-2007 15:55:25

DeusXL
Abonné
Lieu: Paris
Date d'inscription: 27-09-2006
Messages: 174

ptitfred :

Oui pardon pour le lapsus, un float smile


Enfin ce que tu as dit sur les short, ça peut être vrai aussi :p
Par exemple, quand on doit transmettre un angle sur le réseau (sisi ça arrive, cf le protocole de DAoC, le jeu que je connais le mieux de ce point de vue) on utilise un short qui apporte une précision de 10^(-4) lorsqu'on veut se situer entre -PI et +PI et qui se code en deux octets (un double par exemple c'est 64 bits donc 8 octets, et un float je crois que c'est 32 bits donc 4 octets).

Dernière modification par DeusXL (03-03-2007 15:56:31)


Fanatique d'Irrlicht + Fanatique de Mono + Fanatique de Linux => Créateur d'Irrlicht .NET CP bien sûr !
Version actuelle d'Irrlicht .NET CP : 0.8, Version en test : 0.9.

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
883 membres
1429 sujets
11121 messages
Dernier membre inscrit: Saidov17
76 invités en ligne
Aucun membre connecté
RSS Feed