cf[t_]  :=  RGBColor[0, 0, 1]
FillColor  =  RGBColor[1,  .75,  .75];
<< Graphics`PlotField`
<< Graphics`Arrow`
<< Graphics`InequalityGraphics`
\(\($TextStyle = {FontFamily -> "Times", FontSize -> 10, 
          FontWeight -> "Bold", 
          FontSlant -> "Italic"};\)

 (*\ Define\ A[t]\ *) \)
B =  {{1/2, 1}, {-1, -1}};
G[omega_]  :=  {{0, -omega}, {omega, 
          0}}
R[t_, omega_]  :=  MatrixExp[G[omega] t]
A[t_]  :=  
      R[t, -1] . B . 
        R[t, 1]


      
f1[t_]  :=  
      MatrixExp[G[-1] t] . 
        MatrixExp[(B  - 
                G[-1]) t]


     (* 
      Some parameters for the graphics *) 
prx1  =  -10;
prx2  =  10;
pry1 = -10;
pry2 = 10;
stepsize  =  4  Pi/100;
nframes  =  100;
x0  =  - .4;
y0  =  1;

 (* 
      Initialize t1 so that t1 begins just slightly off  of 1 *) 
t1  =  -stepsize +  .001;

    
\(\(animation\  = \ 
\ \ Table[
\ \ \ \ t1\  = \ 
            t1\  + \ 
              stepsize; 

\ \ \ \ Graphics[Show[

 (*\ 
                Plot\ the\ solution\ up\ to\ t1\ *) 
\ \ \ \ \ \ ParametricPlot[f1[t] . {x0, y0}, \ {t, \ 0, \ t1}, \ 
                PlotStyle\  -> \ 
\ \ \ \ \ \ \ \ \ {Thickness[ .0075]}, \ 
                DisplayFunction -> \ Identity, \ 
                AspectRatio\  -> \ 1, \ Ticks -> None, 
                PlotRange\  -> \ {{prx1, \ prx2}, \ {pry1, \ pry2}}, 
                AxesLabel\  -> \ {\*""(Subscript[x, 1])(t)"", \*""(Subscript[x, 2])(t)""}], 


 (*\ 
                Plot\ the\ vector\ field\ *) 
PlotVectorField[
                A[t1] . {x1, x2}, {x1, prx1, prx2}, {x2, pry1, pry2}, 
                ColorFunction\  -> \ cf, \ 
                DisplayFunction\  -> \ Identity, \ 
                ScaleFactor\  -> \ 1.25, \ 
                PlotPoints\  -> \ 
                  20], 


 (*\ 
                Plot\ the\ current\ posisition\ of\ the\ solution\ *) 
ListPlot[{f1[t1] . {x0, y0}}, \ 
                PlotStyle\  -> \ {RGBColor[0, 1, 0], \ PointSize[ .02]}, 
                DisplayFunction\  -> \ 
                  Identity], 

 (*\ 
                Plot\ the\ rotating\ axis\ *) 
Graphics[
                RGBColor[1, 0, 0]], 
Graphics[
                Line[{R[t1, \(-1\)] . {prx1, 0}, 
                    R[t1, \(-1\)] . {prx2, 0}}]], 
              Graphics[
                Line[{R[t1, \(-1\)] . {0, pry1}, 
                    R[t1, \(-1\)] . {0, pry2}}]], 
Graphics[
                Text[\*""(Subscript[y, 1])"", \ 
                  R[t1, \(-1\)] . {pry1, 0}, {0, 
                    1}]], 
Graphics[
                Text[\*""(Subscript[y, 2])"", \ 
                  R[t1, \(-1\)] . {0, pry2}, {1, 
                    0}]]

]], 

\ \ \ \ {n, \ 1, \ nframes, \ 
            1}];\)


 (*\ 
      Export\ animation\ as\ a\ gif\ *) \)
\(Export["vfield_animation.gif", \ 
      animation, 
\ \ \ ConversionOptions\  -> \ {"Loop"\  -> \ 
            True, "AnimationDisplayTime" -> \  .1}, 
      ImageResolution\  -> \ 144]

 (*\ 
      Export\ a\ snapshot\ to\ use\ as\ a\ thumbnail\ *) \)
Export["vfield_animation_tn.gif", 
      animation[[nframes - 5]]]
Null