Partage
  • Partager sur Facebook
  • Partager sur Twitter

[need help] rotation d'une matrice

    5 décembre 2010 à 16:22:28

    bonjour a tous, pour un petit programme j'ai besoin de "tourner" mes matrices de 90 degrés par exemple :

    1 0 0 1
    1 1 0 1
    0 1 1 0
    0 0 1 0


    que je tourne de 90 degrés (sens des aiguilles d'une montre) deviendrait:
    0 0 1 1
    0 1 1 0
    1 1 0 0
    0 0 1 1


    ya t-il un algorithme pour obtenir le bon résultat?

    merci de vos réponses
    • Partager sur Facebook
    • Partager sur Twitter
      5 décembre 2010 à 16:49:45

      Si tu veux le faire avec un programme, c'est tout bête, il te suffit de différencier le cas pair et impair (pour la taille de la matrice) et de fonctionner sur le quart en haut à gauche par exemple. Il suffit de faire les 4 échanges correspondants pour chacune des cases du quart considéré.

      Après, est-ce possible via un changement de base ou des opérations matricielles de ce type, je ne sais pas.
      • Partager sur Facebook
      • Partager sur Twitter
        5 décembre 2010 à 17:39:23

        Faut changer l'ordre des vecteurs :

        Pour la "rotation" de A de 90° tu fais :

        transposée(A) * I'n

        où I'n est le symétrique de la matrice identité par rapport à l'axe vertical.

        vérif : http://alturl.com/diew3
        • Partager sur Facebook
        • Partager sur Twitter
          5 décembre 2010 à 17:53:44

          Ce n'est pas le bon forum pour de la programmation...
          • Partager sur Facebook
          • Partager sur Twitter
          Je ne suis responsable que de ce que je dis, pas de ce que vous comprenez... - /!\ Négligences de sécurité sur OpenClassrooms /!\
            5 décembre 2010 à 18:38:41

            Citation

            Faut changer l'ordre des vecteurs :

            Pour la "rotation" de A de 90° tu fais :

            transposée(A) * I'n

            où I'n est le symétrique de la matrice identité par rapport à l'axe vertical.



            j'ai rien compris (j'ai jamais étudié les matrices) :'(
            transposée? I'n?

            Citation

            Ce n'est pas le bon forum pour de la programmation...


            c'est des maths que j'essaye de transposer en programme mais tant que je sais pas comment faire en math, j'ai aucune chance.
            Donc c'est pas de la programmation... ;)

            merci pour vos reponses
            • Partager sur Facebook
            • Partager sur Twitter
              5 décembre 2010 à 18:41:35

              Citation : lifaon74


              j'ai rien compris (j'ai jamais étudié les matrices) :'(


              Commence par ca. Prends toi un bon cours (*) sur les matrices (et l'algèbre linéaire si tu l'as pas vu non plus), avant d'essayer de les utilisé. Et c'est un trop gros chapitre pour qu'on te l'explique en entier sur le forum. Tu peux aussi attendre en espérant que queqlu'un fasse un tuto sinon.

              (*) Sur internet ou dans ta BU.
              • Partager sur Facebook
              • Partager sur Twitter
              FaQ : Fr | En 1 2 | C++11 | Template || Blog : Deloget | C++|Boost--Dev | C++Next | GotW || Installer Boost
                8 décembre 2010 à 16:05:25

                Voilà 2 cours qui pourraient t'intéresser :
                -algèbre linéaire
                -matrices
                • Partager sur Facebook
                • Partager sur Twitter

                [need help] rotation d'une matrice

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown