El mismo punto puede tener coordenadas diferentes según el sistema utilizado. Aprender a reconocer el origen, la orientación del eje y y la escala evita movimientos invertidos y permite convertir correctamente entre el mundo matemático y la pantalla.
El plano cartesiano tradicional y una pantalla utilizan dos coordenadas, x e y, pero no suelen organizarlas de la misma manera. En matemática es habitual colocar el origen abajo o en el centro y hacer crecer y hacia arriba. En la mayoría de las interfaces gráficas, el origen está arriba a la izquierda y el valor de y aumenta hacia abajo.
Esta diferencia no es un error: responde a la forma histórica en que las pantallas almacenan y recorren sus píxeles. El programador debe identificar el sistema activo antes de realizar cualquier cálculo.
| Característica | Plano matemático | Pantalla |
|---|---|---|
| Origen habitual | Centro o esquina inferior izquierda | Esquina superior izquierda |
| x positiva | Hacia la derecha | Hacia la derecha |
| y positiva | Hacia arriba | Hacia abajo |
| Unidad frecuente | Unidad abstracta | Píxel |
| Valores visibles | Pueden ser positivos y negativos | Suelen ser no negativos |
Una imagen digital puede imaginarse como una cuadrícula de píxeles. El píxel cercano a la esquina superior izquierda tiene coordenadas próximas a (0, 0). Al avanzar por una fila aumenta x; al bajar a otra fila aumenta y.
En un lienzo de 800 × 600 píxeles, su centro se encuentra en (400, 300). Una posición con y = 500 está más abajo que otra con y = 100.
Las primeras pantallas y sistemas de memoria recorrían la imagen desde la fila superior hacia las siguientes. Esta organización coincide con la lectura de documentos y continúa siendo la convención predeterminada en HTML, Canvas, imágenes rasterizadas y muchas bibliotecas 2D.
No todos los entornos son iguales. Algunos motores y sistemas gráficos permiten elegir una cámara cartesiana o utilizan el origen en otra posición. Por eso conviene verificar siempre la documentación y realizar una prueba sencilla antes de asumir una orientación.
Si el origen matemático se coloca en la esquina inferior izquierda de una pantalla de altura H, la coordenada x no cambia. La coordenada y debe medirse desde abajo:
La conversión inversa utiliza la misma resta:
Si H = 400 y un punto de pantalla es (120, 90), en el sistema matemático inferior izquierdo será (120, 310).
En juegos, simulaciones y gráficas puede resultar más cómodo colocar el origen matemático en el centro. Para una superficie de ancho W y altura H:
La conversión desde la pantalla se obtiene despejando:
Así, los objetos a la izquierda o debajo del centro pueden expresarse con coordenadas negativas.
Una unidad matemática no tiene por qué coincidir con un píxel. Si cada unidad representa 20 píxeles, el punto matemático (3, 2) estará a 60 píxeles a la derecha y 40 píxeles arriba del origen visual.
Separar coordenadas lógicas y píxeles permite acercar o alejar una cámara sin modificar las posiciones reales de los objetos.
Los dos paneles representan la misma superficie de 400 × 300 unidades. Mueve el punto en cualquiera de ellos y observa sus coordenadas. Cambia el origen matemático para comparar el sistema inferior izquierdo con el sistema centrado.
En ambos paneles puedes hacer clic o arrastrar. El panel de pantalla utiliza y hacia abajo; el matemático utiliza y hacia arriba. El punto permanece visualmente a la misma altura, pero su valor vertical cambia.
Estas funciones convierten puntos cuando el origen matemático se encuentra en el centro del lienzo:
const ancho = 800;
const alto = 600;
function matematicasAPantalla({ x, y }) {
return {
x: ancho / 2 + x,
y: alto / 2 - y
};
}
function pantallaAMatematicas({ x, y }) {
return {
x: x - ancho / 2,
y: alto / 2 - y
};
}
console.log(pantallaAMatematicas({ x: 500, y: 200 }));
El resultado es (100, 100): el punto está 100 píxeles a la derecha y 100 píxeles por encima del centro.
La orientación también afecta el signo de una velocidad. En coordenadas matemáticas, una velocidad vertical positiva suele mover el objeto hacia arriba. En coordenadas de pantalla sin transformar, sumar un valor positivo a y lo mueve hacia abajo.
Una opción es adaptar cada cálculo. Otra, generalmente más clara, es transformar el contexto gráfico o utilizar funciones de conversión y mantener toda la lógica en coordenadas matemáticas.
| Situación | Sistema conveniente | Motivo |
|---|---|---|
| Interfaz web | Pantalla | Coincide con CSS, Canvas y eventos del puntero |
| Gráfica de funciones | Matemático | Respeta la convención habitual de los ejes |
| Juego de plataformas | Cualquiera, pero coherente | El motor puede imponer su propia convención |
| Mundo con cámara | Coordenadas del mundo | Se mantienen independientes de la pantalla |
| Lectura de un clic | Pantalla y luego conversión | El evento comienza expresado en píxeles |
No existe un sistema universalmente mejor. La regla importante es no mezclar valores de sistemas diferentes sin realizar una conversión explícita.
Las coordenadas matemáticas y las de pantalla describen el mismo espacio con convenciones diferentes. Convertir entre ellas consiste principalmente en desplazar el origen, aplicar la escala e invertir el eje vertical cuando sea necesario.
En el próximo tema estudiaremos los puntos y las posiciones en el plano, y aprenderemos a representarlos, compararlos y utilizarlos como base de los objetos gráficos.