3. Sistemas de referencia y componentes cartesianas

Un vector no cambia porque movamos los ejes, pero sí cambia la lista de componentes con la que lo describimos.

3.1 Ubicar exige elegir una referencia

Expresiones como «a la derecha», «arriba» o «en la posición 5» solo tienen sentido si sabemos respecto de qué objeto, origen o eje se realizan. Un sistema de referencia establece las reglas necesarias para asignar coordenadas y describir orientaciones.

En un mapa podemos tomar el este y el norte como sentidos positivos. En una pantalla solemos ubicar el origen en una esquina. En una simulación orbital puede resultar más cómodo colocar el origen en el centro del cuerpo principal. Ninguna elección es universal: debe ser adecuada para el problema y mantenerse coherente.

Antes de calcular: indicá el origen, la orientación de cada eje, la unidad y el objeto respecto del cual se describe el sistema.

3.2 Elementos de un sistema cartesiano

En dos dimensiones, un sistema cartesiano queda definido por:

  • Un origen O, al que se asignan las coordenadas (0, 0).
  • Un eje x con un sentido positivo y otro negativo.
  • Un eje y, habitualmente perpendicular a x.
  • Una escala que relaciona distancias con valores de coordenadas.
  • Una unidad para interpretar físicamente los valores.

Cuando los ejes son perpendiculares y utilizan la misma escala hablamos de un sistema cartesiano ortogonal. Si además los vectores base tienen módulo uno, la base es ortonormal.

3.3 Coordenadas de un punto

Un punto P = (3, 2) m se encuentra 3 m en el sentido +x y 2 m en el sentido +y respecto del origen. Sus coordenadas describen una posición; dependen del origen elegido.

Si trasladamos el origen pero el punto físico permanece quieto, las coordenadas de P cambian. Esto no significa que el objeto se haya movido: cambió la referencia utilizada para medir su posición.

posición de P respecto de O:   rP/O = (xP, yP)

3.4 Punto y vector: objetos relacionados, pero distintos

Un punto representa una ubicación; un vector representa una diferencia, orientación o cambio. Ambos pueden escribirse como pares numéricos, por lo que es fácil confundirlos en un programa.

Diferencia conceptual entre puntos y vectores.
ObjetoEjemploSignificado
PuntoP = (5, 1) mUbicación medida desde el origen.
Vector posiciónr = (5, 1) mVector desde O hasta P.
Desplazamientod = (2, −3) mCambio entre dos posiciones.
Velocidadv = (2, −3) m/sMagnitud vectorial; no es una ubicación.

Usar tipos o nombres diferentes, como puntoInicial y desplazamiento, ayuda a conservar el significado físico.

3.5 Componentes cartesianas

Las componentes indican cuánto aporta un vector en cada eje. Para v = (vx, vy), la primera componente corresponde a x y la segunda a y.

  • vx > 0: aporte hacia +x.
  • vx < 0: aporte hacia −x.
  • vy > 0: aporte hacia +y.
  • vy < 0: aporte hacia −y.
  • Una componente igual a cero indica que no hay aporte sobre ese eje.

Las componentes son escalares con signo y llevan la misma unidad que el vector. No son dos vectores independientes: juntas describen el vector respecto de la base elegida.

3.6 Vectores base

Los vectores unitarios i = (1, 0) y j = (0, 1) marcan los sentidos positivos de los ejes. Un vector puede escribirse como:

v = vxi + vyj

Por ejemplo, (4, −2) m también puede escribirse 4i − 2j m. Esta forma deja explícito que las componentes son coeficientes asociados a direcciones base.

3.7 Obtener un vector a partir de dos puntos

Si A = (xA, yA) es el origen del vector y B = (xB, yB) es su extremo, restamos punto final menos punto inicial:

AB = (xB − xA, yB − yA)

Con A = (−2, 1) m y B = (3, 5) m, obtenemos AB = (5, 4) m. El resultado no son las coordenadas de B: es el cambio necesario para ir desde A hasta B.

function vectorEntre(origen, extremo) {
  return {
    x: extremo.x - origen.x,
    y: extremo.y - origen.y
  };
}

const A = { x: -2, y: 1 };
const B = { x: 3, y: 5 };
console.log(vectorEntre(A, B));

3.8 Cambiar el origen de referencia

Supongamos que un punto tiene coordenadas P = (8, 5) m en un sistema cuyo origen es O. Elegimos un nuevo origen O′ ubicado en (3, 2) m respecto de O. Las coordenadas de P respecto de O′ son:

P′ = P − O′ = (8 − 3, 5 − 2) m = (5, 3) m

Trasladar el origen resta el desplazamiento del nuevo origen a las coordenadas de todos los puntos. En cambio, las componentes del vector entre dos puntos no cambian con esta traslación, porque la misma cantidad se resta en ambos extremos y se cancela.

3.9 Observadores y movimiento relativo

