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

Développement 2D, 3D et Jeux Discussion :

Qu'est ce que les coordonnées homogènes ?


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre habitué 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 : 37
    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
    Points : 198
    Points
    198
    Par défaut Qu'est ce que les coordonnées homogènes ?
    Bonjour à tous

    Après beaucoup de recherche sur le sujet des coordonnées homogènes je n'ai toujours pas compris leur utilité et surtout en quoi elles permettent de résoudre certains problèmes liées à la 3D. Je n'ai pas trouvé de topic détaillé sur votre forum je pense donc ne pas relancer ce sujet.

    Si vous aviez une explication détaillé je vous en serais reconnaissant.

    Kromagg
    C'est dans ses rêves que l'homme trouve la liberté cela fut, est et restera la vérité! (John Keating - Le cercle des poètes disparus)

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 382
    Points : 4 936
    Points
    4 936
    Par défaut
    alors l'explication matheuse est que les coordonnées homogènes permettent de linéariser des opérations sur les matrices qui sont sont affines en 3d.

    alors l'explication moins matheuse :

    alors une rotation en 3d peut s'écrire sous la forme d'une matrice M 3x3 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [a b c]
    [d e f]
    [g h i]
    alors qu'une translation T s'écrit sous la forme d'un vecteur 3 :

    donc quand on veut calculer la nouvelle position d'un point P(x, y, z) il faut faire ce qui nous donne une multiplication de matrice et une addition de vecteur soit 2 opération différente, pas pratique quand on veut câbler un gpu avec ça.

    la solution : les coordonnées homogènes, en dimension 4

    maintenant reprenons notre matrice de rotation Mr4 en dimension 4 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [a b c 0]
    [d e f 0]
    [g h i 0]
    [0 0 0 1]
    et notre vecteur de translation que nous n'allons plus conserver tel quel mais inclu dans une matrice 4x4, Mt4 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [1 0 0 j]
    [0 1 0 k]
    [0 0 1 l]
    [0 0 0 1]
    pour maintenant calculer la nouvelle position de notre point P(x, y, z, 1) il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    P(nouveau) = Mt4 * Mr4 * P
    soit un seul type d'opération (bon je sais je triche énormément, mais expliquer plus en détail mériterait quelques pages en latex histoire d'avoir des vrais matrices etc...), et donc plus facile à câbler dans un gpu.

    j'ai un cours là dessus, je verrai si mon prof me donne l'accord pour que je le poste, sinon si j'ai du courage, j'en ferai peut être un.

  3. #3
    Membre habitué 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 : 37
    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
    Points : 198
    Points
    198
    Par défaut
    Merci stardeath c'est une très bonne explication.
    Pour ce qui est du cours que tu as eu ça serait bien que tu puisses le poster ici, je pense que ça aiderai beaucoup de personnes qui se baladeront sur ce forum.

    Kromagg
    C'est dans ses rêves que l'homme trouve la liberté cela fut, est et restera la vérité! (John Keating - Le cercle des poètes disparus)

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Tout a fait d'accord, l'explication éclaircie la raison du passage en 4x4, mais tout complément serait le bien venu. J

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Points : 23
    Points
    23
    Par défaut Cours ?
    Citation Envoyé par stardeath Voir le message
    j'ai un cours là dessus, je verrai si mon prof me donne l'accord pour que je le poste, sinon si j'ai du courage, j'en ferai peut être un.
    Désolé pour le déterrage, mais je serais intéressé par ton cours, Stardeath, si ton prof t'a donné l'accord pour le poster ici.

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 382
    Points : 4 936
    Points
    4 936
    Par défaut
    j'ai complètement oublié. je garanti rien, mais je vais essayer de regarder ce week end.

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Points : 23
    Points
    23
    Par défaut ?
    Tu as pu voir si c'était possible ?

  8. #8
    Expert confirmé

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 382
    Points : 4 936
    Points
    4 936
    Par défaut
    encore oublié, pour me faire pardonner (lol) les autres cours de ce prof, Pascal Mignot, université de reims (en tout cas à l'époque où j'étais étudiant) :

    http://mathinfo.univ-reims.fr/image/...enu=base&act=1

    je poste le lien, il est normalement trouvable facilement sur ton moteur de recherche préféré.

    pour la suite, je ne garanti vraiment rien, j'ai vraiment la flemme '^^

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

Discussions similaires

  1. [méthodes]Qu'est ce que les specs d'un projet ?
    Par débutant_en_C dans le forum Méthodes
    Réponses: 18
    Dernier message: 08/01/2010, 17h52
  2. qu'est-ce que les design pattern ?
    Par airseb dans le forum Design Patterns
    Réponses: 1
    Dernier message: 23/11/2004, 08h02
  3. Est-ce que les fichiers .obj sont tous les mêmes?
    Par Bubonik software dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 30/12/2003, 21h04

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