M  =  {{-1/6,  
          1/2,  -1/2,  1/6}, {1/2,  -1,  1/2, 0}, {-1/2,  
          0,  1/2,  0}, {1/6,  2/3,  1/6,  
          0}}
U  =  {u^3, u^2, u, 1}

U  =  {u^3, u^2, u, 1}

Q = {{{0, 0}, 0.0}, {{1,  .2}, 
          0.2}, {{2, -0.3}, 0.5}, {{3.0, 0.0}, 1.0}}

{{{0, 0}, 0.`}, {{1, 1}, 0.2`}, {{2, 2}, 1}, {{3, 0}, 1.`}}

b = {Q[[1]][[1]], Q[[2]][[1]], Q[[3]][[1]], Q[[4]][[1]]}

A  =  {(U /. u -> Q[[1]][[2]]) . 
          M, (U /. u -> Q[[2]][[2]]) . 
          M, (U /. u -> Q[[3]][[2]]) . 
          M, (U /. u -> Q[[4]][[2]]) . M}

MatrixForm[A]

P = LinearSolve[A, b]

g1  =  {Point[Q[[1]][[1]]], 
        Point[Q[[2]][[1]]], Point[Q[[3]][[1]]], 
        Point[Q[[4]][[1]]]}

g2  =  {Point[P[[1]]], Point[P[[2]]], Point[P[[3]]], 
        Point[P[[4]]]}

For[u = 0; plist = {}, u ≤ 1.0, u  =  u + 0.1, 
      plist = Append[plist, 
          U . M . {P[[1]], P[[2]], P[[3]], 
              P[[4]]}]]

g3  =  Line[plist]

Show[Graphics[{PointSize[0.035], g1, g2, g3}], 
      Axes -> Automatic]

Show[%, Axes -> Automatic]

Show[Graphics[{g3, PointSize[0.035], g1, g2}], 
      Axes -> Automatic]