functions   Q10.2  eye wink

tt1[x_, y_] := {{1, 0, 0}, {0, 1, 0}, {x, y, 1}}; 
    MatrixForm[tt1[x, y]]

rr1[θ_] := {{Cos[θ], Sin[θ], 
          0}, {-Sin[θ], Cos[θ], 0}, {0, 0, 1}}; 
    MatrixForm[rr1[θ]]

ss1[a_, b_] := {{a, 0, 0}, {0, b, 0}, {0, 0, 1}}; 
    MatrixForm[ss1[a, b]]

mm1[n_] := 
        DiagonalMatrix[
          If[n == 1, {1, -1, 1}, {-1, 1, 
              1}]];
MatrixForm[mm1[1]]
MatrixForm[mm1[2]]

zh01[d0_, n_] := Table[Join[d0[[i]], {1}], {i, n}]
zh10[d1_, n_] := Table[Drop[d1[[i]], -1], {i, n}]

data formulation

zz = {{-3, 0}, {-2, 1}, {0, 2}, {2, 1}, {3, 0}}; 
    nz = Length[zz]
zz1 = zh01[zz, nz]

nodm1 = Join[zz1, zz1 . mm1[1]];
nods1 = 
        Join[zz1 . tt1[0, 0.2], 
          zz1 . mm1[1] . tt1[0, -0.2]];
noda1 = Join[nods1, nodm1];
noda = zh10[noda1, 4  nz]

ele = {{1, 2, 3, 4, 5, 15, 14, 13, 12, 11}, {6, 7, 8, 9, 10, 20, 
            19, 18, 17, 16}};

    ne = Length[ele]

dat = 
      Table[noda[[ele[[i, j]]]], {i, ne}, {j, 
          Length[ele[[i]]]}]

draw eye wink

zu0 = 
      Show[Graphics[Disk[{0, 0}, 1]], 
        PlotRange -> {{-5, 5}, {-5, 5}}, 
        AspectRatio ->  1]

Show[zu0, 
      Table[Graphics[{Hue[0.9], Polygon[dat[[i]]]}], {i, ne}]]

deye[a_, 
        b_] := {nodt1 = 
          Join[nods1, nodm1 . ss1[a, b]]; 
nodt = 
          zh10[nodt1, 4  nz]; 
        eye = Table[
            nodt[[ele[[i, j]]]], {i, ne}, {j, Length[ele[[i]]]}]; 
        Table[Graphics[{Hue[0.9], Polygon[eye[[i]]]}], {i, 
            ne}]}

Show[zu0, deye[1, 0.5]]

Do[Show[zu0, deye[1, Abs[Cos[ Pi t]]]], {t, 0, 1, 0.1}]