Calcul distance cartésien

Bonjour, voici ma problématique

Je suis capable d'appliquer la formule pour carlculer la distance d'un point A<==>B

Le plan cartésion va de 0/0 a 749/749

Mon probleme est que le plan cartésien agit comme les plan géographique. Je ne sais pas comment faire pour que si je dépasse le 749 la distance soit pas seulement calculer dans un sens. car la distance devien alors erroné et me donne une distance plus grande que prévu.

Si quelqu'un a une solution a m'apporter pour faire mon calcul dans excel pour que la formule fonctionne

racine carré de (x2-x1)carré + (Y2-Y1)carré

= RACINE ( (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) )

Bonsoir,

En utilisant les fonctions de trigo d'Excel :

=RACINE(SOMME.XMY2(A1:A2;B1:B2))

cette formule c'est bon je suis capable de la faire elle marche tres bien mon probleme est lorsqu'une 2 coordonnée sont par exemple a 10, 0 et l'autre a 749, 0

vue que tous ceci est pris comme une carte géographique les point 749 et 0 sont voisin, donc la formule ne me permet pas de le voir ainsi. sa me donne le calcul dans un seul sens. Donc la distance est éronné c'est comme si je fesait le tour de la terre pour revenir deriere moi au lieu de reculer

je veux trouver un moyen de pouvoir avoir la distence exact en tenant compte de ce facteur.

Bonsoir

Pas sur de tout comprendre

Appliques un mod sur tes coordonnées

Dans la formule de Jmd

= RACINE ( (MOD(x2;749)-MOD(x1;749))*(MOD(x2;749)-MOD(x1;749)) + (MOD(y2;749)-MOD(y1;749))*(MOD(y2;749)-MOD(y1;749)) )

A essayer

un "plan" qui serait fermé, comme une représentation plane de notre Terre ?

à essayer :

prendre la plus petite des 3 valeurs (fonction MIN dans Excel)

(x2-x1) * (x2-x1)

(x2-x1-749) * (x2-x1-749)

(x2-x1+749) *(x2-x1+749)

pareil pour les y

pas sûr que ça fonctionne

bgrvfe

Bonjour jesskyl, Banzai64, Jmd, le forum

Au risque d'être désagréable La formule de Banzai ne fonctionne pas avec certaines entrées pour x1, y1, x2, y2 on trouve des résultats > 375*racine(2) (=530,33) ce qui est impossible si on considère que le nord communique avec le sud et l'ouest avec l'est. (ex : x1=484, y1=38, x2=312, y2=683 donne 670).

La solution de JMD est bonne, il suffisait de remplacer 749 par 750 et d'extrapoler pour avoir une formule du type racine((minimum(a1;a2;a3))^2+minimum(b1;b2;b3))^2)

Je propose une autre approche : Soit A(x1,y1), B(x2,y2) et L (ici 750) la largeur et hauteur de la carte)

Considérer que A devient le centre du repère cartésien, on a alors A(0,0) et B(x'2,y'2) avec x'2=x2-x1 et y'2=y2-y1

Ensuite on s'intéresse aux valeurs de x'2 et y'2. Soit i représentant tour à tour l'un et l'autre dans la suite.

Alors si Abs(i) <= L/2 ne rien faire, si Abs(i) > 375 alors on substitue à i la valeur : i(L/Abs(i)-1)

Pour retrouver ce résultat : de 400 on doit arriver à 350, de -450 on doit arriver à -300, de 675 on doit arriver à 75 etc..

Pour obtenir finalement avec retour des valeurs initiales (je ne garantie pas qu'il n'y ai pas de fautes de frappes ou () mal placées ):

d=racine((si((x2-x1)>L/2;(x2-x1)*(L/abs(x2-x1)-1);(x2-x1)))^2+(si((y2-y1)>L/2;(y2-y1)*(L/abs(y2-y1)-1);(y2-y1)))^2)

Par contre la formule Excel qui suit est correcte avec x1 en B1, y2 en B2, x2 en D1, y2 en D2, L en F1

=RACINE((SI(ABS(D1-B1)>F1/2;(D1-B1)*F1/ABS(D1-B1)-(D1-B1);D1-B1))^2+(SI(ABS(D2-B2)>F1/2;(D2-B2)*F1/ABS(D2-B2)-(D2-B2);D2-B2))^2)

Cordialement

Jules237

Bonsoir

Au risque d'être désagréable

En aucun cas et merci de ta franchise

Bonne soirée

Bonsoir,

J'ai un doute sur le message de jesskyl. Est-ce réellement un plan cartésien ?

Lorsqu'il dit :

les point 749 et 0 sont voisin

Sur un plan cartésien les voisins serait plutôt -749 et 749...

Pour en revenir aux formules, il suffit de remplacer MOD(...;749) par MOD(...;375) dans la formule de Banzai64 pour avoir le même résultat que Jules237.

A+

Pour vous donner une meilleur aperçus de la représentation graphique des coordonnées, Espérant que ceci va aider un peu plus a comprendre mon dilemme.

pour contourner le problème soulevé par OOoiste, il suffit de faire un décalage de coordonnées

U = X - 375

V = y - 375

et tout le système en U/V se retrouve centré en zéro.

est-ce que ça fait avancer le schmilblick ?

bgrvfe

Ok j'ai solutionner en regardant tous ce que vous avez dit. Resteras juste a voir si il est possible dA'voir une formule plus allègé

Raisonnement :

2 point dont A et B

on sait que (X2-X1) ainsi que (y2-y1) ne doit pas excéder 375.

AC = X2-X1

BC = Y2-Y1

si AC > 375 alors (750 - AC) au Carré sinon (AC) au carré = Dx

si BC > 375 alors (750 - BC)2 au carré sinon (AC) au carré = Dy

Reste juste a tout introduire dans la formule pour la distance soit racine carré de Dx + Dy

Suffit alors d'arrondir le tout pour avoir un entier.

X1 = B5 ; X2 = D5

Y1 = C5 ; Y2 = E5

ARRONDI(RACINE(SOMME.CARRES(SI(ABS(D5-B5)>375;750-ABS(D5-B5);ABS(D5-B5));SI(ABS(E5-C5)>375;750-ABS(E5-C5);ABS(E5-C5))));0)

Faite moi savoir si on peut avoir encore plus simple et que sa fonctionne bien.

Bonjour,

J'aime beaucoup le "j'ai solutionner". Puis je rappeler que JMD & moi avons donné 2 solutions le 25 février dont les résultats ne diffèrent en rien de la formule d'aujourd'hui? Mis à part l'arrondi dont il n'avait pas été question. Testé sur 4999 tirages aléatoires pour x1,y1, x2, et y2. Fichier joint avec seulement 1000 tests.

Cordialement

Jules

34plan.zip (47.03 Ko)
Rechercher des sujets similaires à "calcul distance cartesien"