Una traslación horizontal mueve el gráfico de una función hacia la derecha o hacia la izquierda modificando su entrada.
Una traslación horizontal desplaza el gráfico de una función sobre el eje X. La forma de la curva se conserva, pero sus puntos aparecen más a la derecha o más a la izquierda.
Este tipo de transformación es muy útil para retrasar señales, mover trayectorias, ajustar gráficos y controlar en qué momento ocurre un comportamiento.
Si tenemos una función base f(x), una traslación horizontal se escribe cambiando la entrada de la función.
Cuando h es positivo, el gráfico se desplaza hacia la derecha. Cuando h es negativo, se desplaza hacia la izquierda.
La expresión puede parecer invertida al principio. Si usamos f(x - 3), el gráfico se mueve 3 unidades hacia la derecha.
Esto ocurre porque la función transformada necesita que x valga 3 unidades más para producir el mismo valor que antes.
Usaremos una función cuadrática simple para observar el desplazamiento.
function cuadratica(x) {
return x * x;
}
console.log(cuadratica(-2));
console.log(cuadratica(0));
console.log(cuadratica(2));
Para mover una función hacia la derecha, se resta una cantidad dentro de la entrada.
function cuadratica(x) {
return x * x;
}
function derecha(x) {
return cuadratica(x - 2);
}
console.log(derecha(0));
console.log(derecha(2));
console.log(derecha(4));
El mínimo de la parábola, que antes estaba en x = 0, ahora aparece en x = 2.
Para mover una función hacia la izquierda, se suma una cantidad dentro de la entrada.
function cuadratica(x) {
return x * x;
}
function izquierda(x) {
return cuadratica(x + 2);
}
console.log(izquierda(-4));
console.log(izquierda(-2));
console.log(izquierda(0));
El mínimo de la parábola pasa de x = 0 a x = -2.
Una tabla ayuda a ver cómo cambia el valor de la función al desplazarla horizontalmente.
function cuadratica(x) {
return x * x;
}
function derecha(x) {
return cuadratica(x - 2);
}
for (let x = -1; x <= 5; x++) {
console.log({
x,
original: cuadratica(x),
desplazada: derecha(x)
});
}
Podemos escribir una función reutilizable que reciba otra función y devuelva una versión desplazada.
function trasladarHorizontal(funcion, h) {
return function(x) {
return funcion(x - h);
};
}
function cuadratica(x) {
return x * x;
}
const movidaDerecha = trasladarHorizontal(cuadratica, 3);
const movidaIzquierda = trasladarHorizontal(cuadratica, -3);
console.log(movidaDerecha(3));
console.log(movidaIzquierda(-3));
Si un punto de la función original es (x, y), al desplazar la función horizontalmente cambia la coordenada X, pero se conserva la coordenada Y.
Por ejemplo, el punto (0, 0) de la función x² pasa a (2, 0) si se desplaza 2 unidades hacia la derecha.
Si ya tenemos una serie de puntos calculados, también podemos trasladarlos directamente modificando sus coordenadas X.
function desplazarPuntosHorizontal(puntos, h) {
return puntos.map(function(punto) {
return {
x: punto.x + h,
y: punto.y
};
});
}
const puntos = [
{ x: -1, y: 1 },
{ x: 0, y: 0 },
{ x: 1, y: 1 }
];
console.log(desplazarPuntosHorizontal(puntos, 2));
Hay dos formas de pensar una traslación horizontal: modificar la entrada de la función o mover puntos ya calculados.
| Enfoque | Ejemplo | Uso frecuente |
|---|---|---|
| Transformar la función | g(x) = f(x - h) | Definir una nueva función matemática |
| Transformar puntos | xNuevo = x + h | Dibujar o mover datos ya calculados |
En funciones periódicas, una traslación horizontal puede interpretarse como un desfase.
Esto permite retrasar o adelantar una onda sin cambiar su amplitud ni su periodo.
El siguiente ejemplo compara una onda original con otra desplazada horizontalmente.
function onda(x) {
return Math.sin(x);
}
function ondaDesfasada(x, desfase) {
return Math.sin(x - desfase);
}
function redondear(valor) {
return Math.round(valor * 1000) / 1000;
}
const x = Math.PI / 2;
console.log(redondear(onda(x)));
console.log(redondear(ondaDesfasada(x, Math.PI / 2)));
Una traslación horizontal puede usarse para hacer que un evento ocurra más tarde. En una función de tiempo, desplazar hacia la derecha equivale a retrasar.
function progreso(tiempo) {
return tiempo * tiempo;
}
function progresoRetrasado(tiempo, retraso) {
const t = Math.max(0, tiempo - retraso);
return progreso(t);
}
console.log(progresoRetrasado(1, 2));
console.log(progresoRetrasado(2, 2));
console.log(progresoRetrasado(3, 2));
También se puede usar una traslación horizontal para centrar una función en un punto de interés.
function errorCuadratico(valor, objetivo) {
return (valor - objetivo) * (valor - objetivo);
}
console.log(errorCuadratico(10, 10));
console.log(errorCuadratico(12, 10));
console.log(errorCuadratico(7, 10));
Esta función tiene su mínimo cuando el valor coincide con el objetivo. Es una parábola trasladada horizontalmente.
Cuando se dibuja una función en pantalla, una traslación horizontal puede aplicarse en unidades matemáticas o directamente en píxeles.
| Tipo de desplazamiento | Qué cambia | Ejemplo |
|---|---|---|
| Matemático | La entrada de la función | f(x - 2) |
| Visual | La coordenada de pantalla | xPantalla + 80 |
Las traslaciones horizontales permiten controlar dónde aparece una función sobre el eje X. Aunque el signo dentro de la función puede parecer contrario a la intuición, entenderlo ayuda a trabajar con gráficos, animaciones, ondas y funciones dependientes del tiempo.