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

DirectX Discussion :

[VB.NET] [D3D 9.0c] Informations sur Transform.View


Sujet :

DirectX

  1. #1
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 79
    Points : 57
    Points
    57
    Par défaut [VB.NET] [D3D 9.0c] Informations sur Transform.View
    Je suis actuellement en train de développer un interface graphique qui permet de visualiser avec direct3d un modèle d'éléments finis.

    Mon problème, pour simplifier, supposons que je modélise un un rectangle avec des coordonnées bien précises, exemple:
    0,0,0
    20,0,0
    20,10,0
    0,10,0

    je voudrais savoir comment préciser pour que ma caméra soit placée de façon à ce que je vois mon rectangle en entier et aux limites max.. bref faire un "Zoom All"

    Merci,

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour
    J'ai déjà voulu faire des trucs dans ce gout, pour cela j'ai du resortir mes souvenirs de trigonométrie....

    il n'y a pas de fonction toute faite il me semble

    pour ton affichage, il faut :
    te placer en un point A (10,5,-10) par exemple
    regarder vers ton rectangle B (10,5,0) (c'est le milieu du rectangle)
    choisir l'angle de vue dont tu as besoin.
    soit C le point (0,0,0)
    l'angle de vue qu'il te faut c'est 2 x ArcTan(BC/AB)

    Je ne sais pas si je suis très clair, mais la démarche est là

    mon conseil : avoir une feuille de papier et faire la démarche du moteur 3d pour savoir de quoi il a besoin pour afficher ce qu'il te faut

  3. #3
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 79
    Points : 57
    Points
    57
    Par défaut
    Salut Mabu,

    je te remercie de ta réponse. Je comprend le principe que tu m'expliques, par contre, je ne sais pas trop où spécifier cet "angle de vue"... pour l'instant ce que j'utilise pour placer ma caméra c'Est :

    D3Ddev.Transform.View = Matrix.LookAtLH(Origin, Target, UpVector)

    Mat

  4. #4
    Invité(e)
    Invité(e)
    Par défaut
    Et bien c'est facile

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    D3Ddev.Transform.Projection = Matrix.PerspectiveFovLH(
    (float) angleDeVue,
    (float) aspectRatio, //aspect Hauteur/largeur
    (float) proche,// on ne voit que les points entre 'proche' et 'loin'
    (float) loin );

  5. #5
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 79
    Points : 57
    Points
    57
    Par défaut
    Salut Mabu,

    Ahh merci pour cette explication sur la matrice de projection!! Mettons qu'avec les tutoriels que j'ai fait, ils ne s'attardait pas trop sur Projection et View, mais plutôt sur World...

    Je vais essayer ça de ce pas, merci encore.

  6. #6
    Invité(e)
    Invité(e)
    Par défaut
    J'oubliais
    Matrix a d'autre membres :
    PerspectiveFovLH : perspective champ de vue Main gauche
    PerspectiveFovRH : perspective champ de vue Main droite
    PerspectiveLH : perspective sans champ de vue Main gauche
    PerspectiveOffCenterLH : pas de perspective

    ....

    et plein d'autre pas - ou peu - documentées

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

Discussions similaires

  1. Récupérations d'informations sur le net
    Par Bibou06 dans le forum Langage
    Réponses: 6
    Dernier message: 29/08/2006, 20h09
  2. Réponses: 4
    Dernier message: 08/07/2006, 14h11
  3. [VB.NET]récuperation d'information sur datagridview
    Par philippe carel dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/05/2006, 08h58
  4. [VB.NET] Information sur instruction Redim
    Par Aspic dans le forum VB.NET
    Réponses: 4
    Dernier message: 21/12/2005, 19h54
  5. Réponses: 2
    Dernier message: 03/11/2004, 21h02

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