This example:
pts = {{0, 0}, {1, 1}, {2, 0}, {3, 2}};
f = BezierFunction[pts]
Show[Graphics[{Red, Point[pts], Green, Line[pts]}, Axes -> True],
ParametricPlot[f[t], {t, 0, 1}],Graphics[{Blue, Dashed, BezierCurve[pts]}]]
perfectly works producing
However with
pts = {{0, 0}, {1, 1}, {2, -1}, {3, 0}, {5, 2}, {6, -1}, {7, 3}};
it produces
Why do the curves not coincide and how to access BezierFunction for BezierCurve with npts>4?