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 :

local VS world coordinates system


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 114
    Points : 44
    Points
    44
    Par défaut local VS world coordinates system
    slt tt le monde,
    je suis debutant dans la programmation graphique. je voudrais comprendre un concept.
    Quelle est la différence le système de coordonnées dit "Local coordinate system" et celui dit "World coordinate system"?
    Comment puis-je utiliser cette notion en OpenGL par exemple?
    merci pour vos réponses!

  2. #2
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    Par défaut
    Je vais peut-être me tromper, mais pour moi, "local coordinates spaces", ce sont les "object coordinate space". En fait, imagine que dans ton logiciel de modélisation, tu modélises un cube, dont l'origine, c'est à dire 0;0;0, se trouve en bas à gauche de l'objet. Ce sont les coordonnées de l'objets.

    Maintenant, imaginons que tu places cet objet dans ton monde, via OpenGL, tu placeras cet objet dans les coordonnées du monde.

    Je t'ai scanné ci-dessous une page de mon livre de math (3d Math Primer for Graphics and Game Development), ce sera plus clair que des lignes et des lignes d'explication


  3. #3
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    En fait, c'est une question de relativité et de référentiel (on doit voir ça en 2nd il me semble).

    Lorsque tu parle de coordonnée du monde, ce sont les coordonnées par rapport à l'origine de la scèhe, c'est le référentiel (0,0,0).

    Pour ce qui est de coordonnées locales à un objet, ce sont les coordonnées relatives au référentiel de l'objet (qui est différent de celui du monde).

    Imagine que le repère du monde soit au centre d'une table, si tu pose une feuille sur la table, elle a une position par rapport au repère du monde. Si ensuite tu dessines une croix sur cette feuille, cette croix va avoir une position à la fois par rapport au référentiel du monde (ie: le centre de la table) et à la fois par rapport à la feuille (en haut à gauche de la feuille par exemple). Maintenant, si tu déplaces la feuille, la croix va changer de position par rapport au référentiel du monde mais pas par rapport à la feuille (elle sera toujours dans le repère de l'objet feuille en haut à gauche).

    Cette notion est souvent associée avec les transformations géométriques sur les objets (translation, rotation, ...), tu retrouves ça en OpenGL avec les piles de matrice de transformation. Il doit y avoir un exemple dans le Blue Book ou le Red Book d'OpenGL où on effectue un mini-système solaire (j'ai un doute), en fait les rotation sont faites par rapport à un objet déjà placé.

  4. #4
    Membre averti
    Homme Profil pro
    Game Graphics Programmer
    Inscrit en
    Août 2006
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Game Graphics Programmer
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 408
    Points : 392
    Points
    392
    Par défaut
    La réponse a déjà été donnée. C'est cette histoire de référentiel.
    Sous OpenGL (et DX) ce sont les matrices que tu mets sur le tas, par exemple avec glPushMatrix() (et glPopMatrix() pour la prendre). Le système se chargera de traduire les points locaux en points du monde et les afficher.

    Mathématiquement, ca consiste à multiplier le vecteur du point local Pl avec la matrice locale de l'objet Ml pour obtenir le point en coordonnées du monde Pw.
    Pw = Ml x Pl

    Ce sont des maths assez simples qu'il faut tout simplement mettre application das son programme.


    ...ceci étant, j'arrive à me gourrer une fois sur deux lorsque je veux passer de world coordinates aux local coordinates...

Discussions similaires

  1. [Windows Phone 8] System.IO.Directory dans un réseau local
    Par Savor dans le forum Windows Phone
    Réponses: 1
    Dernier message: 15/10/2014, 00h40
  2. [WS 2008] Service sous le compte "Local system" et accès à Internet
    Par Tawane dans le forum Windows Serveur
    Réponses: 5
    Dernier message: 03/06/2011, 21h39
  3. System d'exploitation dans un réseau local
    Par younes12 dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 15/09/2009, 09h52
  4. Réponses: 0
    Dernier message: 26/01/2009, 12h50
  5. Peux t'on créer une copie locale de l'objet partagé?
    Par Anonymous dans le forum CORBA
    Réponses: 8
    Dernier message: 16/04/2002, 16h20

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