Page 1 sur 5

Trigo et degrés

Publié : sam. 12/nov./2005 12:09
par Dr. Dri
En trifouillant ma calculette, je me suis rendu compte que même si elle gère des degrés par défaut, on peut la régler sur les radians, voir même sur les grades (400 grades pour 360 degrés).

Ce serait bien que toutes les fonctions de PB puissent bosser dans ces trois unités de mesures... On pourrait imaginer des fonctions et des constantes...

Code : Tout sélectionner

Enumeration
  #PB_Math_Rad
  #PB_Math_Deg
  #PB_Math_Grd
EndEnumeration

Declare.l GetMathAngles()
Declare.l SetMathAngles(Type.l)
Le PB se veut simple d'accès donc je pense que les degrés pourraient devenir l'unité par défaut, ca n'implique pas de gros changements pour les codes actuels... Juste un petit SetMathAngles(#PB_Math_Rad) en début de programme. Les degrés son bien plus intuitifs, nan ?

Dri

Publié : sam. 12/nov./2005 14:15
par Heis Spiter
Temporairement :

Code : Tout sélectionner

#Pi = 3.14159265
Procedure.f GradToDeg(Ang.l)
  ProcedureReturn 9*Ang/10
EndProcedure
Procedure.f RadToDeg(Ang.l)
  ProcedureReturn 180*Ang/#Pi
EndProcedure
Procedure.f DegToGrad(Ang.l)
  ProcedureReturn 10*Ang/9
EndProcedure
Procedure.f RadToGrad(Ang.l)
  ProcedureReturn 200*Ang/#Pi
EndProcedure
Procedure.f DegToRad(Ang.l)
  ProcedureReturn Ang*#Pi/180
EndProcedure
Procedure.f GradToRad(Ang.l)
  ProcedureReturn Ang*#Pi/200
EndProcedure
Et puis, les radians sont quand même plus pratiques. Au lieu d'avoir un nombre important pour un tour de cercle (360°), tu as simplement 2Pi, etc... Donc, tu peux faire plus de tours qu'avec les degrés avant d'être limité par PureBasic.

Publié : sam. 12/nov./2005 14:24
par Chris
Ca n'empèche pas que si les conversion étaient intégrées à PB, ce serait plus simple, et ça n'empècherait pas non plus de travailler avec les radians pour des trucs graphiques un peu plus pointus.

Je suis d'accord avec Dr.Dri ! (Même si on ne m'a pas demandé mon avis... ) :lol:

Publié : sam. 12/nov./2005 14:36
par Dr. Dri
bah les tours de cercle ne sont pas important en trigo, ce sont des fonctions cycliques alors elles sont toujours ramenées à un tour de cercle...

Et pour les convertions, voila comment ma calculette fonctionne ^^ (tant qu'à faire pk pas aussi dans PB ^^)

Il existe 3 fonctions Deg() Rad() et Grd() qui se basent sur le mode actuel pour la conversion... Si on est en radians, Deg(Pi) renvoi 180, Grd(Pi) renvoi 200 et Rad(Pi) renvoi Pi...

Dri

Publié : sam. 12/nov./2005 19:14
par lionel_om
Heis Spiter a écrit :Et puis, les radians sont quand même plus pratiques.
J'suis pas daccord
En plus les nombres réel sont moins précis, doncmoi perso je vote pour les degrés... :P :lol:

Publié : sam. 12/nov./2005 19:21
par Chris
Faudrait demander à ceux qui font de la 3D, mais le moteur 3D de Pure, qu'est ce qu'il utilise comme unité ?

Le Radian, ou le Degré?

Parce que c'est quand même dans ce genre de programmation que ça sert le plus souvent : Le jeu, qu'il soit en 2D ou en 3D.

Donc, ce serait bien d'avoir les trois unités disponibles.

Cela dit, c'est vraiment pas compliqué de faire la conversion!

Publié : sam. 12/nov./2005 20:48
par cederavic
Les radians sont les plus utiliser, il n'y a qu'a voir les tonnes de formules qui existes dans touts les domaines.
Pour l'instant, dans la 3D du pure, on ne sait pas quelle unité est utilisé :lol:

EDIT : je voulais dir radian et non degré :roll:

Publié : dim. 13/nov./2005 0:08
par Dr. Dri
C'est pas que les conversions soient difficiles... C'est que j'aimerais bien ne pas avoir à les faire XD

Plus sérieusement, raison de plus pour que ca passe natif, ce n'est pas difficile à mettre en place et ca devient par la même occasion plus convivial

Dri

Publié : dim. 13/nov./2005 14:46
par comtois
Exactement , ça serait bien si c'était natif , et aussi ce serait bien d'ajouter la constante #Pi aux résidents.

Ok je sais que je peux le faire pour moi ,certains ont un résident avec #Pi ,d'autres non , ça serait juste plus pratique que ça soit intégré à PureBasic pour échanger des sources.

Et puis Pi existe aussi sur la calculette à Dri :)

Publié : dim. 05/févr./2006 8:29
par Guimauve
Message supprimé

Publié : dim. 05/févr./2006 11:53
par djes
Les processeurs travaillent en radians, donc pure aussi. Si on veut utiliser les degrés ou les grades, il faut faire des conversions, donc on perd en vitesse ET en précision.

A mon avis, une lib serait idéale pour ça, inutile d'embêter Fred avec ce genre de détails, non ?

Et puis maintenant qu'on a des nombres en haute précision, il faut en profiter.

Publié : dim. 05/févr./2006 12:56
par Backup
pourtant dans la vie "reel" ce sont bien les degres , le plus utilisé

en orientation, (bateau,avions,voiture)
pour cibler un sattelite
en geometrie (voir un raporteur)
pour prendre la temperature (:lol: )

je suis aussi pour que les degres soit ajouté a pure ! :D

Publié : dim. 05/févr./2006 12:59
par wolfjeremy
Oui apres tout on utilise toujour les degres... on apprend a calculer quand on est tout petit on utilise les degres, on evolue on a des cour de math de plus en plus dur, on utilise les degres, dans les calcul de tout les jour on utilise les degres... alors pourquoi ne pas mettre les degres comme unité de base ? :P

Publié : dim. 05/févr./2006 13:33
par cederavic
Je suis pas tout à fait d'accords, on voit des degrés partout oui, mais a la base, les formules qui donne ces resultats utilisent le radian donc ce qu'on vois a la fin c'est la simple convertion du resultat radian -> degré (le radian etant moin parlant). Et puis c'est l'unité légale, si pure ce met en degré par defaut, il faudra faire les convertion pour chaque formules et au final perdre en vitesse :?

Publié : dim. 05/févr./2006 13:40
par Backup
cederavic a écrit :Jsi pure ce met en degré par defaut, il faudra faire les convertion pour chaque formules et au final perdre en vitesse :?
je pense pas le mettre en defaut , pour ma part , mais proposer un double des instructions comme Guimauve le suggere .. en plus ! pas a la place

moi je suis monsieur + , plus y en a mieux c'est pour tout le monde :D