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}};
MatrixForm[M]
Clear[u]; U  =  {u^3, u^2, u, 1}

Q = {{{0, 0}, 0.5}, {{1, 1}, 
          0.8}, {{2.0, 0.0}, 1.0}}

(* 
      for ' b' vector *) 
b = {Q[[1]][[1]], Q[[2]][[1]], Q[[3]][[1]]}

Clear[u];
A1  =  
      U /.  u -> Q[[1]][[2]]
A2  =  
      U /. u -> Q[[2]][[2]]
A3  =  
      U /. u -> Q[[3]][[2]]
A = {A1, A2, A3}
MatrixForm[A]

MM = 
        Inverse[Transpose[A] . A] . 
          Transpose[A];
MatrixForm[MM]

P = MM . b

g1  =  {Point[P[[1]]], Point[P[[2]]], Point[P[[3]]], 
        Point[P[[4]]]}
g2  =  {Point[Q[[1]][[1]]], 
        Point[Q[[2]][[1]]], 
        Point[Q[[3]][[1]]]}
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.025], g1, g2, g3}], 
      Axes -> Automatic]