JeuWeb - Crée ton jeu par navigateur
[Math] calculer un angle entre deux points? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Math] calculer un angle entre deux points? (/showthread.php?tid=5844)

Pages : 1 2 3


RE: [Math] calculer un angle entre deux points? - Xenos - 29-04-2016

qui doivent être reliés entre eux par une ligne
C'est une droite, donc la réponse modulo 180° est juste (c'est comme la racine carrée de 4, y'a 2 et -2).

Après, j'ai pas envie de reprendre tout le topic (vu qu'il avait été résolu je crois). Mais pourquoi vouloir à toute force faire du "moins gourmand"? T'as atteint les limites de ta machine?!


RE: [Math] calculer un angle entre deux points? - tatactic - 02-05-2016

Pour ma part je dirais (en AS3 mais c'est facile à adapter à n'importe quoi) :
la fonction de ma classe Trigono.getAngle() étant
Code :
public static function getAngle():Number{
var rotation = rad2Deg(Math.atan2(dy, dx));
                       // dx = Delta en x
                       // dy = Delta en y
                       voir la fonction getDist() de la même classe décrite plus bas...
return rotation;
}
la fonction de ma classe Trigono.rad2Deg() étant :
Code :
public static function rad2Deg(alpha:Number):Number{
return alpha*180/Math.PI;
}
la fonction de ma classe Trigono.getDist() étant :
Code :
private static function getDist():Number{
// the distanc may be positive or negative
dx = p2.x - p1.x;
dy = p2.y - p1.y;
if(dx<0 || dy<0){
distance = -Math.sqrt(Math.pow(dx,2)+Math.pow(dy,2));
}else{
distance = Math.sqrt(Math.pow(dx,2)+Math.pow(dy,2));
}
hypotenuse = Math.abs(distance);
computeEdges();
return hypotenuse;
}
Donc si on veux faire très court, juste :
              math.atan2(y2 - y1, x2 - x1);
puis vous convertissez en degrés...

J'ai loupé un truc ou quoi?


RE: [Math] calculer un angle entre deux points? - Xenos - 02-05-2016

Déjà dit: atan()
Quant à ton histoire de distance, quel intérêt de faire une discrimination positive/négative (une distance négative?! >.<) pour ensuite en prendre la valeur absolue?!

Utilise les balises [ code ] aussi.

Je ne suis pas contre le déterrage, mais il faut que cela amène quelque chose. Là, je ne vois pas ce que tu veux amener donc bon, inutile de redire ce qui a déjà été dit.


RE: [Math] calculer un angle entre deux points? - tatactic - 02-05-2016

Citation :Quant à ton histoire de distance, quel intérêt de faire une discrimination positive/négative (une distance négative?!) pour ensuite en prendre la valeur absolue?!

Désolé, et merci pour ta remarque!
Sur stackoverflow il suffit de taper quatre espaces et c'est pris comme du code (ce que j'ai fait).
La distance négative m'est utile pour d'autres raisons dans ma Classe (j'en ai besoin pour certaines raison que je ne vais pas détailler ici) et c'est la raison pour laquelle la fonction est déclarée privée..
Évidemment à priori ça peut paraître inutile dans ce cas ci.
J'ai sans doute loupé un truc, je n'ai pas vu que le cadavre était froid. Wink

C'est vrai qu'en relisant les précédents messages, Xenos (donc toi) avait déjà répondu.

Sinon question formatage de la réponse, je suis dans le bon là?
Sincèrement???

Mea Culpa!

Je découvre jeuweb à l'instant...
Nouveau forum, nouvelles règles et une réponse trop rapide à un sujet résolu.
Pardon, je me montrerai plus attentif la prochaine fois!

Bonne journée, sur ce, je sors Smile


RE: [Math] calculer un angle entre deux points? - Xenos - 02-05-2016

Pas de soucis Wink

N'hésite pas à bien rechercher sur le forum avant de questionner, et à lire le sujet avant de répondre (on a tendance à s'étaler un peu!).
Si tu relis des sujets assez longs et qu'un résumé te semble être intéressant (parce qu'il y a des topics de 6 pages qui mériteraient d'être raccourcis), n'hésite pas: cela sera tout bénef' pour tout le monde, et cela évitera ce genre de déboire (rater le message contenant la réponse d'un sujet, perdu dans l'historique immense des discussions).


RE: [Math] calculer un angle entre deux points? - tatactic - 02-05-2016

Merci, bonne nuit Xenos!
Ce topic est donc clos. Wink
Et ça m'aura appris pas mal de choses qui plus est!
Gloire aux corps froids!!! Big Grin
Voici ma classe Trigono (elle sera supprimée dans 15 jours).
Si tu as des suggestions, n'hésites pas!
http://pastebin.com/YQDF6LSg
N’empêche en relisant, j'ai adoré la réponse de niahoo :
Citation :Ces jeunes qui veulent du code tout chaud dans le bec ...
Bah, on s'en fout à presque 50 piges...
Du code, on en ch.. tellement qu'on peut se permettre de le donner et être aptes à accepter la critique.
C'est tout ce qui peut manquer aux plus jeunes...