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

Algorithmes et structures de données Discussion :

Déplacement selon une courbe, sans chevauchement!


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2004
    Messages : 574
    Par défaut Déplacement selon une courbe, sans chevauchement!
    Bonjour !

    J'ai une petite question... pour me lancer...

    Est ce qu'il existe déjà un moyen de faire déplacer des objets selon des courbes (ou autres trajectoires) qui permettrait de ne pas faire chevaucher ces objets?

    Exemple:
    Un objet A à la position a1.
    Un objet B à la position b1.

    Chacun de ces objets doit se retrouver à la position respective, a2, b2.
    Comment faire pour qu'il se déplace sans de chevaucher... Sachant que ce cas est très simple (2 objets seulement), mais à l'avenir, il pourrait en avoir beaucoup plus...

    En attendant je cherche un moyen...
    Je suis ouverte à toute piste

    Merci à vous et bonne journée !

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    a quel point souhaites tu être précise ?

    Une petite solution vraiment bète, serait de calculer les barycentres des objets (b1 et b2), puis la distance maximum entre le contour et le barycentre (r1 et r2).
    Ensuite, lorsque tu déplaces les objets, ils sont centrés sur leur barycentre.
    Donc si la distance entre tes objets est inférieure à r1 + r2, c'est qu'il y a collision.
    Donc tu t'arranges pour que les objets soient au moins à une distance minimum r1+r2+Epsilon, avec Epsilon > 0 ta distance de sécurité.

    D'accord c'est moche, mais ça fonctionne. Tout dépend à quel point tu veux être précise

    Bonne continuation...
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2004
    Messages : 574
    Par défaut
    Mais par exemple :

    _______________________________
    ...................................|............|
    ...................................|............|
    ....................................|.....2.....|
    ...................................|............|
    ...................................|............|
    ...................................|________|
    ................1..................|............|
    ...................................|............|
    ....................................|.....3.....|
    ...................................|............|
    ...................................|............|
    _______________________|_______|
    ................................................|
    ......................Zone vide .............|
    ................................................|
    _______________________________

    Si 1 reste à la meme place mais retrecit... et que 2 doit passer dans la zone vide, et que 3 doit monter vers la case 2...
    C'est impossible de ne pas les faire se chevaucher à un moment?

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par zuzuu Voir le message
    Si 1 reste à la meme place mais retrecit... et que 2 doit passer dans la zone vide, et que 3 doit monter vers la case 2...
    C'est impossible de ne pas les faire se chevaucher à un moment?
    ??

    Résoudre le système d'(in)équations parametriques me semble un brin complexe. A part utiliser de la programmation dynamique, je ne vois pas de solution a ton problème...
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2004
    Messages : 574
    Par défaut
    Quand tu parles de programmation dynamique tu sous entends, déplacer d'abord un élément... puis un autre...
    Cela ne me dérange pas, mais forcément dans cet exemple, l'objet 2 est bien obligé de passer par dessus les autres?

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par zuzuu Voir le message
    Quand tu parles de programmation dynamique tu sous entends, déplacer d'abord un élément... puis un autre...
    Oui, c'est ca...

    Cela ne me dérange pas, mais forcément dans cet exemple, l'objet 2 est bien obligé de passer par dessus les autres?
    Ca dépend de la taille de l'objet 1 après son retrecissement. Il peut eventuellement passer entre l'objet 1 et l'objet 3 s'il y a assez de place. Sinon: pas de solution.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

Discussions similaires

  1. Déplacement d'une fenêtre sans bordure
    Par Saintux dans le forum wxPython
    Réponses: 4
    Dernier message: 13/06/2009, 07h25
  2. Déplacement d'une Form sans bordure ?
    Par arnofly dans le forum Windows Forms
    Réponses: 5
    Dernier message: 03/06/2009, 01h11
  3. déplacement selon une trajectoire sinusoïdale ?
    Par WhiteTigerZ dans le forum Flash
    Réponses: 1
    Dernier message: 14/10/2007, 14h42
  4. Déplacement dans une page sans recharge
    Par EpOnYmE187 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/08/2005, 16h17
  5. [TForm] Problème lors du déplacement d'une fenêtre sans barre de titre
    Par Benjamin GAGNEUX dans le forum Composants VCL
    Réponses: 3
    Dernier message: 14/10/2004, 17h10

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