Calcul de distance entre deux points sur une matrice de 7 [p

Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
Whisper
Messages: 3
Enregistré le: 27 Mar 2008, 21:23

Calcul de distance entre deux points sur une matrice de 7 [p

par Whisper » 27 Mar 2008, 22:57

Bonjour à tous,

Avant tout je précise que ma question porte sur les matrices et les distance matricielles.

Je m'appelle Hassan je suis bachelier en génie chimique (bien que mon problème se situe au niveau informatique)

Je travail actuellement sur un projet de jeu par navigateur.
Un jeu de conquêtes de territoires rapides à la troisième personne
Et où il faut se déplacer en véhicule de guerre à travers une carte pour annexer les territoires.

La configuration de ma carte s'apparente à une matrice de 7 sous forme de grille et avec un totale de 49 cases. La voici en image pour mieux comprendre :

Image


Lorsqu'un joueur part en conquête aux commandes de son bolide il doit entrer le numéro de la case de destination pour connaitre le temps de trajet.

Mon but et de calculer la distance entre le point de départ et le point d'arrivée pour ensuite évaluer le temps de trajet et l'afficher à l'écran du joueur.

Alors j'ai déjà beaucoup cogiter sur un calcul qui ne fonctionne qu'en suivant une indexation de coordonnées du genre A1 B2 C5 etc...

Or je cherche à calculer cette distance entre les points uniquement à partir des deux numéros de cases.

En me concertant avec mes testeurs il était convenu que le voyage d'un bout à l'autre de la carte devait durer 30min pour s'en tenir au règles du jeu, mais ce type de restrictions n'importe plus.

Je remercie celles et ceux qui sauront m'éclairer.

Whisper



Huppasacee
Membre Complexe
Messages: 2635
Enregistré le: 23 Jan 2008, 00:05

par Huppasacee » 28 Mar 2008, 01:16

Bonsoir

on peut dire que la coordonnée verticale d'une case est égale à la partie entière de la division par 13 du nombre porté par la case. Appelons a E (x/13)

Et la coordonnée horizontale est

x - 13*E(x/13)
on peut donc calculer les coordonnées de chaque case
exemple : 07 : ( 0;7) , 46 (3;7 ) et 75 (5;10)

la distance entre la case 46 et la case 75 se calcule alors :

d² ( 46,75) = (5-10)² + (10-7)²
c'est l'application du théorème de Pythagore

ensuite on prend la racine carrée du nombre trouvé

Est ce que tu demandais ?

Whisper
Messages: 3
Enregistré le: 27 Mar 2008, 21:23

par Whisper » 28 Mar 2008, 17:48

Bonjour Huppasacee,

Merci oui c'est à peu près ça

j'ai cogiter entre temps et j'ai trouver à peu pres le meme calcul (je travail en php, voici mon code) :

[PHP]
[/PHP]


Pour 46 à 75 ca marche , mais la ou ça devient incohérent (je parle ou point du vue du jeu) c'est que pour aller d'un bout à l'autre de la carte on met le meme temps que pour aller de case en case c'est à dire 4 (unité de distance)

par example pour 46 à 75 je trouve 6 , mais pour 40 à 52 je ne trouve que 4
est traverser la carte en si peu de temps comparé à la diagonale est quelque peu troublant pour les testeurs.


Edit : j'ai calculer pour toutes les longueurs et ce n'est pas normal que la distance s'incrémente alors que l'on traverse la carte dans le meme sens (de gauche à doite)

encore un truc que je comprend pas , pourquoi lorsque je part de 2 pour aller à 1 je met 2 et de 2 à 3 je met 4 ?

Whisper
Messages: 3
Enregistré le: 27 Mar 2008, 21:23

par Whisper » 29 Mar 2008, 12:27

Up ! je cogite toujours mais je ne trouve pas d'autre solution que faire une matrice de 10 en démarrant de zero.

 

Retourner vers ✎✎ Lycée

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 48 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite