Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1171 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  [Divers] Comment faire une rotation autour d'un point ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Divers] Comment faire une rotation autour d'un point ?

n°382080
Profil sup​primé
Posté le 04-05-2003 à 23:33:26  answer
 

Question qui va en faire rire plus d'un mais bon j'ai jamais ete tres bon en maths, et j'ai oublié ce truc la, donc voilà mon problème...
 
Soit un point x1,y1 (le centre)
Soit un point x2,y2 (le point en rotation autour de l'autre)
Soit d1 la distance entre le centre et le point en rotation
 
Quelle formule je dois appliquer pour faire executer une rotation de X degres à mon point x2,y2 ???
 

mood
Publicité
Posté le 04-05-2003 à 23:33:26  profilanswer
 

n°382085
simogeo
j'ai jamais tué de chats, ...
Posté le 04-05-2003 à 23:39:01  profilanswer
 

((x2*y2)² /(y1-d1(y2+y1-x1))) * |x1+x2|
 
rien de plus simple  :whistle:  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
[:ddr555]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°382098
Profil sup​primé
Posté le 04-05-2003 à 23:45:31  answer
 

simogeo a écrit :

((x2*y2)² /(y1-d1(y2+y1-x1))) * |x1+x2|
 
rien de plus simple  :whistle:  
 


 
Bah oui je sais bien c'est pas compliqué mais c loin pour moi...
 
Sinon il manque pas un truc la ? ou est ce que tu prends en compte X (le nombre de degres de la rotation ) ?

n°382109
eL_Shaman_​__
Plop.
Posté le 04-05-2003 à 23:50:06  profilanswer
 

d1 = sqrt( (x1-x2)² + (y1-y2)²)
 
x2 =  d1 * cos(X) + x1
y2 =  d1 * sin(X) + y1
 
 
 
Remarque:
Si le repère était centré en 0,  d1 = sqrt(x2²+y2²)
 
Il n'y aurais donc qu'une translation à faire ensuite, ici.

n°382117
Profil sup​primé
Posté le 04-05-2003 à 23:53:35  answer
 

El_ShAmAn___ a écrit :

d1 = sqrt( (x1-x2)² + (y1-y2)²)
 
x2 =  d1 * cos(X) + x1
y2 =  d1 * sin(X) + y1
 
 
 
Remarque:
Si le repère était centré en 0,  d1 = sqrt(x2²+y2²)
 
Il n'y aurais donc qu'une translation à faire ensuite, ici.


 
Ok merci beaucoup, c'est bien plus clair comme ca... :jap:

n°2261291
jvvj256
Prog en Java et Maths
Posté le 26-06-2015 à 15:18:00  profilanswer
 

Pour ceux qui font du java, j'ai une méthode qui fonctionne à merveille:
("p1" étant le point donné, "center" étant le centre de la rotation et "angle" est l'angle de la rotation)
 
 
public static Point pointRotation(Point p1, Point center, double angle){
   
  double dirP1 = Math.atan2(center.y-p1.y, center.x-p1.x);
   
  double dirP2 = dirP1 + angle;
   
  double dist = p1.distance(center);
   
  return new Point((int)(center.x + dist*Math.cos(dirP2)), (int)(center.y + dist*Math.sin(dirP2)));
 }
 

n°2261309
Trap D
Posté le 26-06-2015 à 20:30:24  profilanswer
 

C'est vrai que les intervenants attendaient ta réponse... :sleep:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  [Divers] Comment faire une rotation autour d'un point ?

 

Sujets relatifs
[divers] Hebergement[Divers] Config Apache - RewriteCond
[2d] : Bezier + Point containment = bord arrondis[Divers] L'équivalent de PayBox aux US ?
[Divers] Demarrer un PC[Flash] Objet en 3D en rotation
[.bat] Création d'un point .bat pour automatiser tache ftp[divers] moteur de reconnaissance vocale en français ?
[asp?jscript?html?]-->Divers : checkbox valueComment dessiner juste un point ??
Plus de sujets relatifs à : [Divers] Comment faire une rotation autour d'un point ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR