Using a quadratic Bezier curve to interpolate three points is discussed in detail in this online demo and this TechNote.
The subject of the current demonstration is to illustrate 4-point interpolation using a cubic Bezier curve. As with the quadratic case, the Singularity library uses an automatic chord-length parameterization for the curve.
The details of the algorithm are discussed in the following blog posts,
To run the demo, select any four points to be interpolated. Notice the geometry of the control cage in red. As mentioned in the blog posts, there are numerical issues with nearly or exactly overlapping interior points. Resolution of this issue is left as an exercise for those wanting to work directly with the code.
Click the 'Reset' button to try again with a new set of points. Vary the spacing between the points to observe the results. Why is the arbitrary parameterization limited to the interval [0.2, 0.8]?
For further reading,
:: Cubic Bezier Curves - Cubic Bezier's and introduction to quadratic approximation. (to answer the above question)