43. Punto medio de un segmento

El punto medio divide un segmento en dos partes iguales. Se calcula promediando las coordenadas de sus extremos.

43.1 Introducción

Si tenemos dos puntos en el plano, el punto medio es el punto que queda exactamente entre ellos.

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

El punto medio se obtiene promediando las coordenadas x y las coordenadas y.

43.2 Fórmula del punto medio

La fórmula es:

M = ((x1 + x2) / 2, (y1 + y2) / 2)

El primer valor es el promedio de las coordenadas horizontales. El segundo valor es el promedio de las coordenadas verticales.

43.3 Ejemplo básico

Calculemos el punto medio entre A(2, 4) y B(8, 10).

Mx = (2 + 8) / 2 = 5
My = (4 + 10) / 2 = 7
M = (5, 7)

43.4 Punto medio en JavaScript

const puntoA = { x: 2, y: 4 };
const puntoB = { x: 8, y: 10 };

const medio = {
  x: (puntoA.x + puntoB.x) / 2,
  y: (puntoA.y + puntoB.y) / 2
};

console.log(medio);

43.5 Función reutilizable

Podemos crear una función para calcular el punto medio de cualquier segmento.

function puntoMedio(a, b) {
  return {
    x: (a.x + b.x) / 2,
    y: (a.y + b.y) / 2
  };
}

console.log(puntoMedio({ x: 2, y: 4 }, { x: 8, y: 10 }));

43.6 Coordenadas negativas

La fórmula también funciona con coordenadas negativas.

A(-4, 6)
B(2, -2)
Mx = (-4 + 2) / 2 = -1
My = (6 + -2) / 2 = 2
M = (-1, 2)

43.7 Verificar con distancias

El punto medio debe estar a la misma distancia de ambos extremos.

function puntoMedio(a, b) {
  return {
    x: (a.x + b.x) / 2,
    y: (a.y + b.y) / 2
  };
}

function distancia(a, b) {
  const dx = b.x - a.x;
  const dy = b.y - a.y;
  return Math.sqrt(dx ** 2 + dy ** 2);
}

const a = { x: 2, y: 4 };
const b = { x: 8, y: 10 };
const m = puntoMedio(a, b);

console.log(distancia(a, m));
console.log(distancia(m, b));

43.8 Punto medio horizontal

Si los puntos tienen la misma coordenada y, el punto medio queda sobre una línea horizontal.

A(2, 5), B(10, 5)
M = (6, 5)

Solo cambia la coordenada x.

43.9 Punto medio vertical

Si los puntos tienen la misma coordenada x, el punto medio queda sobre una línea vertical.

A(3, 2), B(3, 12)
M = (3, 7)

Solo cambia la coordenada y.

43.10 Promedio de posiciones

El punto medio puede interpretarse como el promedio de dos posiciones.

posiciónMedia = (posiciónA + posiciónB) / 2

Esta idea aparece en animaciones, gráficos, geometría y diseño de interfaces.

43.11 Aplicación en videojuegos

Podemos usar el punto medio para ubicar una cámara entre dos personajes.

function puntoMedio(a, b) {
  return {
    x: (a.x + b.x) / 2,
    y: (a.y + b.y) / 2
  };
}

const jugador1 = { x: 100, y: 50 };
const jugador2 = { x: 300, y: 150 };

const camara = puntoMedio(jugador1, jugador2);

console.log(camara);

43.12 Aplicación en interfaces

En una interfaz gráfica, el punto medio puede servir para ubicar una etiqueta, una línea de conexión o un elemento centrado entre otros dos.

function puntoMedio(a, b) {
  return {
    x: (a.x + b.x) / 2,
    y: (a.y + b.y) / 2
  };
}

const botonA = { x: 40, y: 20 };
const botonB = { x: 200, y: 20 };

const posicionEtiqueta = puntoMedio(botonA, botonB);

console.log(posicionEtiqueta);

43.13 Errores comunes

  • Sumar coordenadas cruzadas, como x con y.
  • Olvidar dividir por 2.
  • Calcular solo la coordenada x y olvidar la coordenada y.
  • Confundir punto medio con distancia entre puntos.
  • No conservar el orden del par (x, y).
M = ((x1 + x2) / 2, (y1 + y2) / 2)

43.14 Qué debes recordar de este tema

  • El punto medio divide un segmento en dos partes iguales.
  • Se calcula promediando las coordenadas x y las coordenadas y.
  • La fórmula funciona con coordenadas positivas y negativas.
  • El punto medio está a la misma distancia de ambos extremos.
  • En programación, puede representarse como un objeto con x e y.
  • Se usa en gráficos, videojuegos, interfaces y geometría computacional.

43.15 Conclusión

El punto medio es una operación simple pero muy útil con coordenadas. Permite encontrar posiciones centrales y sirve como base para muchas operaciones gráficas y geométricas.

En el próximo tema veremos pendiente de una recta, que describe la inclinación de una relación lineal.