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 :

Calcul d'une distance dans un grille hexagonal avec un repère orthonromé


Sujet :

Mathématiques

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Calcul d'une distance dans un grille hexagonal avec un repère orthonromé
    Bonjour je code actuellement un programme dans lequel les "élement" evolue sur une grille hexagonale (voir pdf)

    Je voudrait savoir si vous avez des idée pour calculer la distance entre deux case ... (nécéssaire au déplacement)

    Mes élément vont aussi voir. Dans le pdf un élément placé sur la case jaune et qui a une vision de 3 devra voir les case de l'anneaux vert rose et bleu
    Là encore je sèche pour avoir les coordonnée des case des anneaux poru un rayon X

    Afin de facilité l'affaire j'ai créer des fonctions qui permettent d'accéder aux éléments par Nord NordEst SudEst Sud SudOuest NordOuest et de faire suivant pour passer de l'un à l'autre en tournant dans le sens des aiguilles d'une montre.

    Merci d'avance pour vos suggestion.
    Images attachées Images attachées

  2. #2
    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 : 51
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Arrêtez d'utiliser des repères orthogonaux pour des hexmap. Ca ne marche pas. Utilisez le repère D6 (= les droites à -60° et +60°)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // passage de ton système dans D6 (sauf erreur de ma part)
    xd6 = (x+y)/2
    yd6 = (y-x)/2
    La formule de distance entre 2 hexagones A et B dans D6 est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dx = B.x-A.x
    dy = B.y-A.y
     
    dist = ( abs(dx) + abs(dy) + abs(dx-dy) )/2

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Désolé je n'ai pas le choix je suis étudiant et c'est le sujet qui veut ça

    C'est le seul truc ou je ne suis pas libre : la carte

  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 : 51
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Dans ce cas utilise la formule de passage que je t'ai donné. Le couple (x,y) représente les coordonnées du centre de l'hexagone dans ton repère, et le couple (xd6,yd6) représente les coordonnées de l'hexagone dans D6

    Par exemple:

    - hexagone jaune :
    (x,y)=(4,8) ---> (dx6,yd6)=((8+4)/2,(8-4)/2)=(6,2)

    - hexagone bleu bas :
    (x,y)=(4,2) ---> (dx6,yd6)=((4+2)/2,(4-2)/2)=(3,1)

    - distance entre les 2 hexagones dans D6 :
    dx=3-6=-3
    dy=1-2=-1
    dist=( |-3|+|-1|+|-1+3| )/2 = (3+1+2)/2 = 3

  5. #5
    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 : 45
    Localisation : Etats-Unis

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

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

    si cela peut t'aider

Discussions similaires

  1. Calculer une distance dans une image
    Par yomas64 dans le forum jQuery
    Réponses: 3
    Dernier message: 08/10/2014, 01h07
  2. Calcul de la distance dans un repère hexagonal non orthonormé.
    Par vatelien69 dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 16/09/2012, 18h07
  3. Calcul de la distance dans une image binaire
    Par tawada dans le forum Images
    Réponses: 1
    Dernier message: 06/07/2010, 10h27
  4. [VBA] Calcul d'une durée dans un formulaire
    Par Platon93 dans le forum Access
    Réponses: 2
    Dernier message: 16/12/2006, 16h53
  5. Calcul d'une somme dans Excel ??
    Par LaVaZza dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 13/06/2006, 22h55

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