Bonjour tous le monde.
Voilà mon problème: j'ai deux carrés placés aléatoirement dans un plan (je connais leur positions) et j'aimerais dessiner une rectangle aussi fin qu'une ligne qui part du premier carré au deuxième carré . Pour cela j'ai besoin de deux choses: connaitre la distance entre les deux carrés et connaitre la rotation que je dois mettre à mon rectangle (si besoin est) mais j'ai que 16 ans et... disons que ce que j'apprends est loin d'être au programme de cette année.
Les carrés placés avec une base horizontale ?
J'ai quelque idées mais ta question n'est pas assez explicite Un dessin pour voir ?
Et peut tu expliquer exactement qu'est que tu essaye de faire en général ?
Si j'ai bien compris, tu veux relier les deux carrés avec une ligne ?
Pourrais-tu faire un dessin ? Car si tu connais les coordonnées de tes deux carrés, je ne vois pas pourquoi tu as besoin de leur rotation ainsi une de leur distance pour tracer une ligne/polygone entre les deux : l'un comme l'autre se contentent de coordonnées.
Si nécessaire, je peux t'aider. Mais il est fort probable que tu n'aies besoin d'utiliser que des fonctions de trigonométrie de base (arctan2, cos, sin).
Non en fait vous avez mal compris, j''ai deux carrés dont je connais leur propriétés, dans un plan et je dois créer un rectangle (que je vais affiner le plus possible pour donner l'impression que c'est une ligne et non un rectangle) et ce rectangle je dois relier ses deux extrémités aux deux carrés (en gros je dois relier deux carrés avec une ligne) mais pour cela je dois connaitre deux choses:
1) La longueur qu'il y a entre les deux carrés (j'arrive à l'avoir en appliquant pythagore)
2) La rotation que dois imposer à mon rectangle en degré (parce que si mon rectangle reste à l'horizontale alors que les deux carrés se retrouve l'un au dessus de l'autre c'est pourri)
Donc si vous connaissez l'algo pour trouver la deuxieme info ça m'interresserait
Pourquoi ne traces-tu pas une ligne ? Quel est ton besoin réel ? Au passage, les bibliothèques graphiques travaillent souvent en radians et non pas en degrés (à part quelques fonctions d'opengl), ne te trompe pas.
1] Ta distance entre deux points, c'est effectivement juste Pythagore.
2] Tant que tu es dans la trigonométrie, tu dois aussi pouvoir, en utilisant tes cours de 5ème ou 4ème, retrouver l'angle entre les deux points: tu connais les longueurs des côtés du triangle qu'ils constituent, tu peux donc retrouver facilement les angles. Il y a une fonction très pratique dans ton cas qui est atan2(x, y) : je te laisse le soin de trouver à quoi correspondent x et y :D Oui, c'est juste une fonction, même pas un algo. Un bête calcul trigonométrique niveau collège !
Merci de ta réponse j'utilise SFML et box2d. En effet box2d utilise les radians mais sfml utilise les degrés. Bon la fonction que je dois utiliser c'est juste tan-1? Et par contre x et y je ne vois pas du tout ce que ca peut etre
c'est atan2(y, x)
x et y c'est la différence entre la position de ton carré 1 et celle de ton carré 2.
Merci