Para girar alrededor de cualquier pivote, trasladamos ese centro al origen, aplicamos la rotación conocida y deshacemos la traslación. Esta secuencia permite rotar puertas, ruedas, brazos y figuras completas.
La fórmula del tema anterior gira siempre alrededor de (0,0). Sin embargo, los objetos reales suelen girar alrededor de su centro, una esquina, una articulación o un punto externo.
El punto que permanece fijo se llama pivote o centro de rotación. El procedimiento general reduce el nuevo problema a la rotación alrededor del origen.
Sea C=(cx,cy) el pivote y P=(x,y) el punto que deseamos girar. Después de la rotación obtenemos P′, pero C no cambia.
El punto describe una circunferencia centrada en C. Su radio es la distancia inicial entre C y P.
El orden es esencial. Rotar primero y trasladar después describe una transformación diferente.
Primero calculamos dx=x−cx y dy=y−cy. Después rotamos ese desplazamiento y sumamos el pivote:
Estas fórmulas son equivalentes a trasladar, rotar y regresar, pero condensan el proceso en una sola expresión.

Sea C=(2,1), P=(6,2) y θ=90°. El punto relativo es P−C=(4,1). Al rotarlo 90° obtenemos (−1,4). Finalmente sumamos C:
Las distancias son iguales: |P−C|=√17 y |P′−C|=√17.
Con matrices homogéneas, la transformación completa se expresa como:
Al aplicarse a un punto, la operación más a la derecha ocurre primero. La composición evita recalcular pasos separados para cada vértice de una figura.
| Pivote | Resultado habitual |
|---|---|
| Centro | El objeto gira sobre sí mismo |
| Esquina | Puerta, aguja o tapa articulada |
| Extremo | Brazo mecánico o péndulo |
| Exterior | Órbita alrededor de otro objeto |
Modificar solamente el pivote cambia la trayectoria, aunque el ángulo sea idéntico.
Para girar un polígono alrededor de C aplicamos la fórmula a cada vértice. Todas las distancias y ángulos internos se conservan.
Si los vértices están almacenados en coordenadas locales respecto del pivote, basta rotarlos y luego sumar la posición global del objeto.
Modifica P, C y θ. El arco y la circunferencia muestran la trayectoria; los paneles detallan el punto relativo y la posición final.
function rotarAlrededor(p, centro, grados) {
const a = grados * Math.PI / 180;
const dx = p.x - centro.x;
const dy = p.y - centro.y;
return {
x: centro.x + dx * Math.cos(a) - dy * Math.sin(a),
y: centro.y + dx * Math.sin(a) + dy * Math.cos(a)
};
}
const centro = { x: 2, y: 1 };
const punto = { x: 6, y: 2 };
const resultado = rotarAlrededor(punto, centro, 90);
console.log(`Centro: (${centro.x}, ${centro.y})`);
console.log(`Punto original: (${punto.x}, ${punto.y})`);
console.log(`Punto rotado: (${resultado.x.toFixed(2)}, ${resultado.y.toFixed(2)})`);Al presionar Ejecutar, el punto (6,2) gira 90° alrededor de (2,1) y se obtiene (1,5). Guardar dx y dy antes de calcular evita que una componente ya modificada contamine la otra.
La misma operación puede aplicarse directamente a todos los vértices de una figura, sin depender de un contexto gráfico.
function rotarAlrededor(p, centro, grados) {
const a = grados * Math.PI / 180;
const dx = p.x - centro.x;
const dy = p.y - centro.y;
return {
x: centro.x + dx * Math.cos(a) - dy * Math.sin(a),
y: centro.y + dx * Math.sin(a) + dy * Math.cos(a)
};
}
const pivote = { x: 2, y: 1 };
const vertices = [
{ x: 2, y: 1 },
{ x: 6, y: 1 },
{ x: 6, y: 3 },
{ x: 2, y: 3 }
];
const verticesRotados = vertices.map(
punto => rotarAlrededor(punto, pivote, 90)
);
verticesRotados.forEach((punto, indice) => {
console.log(
`Vértice ${indice + 1}: (${punto.x.toFixed(2)}, ${punto.y.toFixed(2)})`
);
});Al presionar Ejecutar, se muestran las coordenadas del rectángulo después de girarlo 90° alrededor del pivote (2,1). El pivote permanece fijo y la figura conserva su forma y tamaño.
Se utiliza en puertas, brazos articulados, cámaras orbitales, ruedas, manecillas, satélites, partículas y editores gráficos.
Cada elemento usa un pivote y una velocidad independientes. Los satélites orbitan el núcleo, los engranajes giran sobre su centro y el extremo del brazo se convierte en el pivote de una segunda articulación.
La rotación arbitraria combina dos ideas simples: traslación y rotación alrededor del origen. Comprender la secuencia permite controlar con precisión dónde y cómo gira cualquier objeto.
En el próximo tema estudiaremos circunferencias y círculos.