42. Distancia entre puntos

La distancia entre dos puntos mide qué tan separados están en el plano. Se calcula combinando diferencias horizontales, diferencias verticales y raíz cuadrada.

42.1 Introducción

En el plano cartesiano, un punto se representa como (x, y). Para calcular la distancia entre dos puntos, necesitamos comparar sus coordenadas.

Punto A: (x1, y1)
Punto B: (x2, y2)

La distancia indica la longitud del segmento que une ambos puntos.

42.2 Fórmula de distancia

La fórmula de distancia entre dos puntos es:

distancia = √((x2 - x1)² + (y2 - y1)²)

Esta fórmula surge del teorema de Pitágoras.

42.3 Diferencia horizontal y vertical

Entre dos puntos hay una diferencia horizontal y una diferencia vertical.

dx = x2 - x1
dy = y2 - y1
distancia = √(dx² + dy²)

Usar dx y dy hace la fórmula más clara.

42.4 Ejemplo básico

Calculemos la distancia entre A(0, 0) y B(3, 4).

dx = 3 - 0 = 3
dy = 4 - 0 = 4
distancia = √(3² + 4²)
distancia = √(9 + 16)
distancia = √25 = 5

42.5 Distancia en JavaScript

const x1 = 0;
const y1 = 0;
const x2 = 3;
const y2 = 4;

const dx = x2 - x1;
const dy = y2 - y1;
const distancia = Math.sqrt(dx ** 2 + dy ** 2);

console.log(distancia);

42.6 Función reutilizable

En programación conviene convertir la fórmula en una función.

function distancia(p1, p2) {
  const dx = p2.x - p1.x;
  const dy = p2.y - p1.y;

  return Math.sqrt(dx ** 2 + dy ** 2);
}

console.log(distancia({ x: 0, y: 0 }, { x: 3, y: 4 }));

42.7 Distancia horizontal

Si dos puntos tienen la misma coordenada y, la distancia es solo la diferencia horizontal.

A(2, 5), B(9, 5)
distancia = 9 - 2 = 7

La fórmula general también da el mismo resultado porque dy = 0.

42.8 Distancia vertical

Si dos puntos tienen la misma coordenada x, la distancia es la diferencia vertical.

A(4, 1), B(4, 8)
distancia = 8 - 1 = 7

En este caso dx = 0.

42.9 Distancia siempre no negativa

La distancia nunca puede ser negativa. Aunque dx o dy sean negativos, al elevarlos al cuadrado se vuelven positivos.

A(5, 5), B(2, 1)
dx = 2 - 5 = -3
dy = 1 - 5 = -4
distancia = √((-3)² + (-4)²) = 5

42.10 Distancia al cuadrado

En algunos programas no necesitamos la distancia exacta, sino comparar distancias. En ese caso podemos evitar la raíz cuadrada.

function distanciaCuadrada(p1, p2) {
  const dx = p2.x - p1.x;
  const dy = p2.y - p1.y;

  return dx ** 2 + dy ** 2;
}

console.log(distanciaCuadrada({ x: 0, y: 0 }, { x: 3, y: 4 }));

La distancia cuadrada evita calcular Math.sqrt, útil en comparaciones frecuentes.

42.11 Aplicación en videojuegos

La distancia permite detectar si un personaje está cerca de un objeto.

function estaCerca(p1, p2, radio) {
  const dx = p2.x - p1.x;
  const dy = p2.y - p1.y;

  return Math.sqrt(dx ** 2 + dy ** 2) <= radio;
}

const jugador = { x: 10, y: 20 };
const moneda = { x: 13, y: 24 };

console.log(estaCerca(jugador, moneda, 5));

42.12 Aplicación en datos y mapas

La distancia entre puntos también se usa en gráficos, mapas, clustering, ciencia de datos y simulaciones. En mapas reales se requieren fórmulas más específicas por la curvatura de la Tierra, pero la idea de medir separación entre coordenadas sigue siendo central.

42.13 Errores comunes

  • Olvidar elevar al cuadrado las diferencias.
  • Restar coordenadas cruzadas, como x con y.
  • Olvidar la raíz cuadrada cuando se necesita la distancia real.
  • Creer que la distancia puede ser negativa.
  • No distinguir distancia real de distancia cuadrada.
Correcto: √((x2 - x1)² + (y2 - y1)²)

42.14 Qué debes recordar de este tema

  • La distancia mide separación entre dos puntos.
  • La fórmula usa diferencias horizontales y verticales.
  • La distancia siempre es mayor o igual que cero.
  • En JavaScript usamos Math.sqrt y **.
  • Para comparar distancias, a veces alcanza con usar distancia cuadrada.
  • La fórmula se aplica en gráficos, videojuegos, simulaciones y análisis de datos.

42.15 Conclusión

La distancia entre puntos combina coordenadas, potencias y radicales. Es una fórmula muy utilizada porque permite medir separación entre posiciones en el plano.

En el próximo tema veremos punto medio de un segmento, otra operación fundamental con coordenadas.