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

OpenGL Discussion :

Transformations autres que translation, scaling, rotation et shearing


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 35
    Par défaut Transformations autres que translation, scaling, rotation et shearing
    Bonjour la communauté!
    Hormis la translation, le scaling, la rotation, le shearing (le plus souvent dans le plan), et leurs composées éventuelles, savez-vous s'il existe d'autres transformations du plan ou de l'espace? Si oui, pouvez-vous m'en donner une notation matricielle s'il-vous-plaît?

  2. #2
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Par défaut
    Je suis loin d'être un expert en matrices, mais il me semble que les transformations que tu cites sont les plus 'connues' car elles forment la base des transformations utilisés en rendu 2D et 3D, et surtout pzrce qu'elle sont applicables dans une matrice homogène.

    Il me semble qu'une autre transformation - qui n'est pour le coup plus homogène - est la projection (typiquement pour projeter les coordonnées 3D d'un objet d'une scène en coordonnées 2D pour le rendu à l'écran).

  3. #3
    Membre éclairé Avatar de Kromagg
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2008
    Messages : 275
    Par défaut
    Bonjour,

    Il y a aussi la réflexion il me semble. Et puis quelques détails supplémentaires :
    - rotation autour d'un axe arbitraire avec un angle donné
    http://fr.wikipedia.org/wiki/Matrice...xe_de_rotation
    - scale dans une direction arbitraire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    |1 + (k - 1) * nx²     (k - 1) * nx * ny     (k - 1) * nx * nz|
    |(k - 1) * nx * ny     1 +(k  -1) * ny²      (k - 1) * ny * nz|
    |(k - 1)  *nx * nz     (k - 1) * ny * nz     1 + (k - 1) * nz²|
    avec k le facteur de scale, et n le vecteur unitaire représentant la direction dans laquelle tu veux effectuer le scale.

    - projection orthographique sur un axe ou un plan cardinal,

    - projection orthographique sur un axe ou un plan arbitraire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    |1 - nx²     -nx * ny     -nx * nz|
    |-nx * ny   1 - ny²       -ny * nz|
    |-nx * nz   -ny * nz       1 - nz²|
    Avec n le vecteur unitaire perpendiculaire à la line ou au plan de projection.

    Voilà ce sont les seul que je connaisse

    Kromagg

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 35
    Par défaut
    Merci pour vos infos, surtout Kromagg. Au fait, auriez-vous la matrice d'une réflexion s'il-vous-plaît? C'est une transformation dans le plan (symétrie axiale?) ou dans l'espace (symétrie planaire?)?

  5. #5
    Membre éprouvé Avatar de razmott
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 133
    Par défaut
    Bonjour,

    Une réflexion se fait par rapport à un hyper plan. Donc dans l'espace, ce sera une symétrie planaire. Il s'agit simplement d'une mise à l'échelle de facteur -1, dans la direction que tu souhaites (qui sera la normale du plan de réflexion)

    Note qu'il te faudra jouer avec des translations si tu ne veux pas que le plan passe par l'origine.

    On peut donc calculer une matrice de réflexion par rapport au plan d'équation ax+by+cz+d=0 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    | 1-2-2ab   -2ac  2ad(a²+b²+c²)+1 |
    |  -2ab  1-2-2bc  2bd(a²+b²+c²)+1 |
    |  -2ac   -2bc  1-22cd(a²+b²+c²)+1 |
    |    0     0      0           1        |
    Sauf erreur de ma part...

    [EDIT] oups !!! Le calcul de la dernière colonne est totalement erroné. Voici la version corrigée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    | 1-2-2ab   -2ac  2ad(a²+ab+ac) |
    |  -2ab  1-2-2bc  2bd(ab+b²+bc) |
    |  -2ac   -2bc  1-22cd(ac+bc+c²) |
    |    0     0      0           1      |
    Cette fois, je l'ai verifiée.

    Et pour répondre à la question de départ : toutes les similitudes (c'est-à-dire les composées d'isométries et d'homothéties) sont des composées de rotation, translation et changement d'échelle. C'est pour cela qu'en général on ne cite que celles-ci.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 35
    Par défaut
    Merci razmott pour cette matrice de réflexion. Auriez-vous un lien vers un site qui expliquerait le calcul en détail de cette matrice s'il-vous-plaît? Parce que j'ai fait un peu de géométrie dans l'espace à la fac mais :
    1) J'étais une brêle!
    2) J'ai tout oublié.
    3) Il ne me semble pas qu'on nous enseignait les écritures matricielles des transformations...
    Merci.

  7. #7
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 6
    Par défaut
    Citation Envoyé par TresNulDev Voir le message
    Bonjour la communauté!
    Hormis la translation, le scaling, la rotation, le shearing (le plus souvent dans le plan), et leurs composées éventuelles, savez-vous s'il existe d'autres transformations du plan ou de l'espace? Si oui, pouvez-vous m'en donner une notation matricielle s'il-vous-plaît?
    Hola,

    L'ensemble des transformations géométriques est résumé ici:
    http://fr.wikipedia.org/wiki/Transfo...om%C3%A9trique

    Et des explications sur les coordonnées homogènes (notation matricielle):
    http://fr.wikipedia.org/wiki/Coordon...homog%C3%A8nes

Discussions similaires

  1. rotation image/volume autre que la fonction de base
    Par S4sha dans le forum Général Python
    Réponses: 0
    Dernier message: 18/02/2010, 12h56
  2. Réponses: 1
    Dernier message: 01/07/2009, 17h41
  3. Minimize Maximize perso sur une form autre que Application
    Par sdebrois dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 07/03/2005, 17h59
  4. [JDBC] Programmation autre que Java
    Par Vow dans le forum JDBC
    Réponses: 2
    Dernier message: 23/06/2004, 11h22
  5. Rendre une disquette illisible par d'autres que moi
    Par kivoch dans le forum x86 16-bits
    Réponses: 8
    Dernier message: 26/12/2003, 22h49

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