IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

2D Java Discussion :

Coordonnées rotation d'un point


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 82
    Par défaut Coordonnées rotation d'un point
    Bonjour à tous,

    Voici un dessin pour expliquer mon problème:



    Je voudrais connaître les coordonnées d'un point P2 (appartenant à un cercle) issu de la rotation d'un autre point P3 et d'un angle.
    Les coordonnées de P3 et l'angle sont connus.

    2 exemples en rapport avec la figure:

    - Je connais les coordonnées de P3 et l'angle a.
    Je voudrais connaître les coordonnées du point P2 issu de la rotation du point P3 de l'angle a dans le sens trigo.

    - Je connais les coordonnées de P3 et l'angle b.
    Je voudrais connaître les coordonnées du point P4 issu de la rotation du point P3 de l'angle b dans le sens trigo.

    J'ai trouvé les formules suivantes pour trouver les coordonnées x et y de P2 issu de P1:
    xP2 = xP1 * cos a - yP1 * sin a + translation
    YP2 = xP1 * sin a + yP1 * cos a + translation

    translation : déplacement du point d'origine (0,0) au centre du cercle, mais ça ce n'est pas un problème.

    J'ai essayé de l'appliquer mais il doit y avoir des problèmes de signes dans sinus, cosinus, angle car je ne trouve pas toujours les bons résultats :-(

    Ca fait un moment que je cherche mais là
    Pouvez-vous m'aider ?

    Merci d'avance.
    Marc

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Par défaut
    Les angles sont exprimés dans quelle unité?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 82
    Par défaut
    en radian dans les méthodes sinus et cosinus de java.
    as-tu des éclaircissements à m'apporter ?

    merci d'avance.

    Marc

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Par défaut
    Je ne vois pas ce qui ne va pas. Peut être que si tu postes ton code ...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 82
    Par défaut
    merci Sanguko de te pencher un peu sur mon soucis.
    mon code pour la méthode de rotation est la transposition des formules de mon premier post, soit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    static Point rotation (Point p, double theta) {
        double x = p.x * Math.cos(theta) - p.y * Math.sin(theta);
        double y = p.x * Math.sin(theta) + p.y * Math.cos(theta);
        return new Point(x, y);
    }
    après j'effectue la translation pour placer le repere au centre du cercle.

    je ne trouve pas toujours les bons résultats ça doit sûrement dépendre dans quel sens se fait la rotation, d'où se trouvent mon point d'origine et mon point de destination donc peut-être des problèmes de signes pour sin et cos.
    tu vois quelque chose?

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Par défaut
    Je ne vois pas de probleme. J'ai fait le test chez moi, ca a l'air de marcher.

    Comment definis tu la classe Point ?

    As tu un exemple de cas ou ca ne marche pas ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/11/2016, 12h14
  2. Retrouver les coordonnées 3D de 4 points avec contraintes
    Par jobigoud dans le forum Mathématiques
    Réponses: 13
    Dernier message: 22/10/2008, 11h55
  3. Rotation d'un point
    Par clemsye dans le forum C#
    Réponses: 11
    Dernier message: 13/12/2007, 22h14
  4. rotation d'un point dans l'espace
    Par ded jay dans le forum C++
    Réponses: 7
    Dernier message: 16/10/2007, 10h46
  5. Calculer la normale grace a trois angles de rotations plus un point.
    Par parp1 dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 02/03/2007, 17h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo