Si su cuadrícula se ajusta en los bordes, habrá cuatro distancias entre cada coordenada (para 2 dimensiones). Supongo que quieres saber la distancia más corta.
Usemos una grilla más pequeña, los números son un poco más manejables. Supongamos que la cuadrícula es 10x10. Usemos también una sola dimensión para simplificar (en cuyo caso solo habrá dos distancias), tal como lo hizo en su ejemplo. Digamos que tenemos los puntos 0,2 y 0,6. Las dos distancias entre los puntos son d_1 = (6-2) = 4 y d_2 = (10-6) + 2 = 6, por lo que en este caso la distancia más corta sería d_1.
En general, se puede hacer lo siguiente:
- Para cada coordenada:
- restar el más pequeño a partir del número más grande
- si el resultado es mayor que la mitad de la anchura de la rejilla la distancia más corta en esta coordenada es el ancho de la cuadrícula menos el resultado
- si el resultado es menos de la mitad del ancho de la cuadrícula, la distancia más corta en esta coordenada es el resultado
Luego, utilizando el teorema de Pitágoras, la distancia más corta entre dos puntos es la raíz cuadrada de la suma de los cuadrados de las distancias más cortas en cada dirección. Puede calcular las otras tres distancias calculando el teorema de Pitágoras usando las otras combinaciones de distancias en cada dirección.
Como ha dicho otro afiche, la forma que se forma cuando se envuelve alrededor de los bordes (para una rejilla bidimensional) es un toro y creo que el método que he usado anteriormente es el mismo que la ecuación dada pero tiene ventaja de que se puede extender a n dimensiones si es necesario. Lamentablemente, no hay una visualización fácil por encima de 2 dimensiones.
Sí, la hay. :-) –
¿Siempre elige la distancia más corta o está especificando una dirección? En otras palabras, ¿por qué la distancia sería de 5 en lugar de 495, o podría ser cualquiera, dependiendo de cómo se quería trazar la línea? –
Sí, se trata de la distancia más corta ... – Ropstah