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

C# Discussion :

Théorème des axes séparateurs


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 72
    Par défaut Théorème des axes séparateurs
    Bonjour,

    je viens de mettre en place ce théorème avec XNA, les collisions et réponses se passent parfaitement bien de gauche à droite mais de droite à gauche mon sprite touche le sommet de la tile (sol plat) de temps à autres et du coup fait demi-tour.

    Je ne sais pas trop si c'est à cause de :

    1-soit il y a un soucis avec ma gravité, du coup mon vecteur de pénétration détecte le sommet, mais alors pourquoi que de droite à gauche ?

    2-Soit un soucis avec la position actuelle et la position précédente lorsque je calcule ma vélocité et que celle-ci devient négative

    3-Soit il est trop tard et je suis fatigué, et que c'est ni la 1 ni la 2.

    Si quelqu'un a réussi à mettre en place ce théorème et qu'il a eu ou pas ce soucis, je l'en remercie d'avance.

    Edit :désolé pour ne pas avoir mis de code, 80 vu, no réponses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    #region Tile_Full
                 if (NoType ==2 )
                 {
                     float l = (float)Math.Sqrt(x * x + y * y);
                     //Test collision sur les bords de la tile
                     float dx = (txw) - (position.X - xw);
                     if (0 < dx)
                     {
                         UltimeCollision(x, 0, x/l, 0);
                     }
                     else
                     {
                         dx = (position.X + xw) - txw;
     
     
                         if (0 < dx)
                         {                         
                              UltimeCollision(x, 0, x/l, 0);
     
                         }
     
                     float dy = (tyw) - (position.Y - yw);
                     if (0 < dy)
                     {
                         UltimeCollision(0, y, 0, y/l);
                     }
                     else
                     {
                         dy = (position.Y + yw) - tyw;
     
                         if (0 < dy)
                         {
                             UltimeCollision(0, y, 0, y/l);
                         }
                     }
    }
    Le problème se résout si je mets (x/l) à 0, c'est à dire plus du tout de rebond sur l'axe X, mais alors je reste "dans" la tile si celle-ci forme un mur,et il me faut appuyer longuement pour que mon vecteur de pénétration soit inférieur à ma normale vélocité.

    En espérant avoir été assez clair sur le problème.
    merci d'avance pour vos remarques.

  2. #2
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 72
    Par défaut Résolution temporaire
    Merci quand même d'avoir jeté un coup d'oeil

    Je vais solutionner le problème pour pouvoir avancer, cela 3 jours maintenant que je cherche et que je fais des essais, je vais créer une nouvelle liste de rectangle pour séparer les sols et murs malgré le fait que se soit la même tile.

    Un peu de bidouillage pour un autodidacte cela ne fait pas de mal

    Je ne marque pas résolu car je contourne le problème, si quelqu'un peu m'aider entre temps se serait sympa.Moi je ne vois plus et je me perd dans mes idées.

    Merci d'avance

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 72
    Par défaut un peu d'aide svp
    Bonjour,

    Devais-je mettre ma question dans le forum mathématiques?

    Parce que avec toutes mes tentatives cela ne fonctionne plus comme au début et je me suis vraiment perdu, maintenant même avec un rebond de zéro je rebondi de gauche à droite et pas de droite à gauche, j'aurais mieux fais de me contenter de ce que j'avais avant

    Merci d'avance pour vos réponses.

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

Discussions similaires

  1. Gestion des axes d'un joystick et du clavier
    Par Yoann45 dans le forum SDL
    Réponses: 3
    Dernier message: 23/01/2007, 22h26
  2. vba Graph Excel (valeur des axes)
    Par maxtin dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 20/12/2006, 21h50
  3. Affectation de la valeur min et max des axes d'un graphe
    Par marsupilami34 dans le forum Access
    Réponses: 2
    Dernier message: 04/09/2006, 14h55
  4. definition des axes avec gnuplot
    Par willem77 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 05/04/2006, 15h23
  5. [VB6] Modification des axes d'un composant Chart
    Par HPJ dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 21/05/2003, 08h33

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