Rotaciones y traslaciones en el plano

Definiciones

(*Parametrización de una elipse (-π<t≤π)*)
F[t_]:={Cos[t],.5Sin[t]}; poly=.5{{1,1},{-2,3},{0,-2},{-3,1},{1,1}}

M:=(({{Cos[α], -Sin[α]}, {Sin[α], Cos[α]}})) (*Matriz de rotacion*)

Grafico original

Show[ParametricPlot[F[t],{t,0,2π}],Graphics[Line[poly]],Graphics[Disk[v0,.1]],Axes->True,PlotRange->{{-6,6},{-6,6}}]


(*
Line[puntos]: Define una poligonal en términos de la lista de coordanadas puntos
*)
(*ParametricPlot[F[t],{t,a,b}]:Hace un gráfico paramétrico de una función
F:[a,b]⊂ℝ->(ℝ^2) 
*)
(*
Disk[{x,y},r]-> Dibuja un disco de radio r centrado en {x,y}
*)

Translación en v1

(*Parametros*)
v0={1,1}; (*Centro de rotación*)
α=0.; (*ángulo de rotación respecto al punto considerado*)
v1={-1,2};(*Desplazamiento final*)
Show[ParametricPlot[M.(F[t]-v0)+v0+v1,{t,0,2π},PlotRange->{{-4,4},{-4,4}}],Graphics[Line[(M.(#1-v0)+v0+v1)&/@poly]],Graphics[Disk[v0,.1]],Axes->True,PlotRange->{{-6,6},{-6,6}}]

translación en la dirección de v1

α=0.;q=.;Table[Show[ParametricPlot[M.(F[t]-v0)+v0+q v1,{t,0,2π},PlotRange->{{-4,4},{-4,4}}],Graphics[Line[(M.(#1-v0)+v0+q  v1)&/@poly]],Graphics[Disk[v0,.1]],Axes->True,PlotRange->{{-6,6},{-6,6}}],{q,0,2,.1}]//ListAnimate

Rotacion nula respecto de v0

(*Parametros*)
v0={1,1}; (*Centro de rotación*)
α=0.; (*ángulo de rotación respecto al punto considerado*)
v1={0,0};(*Desplazamiento final*)
Show[ParametricPlot[M.(F[t]-v0)+v0+v1,{t,0,2π},PlotRange->{{-4,4},{-4,4}}],Graphics[Line[(M.(#1-v0)+v0+v1)&/@poly]],Graphics[Disk[v0,.1]],Axes->True,PlotRange->{{-6,6},{-6,6}}]

Rotación en π/3 respecto a un punto v0

(*Parametros*)
v0={1,1}; (*Centro de rotación*)
α=π/3.; (*ángulo de rotación respecto al punto considerado*)
v1={0,0};(*Desplazamiento final*)

Show[ParametricPlot[M.(F[t]-v0)+v0+v1,{t,0,2π},PlotRange->{{-4,4},{-4,4}}],Graphics[Line[(M.(#1-v0)+v0+v1)&/@poly]],Graphics[Disk[v0,.1]],Axes->True,PlotRange->{{-6,6},{-6,6}}]

Revolución en torno a v0

α=.;Table[Show[ParametricPlot[M.(F[t]-v0)+v0+v1,{t,0,2π},PlotRange->{{-4,4},{-4,4}}],Graphics[Line[(M.(#1-v0)+v0+v1)&/@poly]],Graphics[Disk[v0,.1]],Axes->True,PlotRange->{{-6,6},{-6,6}}],{α,0,2π,.1}]//ListAnimate