M  =  
        0.5 {{-1, 3, -3, 1}, {2, -5, 4, -1}, {-1, 0, 1, 
              0}, {0, 2, 0, 0}};
Clear[u];U = {u^3, u^2, u, 1};MatrixForm[
      M]

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

g1 = 
      Graphics[{PointSize[0.025], Thickness[0.01], Line[plist]}]

For[i = 1; clist = {PointSize[0.035]}, i ≤ Length[P], 
      i = i + 1, 
      clist = Append[clist, Point[P[[i]]]]]
g2  =  Graphics[clist]

Show[{g1, g2}, Axes -> Automatic]