Calculer la distance entre les deux x/y de coordonnées?
Je voudrais calculer la distance entre deux x/y de coordonnées sur la surface de un tore. Donc, c'est une réaction normale de la grille qui a la propriété que ses coins et les côtés sont "connectés". Par exemple, sur une grille de 500x500, le point de coordonnées (499, 499) est adjacente à (0, 0) et de la distance entre par exemple (0,0) et (0,495) devrait alors être de 5.
Est-il un bon moyen mathématique de calcul de cette?
- Oui, il est. 🙂
- Êtes-vous en choisissant toujours le chemin le plus court ou êtes-vous en spécifiant une direction? En d'autres termes, pourquoi la distance est de 5 au lieu de 495, ou pourrait-il être, selon la façon dont vous vouliez tracer la ligne?
- Oui, il est à propos de la distance la plus courte...
Vous devez vous connecter pour publier un commentaire.
Si vous êtes à la recherche pour la distance Euclidienne sur les deux dimensions de la surface d'un tore, j'imagine.
où
w
eth
sont la largeur (x) et la hauteur (y) de la grille, respectivement.min(|x1 - x2|, w - |x1 - x2|) + min(|y1 - y2|, h - |y1-y2|)
Si votre grille est rebouclée sur les bords, il y aura quatre distances entre chaque coordonnée (2 dimensions). Je suis en supposant que vous voulez connaître la distance la plus courte.
Nous allons utiliser une grille de taille inférieure, les chiffres sont un peu plus faciles à gérer. Dire de la grille de 10x10. Nous allons également utiliser une seule dimension pour des raisons de simplicité (dans ce cas, il y a juste deux distances), de même que vous avez dans votre exemple. Dire que nous avons les points de 0,2 et 0,6. Les deux distances entre les points sont d_1 = (6-2) = 4 et d_2 = (10-6) + 2 = 6, donc dans ce cas la distance la plus courte serait d_1.
En général, vous pouvez effectuer les opérations suivantes:
Puis en utilisant le théorème de Pythagore, la distance la plus courte entre deux points est la racine carrée de la somme des carrés des distances les plus courtes dans chaque direction. Vous pouvez calculer les trois autres distances en calculant le théorème de Pythagore à l'aide les autres combinaisons de distances dans chaque direction.
Comme une autre affiche a dit, la forme lorsque vous enroulez ronde sur les bords (pour les 2 dimensions de la grille) est un tore et je pense que la méthode que j'ai utilisé ci-dessus est la même que l'équation donnée, mais a l'avantage qu'elle peut être étendue à n-dimensions, si nécessaire. Malheureusement il n'y a pas vraiment facile de visualisation de plus de 2 dimensions.
pour les points (x1,y1) et (x2,y2), vous devez calculer 4 distances:
puis prendre le minimum de ceux-ci.