[java/Math] formule encore :-)

formule encore :-) [java/Math] - Java - Programmation

Marsh Posté le 12-06-2002 à 17:36:03    

Le bon vieux pythagore:
 
Qqun a une suggestion pour faire ça mieux:
 

distance = Math.sqrt( Math.pow(p.x-q.x,2) + Math.pow(p.y-q.y,2) );


 
sachant que p et q sont deux Point dont les membres publics x et y sont les "coordonnées".
 
 
ps: euh en Java hein.


Message édité par greg@freestarthu le 06-12-2002 à 17:38:12
Reply

Marsh Posté le 12-06-2002 à 17:36:03   

Reply

Marsh Posté le 12-06-2002 à 17:36:53    

non


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-06-2002 à 17:37:34    

DarkLord a écrit a écrit :

non  




 :kaola:  
 
:-)

Reply

Marsh Posté le 12-06-2002 à 17:52:12    

pas mieux que dark

Reply

Marsh Posté le 12-06-2002 à 17:53:29    

bon ok:)

Reply

Marsh Posté le 12-06-2002 à 17:53:53    

lecture ou vitesse ?

Reply

Marsh Posté le 12-06-2002 à 17:59:43    

tu n'utilises pas pow pour mettre au carré
mais x*x
 
un conseil d'ami  
 
LeGreg

Reply

Marsh Posté le 12-06-2002 à 18:00:59    

legreg a écrit a écrit :

tu n'utilises pas pow pour mettre au carré
mais x*x
 
un conseil d'ami  
 
LeGreg  




voué mais bon là j'ai pas "x", mais machinx-trucx donc bon , c lourd à lire apres :/
 
mais bon.
hmmm

Reply

Marsh Posté le 12-06-2002 à 18:06:49    

Math.pow(p.x-q.x,2)  
ou
 (p.x-q.x)*(p.x-q.x)
 
meme taille de code, l'un s'execute rapidement l'autre pas
le choix est vite fait.
 
LeGreg

Reply

Marsh Posté le 12-06-2002 à 18:15:04    

il n'y a pas de Math.sqr() ?

Reply

Marsh Posté le 12-06-2002 à 18:15:04   

Reply

Marsh Posté le 12-06-2002 à 18:25:40    

juste une remarque : le sqrt est assez lent.
et souvent, on s'apperçoit qu'on a pas vraiment besoin de la distance exacte et qu'on peut très bien se servir uniquement la la distance au carré. par exemple pour comparer 2 distances
 
Donc voila mon conseil : si t'as pas besoin de la distance exacte, contente toi du carré de la distance (ca t'économise le sqrt).
 
sinon, je pense aussi que le x*x ets plus rapide, surtout que le math.pow prend des doubles => si tu utilises des int (ou des trucs moins gros que double) ca va faire des transformations supplémentaires + un temps de calculs plus important

Reply

Marsh Posté le 12-06-2002 à 20:10:32    

bon bon, je re-reflechirai a tout ça, mais a priori j'ai besoin de la distance exacte (je me vois mal inserer dans une db une colonne square_distance hein :-) -> surtout que le but est de faire du pre-process pour soulager le truc derriere:-)
 
ensuite, ça travaille pas avec des entiers
 
et pour le *, je suis bien d'accord pour un argument, mais si je soustrais deux arguments et que je veux la racine² de cette soustraction ça devient lourd à lire
celà dit bon je pourrais l'ecrire en plusieurs lignes :)
mais dans ce cas, le gain de perfs sera t' il aussi net?


---------------
\^o^/ Libérez HotShot \^o^/
Reply

Marsh Posté le 12-06-2002 à 21:56:32    

je reve dites-moi..
 
tu es en train de disserter pendant une heure
pour savoir si ecrire une formule sur deux
lignes c'est pas trop pour tes petits doigts
ou quoi?
 
LeGreg

Reply

Marsh Posté le 12-06-2002 à 22:53:46    

legreg a écrit a écrit :

je reve dites-moi..
 
tu es en train de disserter pendant une heure
pour savoir si ecrire une formule sur deux
lignes c'est pas trop pour tes petits doigts
ou quoi?
 
LeGreg  




non


---------------
\^o^/ Libérez HotShot \^o^/
Reply

Marsh Posté le 13-06-2002 à 00:30:10    

il voulais surement dire.. en plusieurs instructions... :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed