It's not drawing 2/3 of the path but only one third (the change in color, the transition from red to blue seems to be just a property of the draw_line3d function).

To allow for continuous splines one has to use boundary conditions, which are in your case the arguments pV1 and pV4 (or P0 and P3 in the graphic). When you now have a chain of let's say 100 nodes you can easily draw spline segments with p_i and p_i+1 while increasing i only by 1 each time.
I am not sure how you would draw the end pieces, maybe you pass the same argument for pV1 and pV2 and vice versa.