Es programación. Se conocen las coordenadas de un punto en un sistema de coordenadas bidimensional y las coordenadas del punto en el nuevo sistema de coordenadas se obtienen después de girar el sistema de coordenadas.
Problema de rotación de vectores.
Supongamos que el vector A(x, y) se gira en sentido antihorario un grado theta
Entonces hay un vector rotado B(x*cos(theta)-y*sin(theta), ?x *sin(theta) y*cos(theta))
La rotación del sistema de coordenadas es igual a la rotación del punto alrededor del punto lejano, que es igual a la rotación del vector
Código: struct?Vector?{
doble?x,?y;
Vector()?{x?=?y?=?0;}
Vector(doble?a,?doble?b) :x(a),y(b){}
const?Vector?rotateAC?(doble?theta)?;
¿const?Vector?getRotatedAC?(doble?theta)?;
const?Vector?rotateC?(doble?theta)?;
const ?Vector?getRotatedC?(doble?theta)?const?;
const?Vector?operador? =?(Vector?b);
const?Vector?operador?-= ?(Vector?b);
¿const?Vector?operador?*=?(doble?b);
const?Vector?operador?/=?(doble?b) ;
};
const ?Vector?Vector?::?rotateAC?(doble?theta)
{return?(*this)?=? getRotatedAC(theta);}
const?Vector?Vector ?::?getRotatedAC?(double?theta)?const
{return?Vector(x*cos(theta)? -?y*sin(theta),?x*sin(theta)? ? y*cos(theta));}
const?Vector?Vector?::?rotateC?(doble?theta) ?{return?rotateAC(-theta);}
const?Vector?Vector?::?getRotatedC?(double?theta)?const?{return?getRotatedAC(-theta);}