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

Mathématiques Discussion :

Se deplacer dans un plan quelconque


Sujet :

Mathématiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Par défaut Se deplacer dans un plan quelconque
    Bonjour,

    j'ai dessiné en 3D un anneau de Mobius. (j'ai donc l’équation paramétrique de l'anneau).

    Je voudrais à présent contrôler la camera de telle que je puisse marcher sur l' anneau (avancer, reculer, droite gauche etc...).

    Je ne sais pas comment m y prendre pour calculer le vecteur du déplacement, en avant, arrière, droite, gauche...

    Question intéressante non ?

  2. #2
    Membre émérite
    Avatar de Kangourou
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Par défaut
    salut,

    si tu as l'équation paramétrique, normalement c'est bon. Si u et v sont tes deux paramètres de position sur le ruban, tu as donc un mapping entre (u,v) et (x,y,z).
    Tu peux calculer les dérivées en u et v de ce mapping, ce qui te donne deux vecteurs 3D. Avec la position, ca te donne le plan tangent.
    Pour placer la caméra le long du ruban, il faut orienter la caméra par rapport au plan tangent, puis la translater sur le ruban.
    Pour les déplacement, j'ai l'impression que c'est plus simple de partir d'un déplacement en fonction de (u,v), puis de faire la transformation de vue.

    A+

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Par défaut
    Je réfléchi a ta réponse depuis ce matin, Kangourou, mais il me manque des éléments de logique. Les maths c est pas mon fort (le calcul va être pénible).

    Donc:
    1 - je me trouve sur une position du Ruban qui va être définie par u et v
    2 - je suis debout sur le ruban c'est à dire porté par un vecteur normal au plan tangent (un grand moment de solitude pour le calcul)
    3 - je peux regarder dans toutes les directions sans bouger (on va dire toutes les directions qui sont dans le plan tangent dont tu parlais)
    4 - j'avance dans la direction ou je regarde, c'est à dire que je vais modifier la position du corps donc les valeurs u et v.

    Mais se pose les questions:
    - comment calculer les nouvelles valeurs de u et v en fonction de la direction dans laquelle je marche sur le ruban (je marche pas uniquement dans le sens de la longueur mais aussi de la largeur).
    - comment également calculer u et v pour que a chaque pas je fasse la même distance linéaire sur le ruban.

    Une autre approche: je connais la largeur et la longueur de mon ruban, est ce qu'il n'est pas plus pratique (et faisable) de faire comme si je marchais sur le ruban coupé et posé à plat, pour trouver les nouvelles coordonnées x,y, puis faire une transformation mathématique pour arriver aux coordonnées x,y,z du ruban de Möbius (puisque à la base c'est un ruban auquel on a attache les deux bout en faisant un demi tour) ?

  4. #4
    Membre émérite
    Avatar de Kangourou
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Par défaut
    salut,

    et désolé pour le délai.
    Pour la première question, ca ne me parait pas trop un problème en fait. Ca se ramène à un problème de déplacement dans le plan (enfin, dans une bande...). Je suppose que le u est dans la direction de la bande (la longueur), et que le v est dans la direction perpendiculaire (la largeur). Plusieurs cas :
    • si tu vas dans la direction de la longueur, il te suffit de modifier u
    • si tu vas dans la direction perpendiculaire, c'est v qui va être modifié
    • si le déplacement se fait dans une direction "theta" (on va compter theta à partir de la direction de u) et avec une distance de d, alors le déplacement selon u est de d*cos(theta), et le déplacement selon v est de d*sin(theta).

    Dans tous les cas, on peut ensuite recalculer les coordonnées du point, et de la normale.

    Je crois que j'ai un peu répondu à la deuxième question aussi en fait ? Et d'ailleurs, j'ai suivi l'approche que tu proposais, qui est la bonne à mon avis. Donc normalement tu dois être sur la bonne voie...

    A+

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Alec6 Voir le message
    - comment calculer les nouvelles valeurs de u et v en fonction de la direction dans laquelle je marche sur le ruban (je marche pas uniquement dans le sens de la longueur mais aussi de la largeur).
    euh.. Si tu as les équations, ça se règle, non ?


    Citation Envoyé par Alec6 Voir le message
    - comment également calculer u et v pour que a chaque pas je fasse la même distance linéaire sur le ruban.
    idem..


    Citation Envoyé par Alec6 Voir le message
    Une autre approche: je connais la largeur et la longueur de mon ruban, est ce qu'il n'est pas plus pratique (et faisable) de faire comme si je marchais sur le ruban coupé et posé à plat, pour trouver les nouvelles coordonnées x,y, puis faire une transformation mathématique pour arriver aux coordonnées x,y,z du ruban de Möbius (puisque à la base c'est un ruban auquel on a attache les deux bout en faisant un demi tour) ?
    Sans doute, oui

Discussions similaires

  1. les boutons de deplacements dans les formullaire
    Par adil_math2006 dans le forum Access
    Réponses: 2
    Dernier message: 26/05/2006, 21h44
  2. Représentation d'une sphère dans un plan...
    Par progfou dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 20/01/2006, 17h05
  3. [C#][debutant]deplacement dans un datagrid
    Par christophebmx dans le forum Windows Forms
    Réponses: 2
    Dernier message: 12/11/2005, 14h48
  4. Se deplacer dans le contenu d un combobox
    Par gilles641 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 17/08/2005, 08h02
  5. Savoir si un point est inclus dans un polygone quelconque
    Par SuperBIBI dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 02/08/2005, 19h02

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