Las coordenadas cartesianas permiten ubicar puntos mediante dos valores: x e y. Son fundamentales para gráficos, interfaces, videojuegos, mapas, simulaciones y visualización de datos.
Para ubicar un punto en un plano necesitamos una referencia. El sistema de coordenadas cartesianas usa dos ejes perpendiculares: el eje horizontal x y el eje vertical y.
En programación, este sistema aparece al dibujar gráficos, mover elementos, detectar posiciones del mouse, ubicar objetos en un juego o representar datos en una pantalla.
Comprender coordenadas ayuda a conectar matemática, geometría y código visual.
El plano cartesiano está formado por dos ejes: el eje x, horizontal, y el eje y, vertical. Ambos se cruzan en el origen.
Un punto se escribe como un par ordenado (x, y).
const punto = {
x: 3,
y: 5
};
console.log(punto);
Un par ordenado tiene dos valores y el orden importa. El primer valor corresponde a x y el segundo a y.
const puntoA = { x: 3, y: 5 };
const puntoB = { x: 5, y: 3 };
console.log(puntoA);
console.log(puntoB);
Cambiar el orden cambia la ubicación del punto.
La coordenada x indica desplazamiento horizontal. La coordenada y indica desplazamiento vertical.
| Coordenada | Valor positivo | Valor negativo |
|---|---|---|
| x | Derecha del origen | Izquierda del origen |
| y | Arriba del origen | Abajo del origen |
const puntos = [
{ x: 4, y: 2 },
{ x: -3, y: 5 },
{ x: 2, y: -4 }
];
console.log(puntos);
Los ejes dividen el plano en cuatro cuadrantes. El signo de x y y indica en cuál se encuentra el punto.
| Cuadrante | x | y | Ejemplo |
|---|---|---|---|
| I | positivo | positivo | (3, 4) |
| II | negativo | positivo | (-3, 4) |
| III | negativo | negativo | (-3, -4) |
| IV | positivo | negativo | (3, -4) |
Podemos usar condiciones para identificar dónde se encuentra un punto.
function obtenerCuadrante(punto) {
if (punto.x > 0 && punto.y > 0) return "I";
if (punto.x < 0 && punto.y > 0) return "II";
if (punto.x < 0 && punto.y < 0) return "III";
if (punto.x > 0 && punto.y < 0) return "IV";
return "Está sobre un eje o en el origen";
}
console.log(obtenerCuadrante({ x: 3, y: 4 }));
console.log(obtenerCuadrante({ x: -3, y: 4 }));
console.log(obtenerCuadrante({ x: 0, y: 4 }));
Si x = 0, el punto está sobre el eje y. Si y = 0, el punto está sobre el eje x. Si ambos son cero, el punto está en el origen.
function describirPunto(punto) {
if (punto.x === 0 && punto.y === 0) return "Origen";
if (punto.x === 0) return "Sobre el eje y";
if (punto.y === 0) return "Sobre el eje x";
return "Fuera de los ejes";
}
console.log(describirPunto({ x: 0, y: 0 }));
console.log(describirPunto({ x: 0, y: 5 }));
console.log(describirPunto({ x: 7, y: 0 }));
En muchas pantallas y elementos HTML, el origen está en la esquina superior izquierda. La coordenada x crece hacia la derecha y la coordenada y crece hacia abajo.
const posicionPantalla = {
x: 120,
y: 80
};
console.log(posicionPantalla);
Esta diferencia es importante al pasar de fórmulas matemáticas a gráficos en pantalla.
Si queremos dibujar un punto cartesiano en una pantalla, podemos trasladar el origen al centro y cambiar el signo de y.
function cartesianoAPantalla(punto, ancho, alto) {
return {
x: ancho / 2 + punto.x,
y: alto / 2 - punto.y
};
}
console.log(cartesianoAPantalla({ x: 50, y: 30 }, 800, 600));
Sumamos al centro para ubicar el origen en el medio y restamos y porque en pantalla crece hacia abajo.
Desplazar un punto significa sumar valores a sus coordenadas. Si sumamos a x, se mueve horizontalmente. Si sumamos a y, se mueve verticalmente.
function desplazar(punto, dx, dy) {
return {
x: punto.x + dx,
y: punto.y + dy
};
}
const punto = { x: 10, y: 20 };
console.log(desplazar(punto, 5, -3));
Este patrón se usa para mover personajes, elementos visuales, cámaras y objetos en simulaciones.
Escalar un punto significa multiplicar sus coordenadas por un factor. Esto aumenta o reduce su distancia respecto del origen.
function escalarPunto(punto, escala) {
return {
x: punto.x * escala,
y: punto.y * escala
};
}
console.log(escalarPunto({ x: 4, y: 6 }, 2));
console.log(escalarPunto({ x: 4, y: 6 }, 0.5));
En gráficos y juegos no trabajamos con un solo punto, sino con listas de puntos. Un arreglo de objetos es una forma clara de representarlos.
const puntos = [
{ x: 0, y: 0 },
{ x: 10, y: 5 },
{ x: 20, y: 15 }
];
for (const punto of puntos) {
console.log("x=" + punto.x + ", y=" + punto.y);
}
Esta estructura es común en trazado de gráficos, rutas, polígonos y trayectorias.
Podemos usar coordenadas para verificar si un punto está dentro de una zona rectangular.
function estaDentro(punto, rectangulo) {
return punto.x >= rectangulo.x &&
punto.x <= rectangulo.x + rectangulo.ancho &&
punto.y >= rectangulo.y &&
punto.y <= rectangulo.y + rectangulo.alto;
}
const punto = { x: 50, y: 40 };
const rectangulo = { x: 20, y: 10, ancho: 100, alto: 80 };
console.log(estaDentro(punto, rectangulo));
Este cálculo aparece en botones, colisiones simples, selección de objetos y detección de clics.
const punto = { x: 100, y: 50 };
const ancho = 80;
const alto = 60;
const visible = punto.x >= 0 &&
punto.x <= ancho &&
punto.y >= 0 &&
punto.y <= alto;
console.log(visible);
Las coordenadas cartesianas ofrecen una forma precisa de ubicar puntos y describir posiciones. En programación son la base de gráficos, interfaces, mapas, videojuegos y simulaciones.
En el próximo tema estudiaremos distancia entre puntos, una aplicación directa de coordenadas y del teorema de Pitágoras.