Dos observadores pueden asignar coordenadas diferentes al mismo objeto. Una persona situada junto a una ruta y otra dentro de un vehículo eligen referencias distintas. Para interpretar una posición o una velocidad siempre debemos identificar el sistema respecto del cual se mide.

En este tema solo trasladaremos el origen y mantendremos ejes paralelos. Las rotaciones, cambios de base y relaciones más generales entre referencias se desarrollarán más adelante.

3.10 Coordenadas físicas y coordenadas de pantalla

Conviene almacenar el estado físico con unidades del modelo y convertirlo a píxeles únicamente al dibujar. Si el origen visual es (ox, oy) y la escala es s píxeles por metro:

pantallaX = ox + físicoX × s
pantallaY = oy − físicoY × s

El signo menos invierte el eje vertical de Canvas. La función inversa recupera las coordenadas físicas:

físicoX = (pantallaX − ox) / s
físicoY = (oy − pantallaY) / s
function pantallaAMundo(pantalla, origenVisual, escala) {
  return {
    x: (pantalla.x - origenVisual.x) / escala,
    y: (origenVisual.y - pantalla.y) / escala
  };
}

console.log(pantallaAMundo({ x: 350, y: 125 }, { x: 200, y: 200 }, 25));

3.11 Laboratorio de sistemas de referencia

Arrastrá el punto P o usá los controles. Después trasladá el origen O′. El punto físico permanece fijo mientras cambian sus coordenadas relativas al nuevo origen.

P respecto de O
P respecto de O′
Vector O′P
Módulo de O′P

Ambos sistemas describen el mismo punto físico.

3.12 Representar referencias en JavaScript

Separar puntos, vectores y referencias hace visible la intención del modelo. Una función pura facilita las pruebas y no modifica los datos originales.

function coordenadasRelativas(punto, origenReferencia) {
  return {
    x: punto.x - origenReferencia.x,
    y: punto.y - origenReferencia.y
  };
}

const punto = { x: 4, y: 3, unidad: "m" };
const origenMovido = { x: -2, y: -1, unidad: "m" };
const relativas = coordenadasRelativas(punto, origenMovido);

console.log(relativas); // { x: 6, y: 4 }

En una aplicación mayor también conviene registrar la orientación de los ejes y un identificador de la referencia. Dos pares numéricos no deben combinarse si pertenecen a sistemas incompatibles.

3.13 Errores frecuentes

  • Informar coordenadas sin indicar su sistema de referencia.
  • Confundir las coordenadas del extremo B con las componentes de AB.
  • Calcular origen menos extremo y obtener el vector opuesto.
  • Mezclar posiciones expresadas respecto de orígenes diferentes.
  • Modificar las coordenadas físicas para adaptarlas al eje y de Canvas.
  • Confundir una traslación del origen con un movimiento del objeto.
  • Omitir unidades o utilizar escalas distintas en un mismo diagrama.

3.14 Ejercicio integrador

En el sistema O, un robot pasa de A = (−3, 2) m a B = (5, −4) m. Un segundo sistema tiene su origen O′ = (2, −1) m y ejes paralelos a los de O.

  1. Calculá las coordenadas de A y B respecto de O′.
  2. Calculá las componentes del desplazamiento AB en ambos sistemas.
  3. Comprobá que el desplazamiento no cambia al trasladar el origen.
  4. Calculá su módulo.
  5. Con un origen visual (300, 220) px y escala 20 px/m, calculá dónde se dibuja B usando sus coordenadas del sistema O.
Ver solución y código

A′ = A − O′ = (−5, 3) m y B′ = B − O′ = (3, −3) m. En O, AB = B − A = (8, −6) m. En O′, B′ − A′ también es (8, −6) m. Su módulo es 10 m.

La posición de pantalla de B es (300 + 5·20, 220 − (−4)·20) px = (400, 300) px.

const A = { x: -3, y: 2 };
const B = { x: 5, y: -4 };
const origenPrima = { x: 2, y: -1 };

const relativa = (p, o) => ({ x: p.x - o.x, y: p.y - o.y });
const desplazamiento = (a, b) => ({ x: b.x - a.x, y: b.y - a.y });

const APrima = relativa(A, origenPrima);
const BPrima = relativa(B, origenPrima);
const dEnO = desplazamiento(A, B);
const dEnOPrima = desplazamiento(APrima, BPrima);

console.log({ APrima, BPrima, dEnO, dEnOPrima });
console.log("Módulo:", Math.hypot(dEnO.x, dEnO.y), "m");

3.15 Ideas para recordar

  • Un sistema de referencia define origen, ejes, sentidos, escala y unidades.
  • Las coordenadas de un punto dependen del origen elegido.
  • Un punto representa ubicación; un vector representa una diferencia u orientación.
  • Las componentes son coeficientes asociados a los vectores base.
  • El vector entre A y B se calcula como B − A.
  • Trasladar el origen cambia las coordenadas de los puntos, pero no el vector entre ellos.
  • El modelo físico debe mantenerse separado de la conversión a píxeles.

En el próximo tema construiremos vectores a partir de puntos, ángulos y distancias.