P1 = {0, 
          0};
P2 = {3, 0};
PP1 = {1, 1};
PP2 = {2, 2}; 
    M  =  {{2, -2, 1, 1}, {-3, 3, -2, -1}, {0, 0, 1, 
          0}, {1, 0, 0, 0}};
Clear[u]; Clear[U]; U = {u^3, u^2, u, 1};
B  =  {P1, P2, PP1, PP2};

MatrixForm[M]

For[u = 0; plist = {}, u ≤ 1.0, u = u + 0.05, 
      plist = Append[plist, U . M . B]]

plist

Graphics[{PointSize[0.025], Thickness[0.01], Line[plist], Point[P1], 
        Point[P2], Line[{P1, P1 + PP1}], Line[{P2, P2 + PP2}]}]

Show[%, Axes -> Automatic]