Smoothing an array of points.

I have an array of points taken from the mouse input. Needless to say these points need some smoothing if I am to draw with them. I’ve tried two approaches.

One - Averaging with different sized odd numbered windows. In my experience, this is a very quick and dirty way of smoothing.

Two - Draw a catmull-clark spline through the set. I get the best results with this approach.

Now the problem lies in that during the implementation of both of these methods you lose some beginning and ending points. I think it’s three off both sides of the array for catmull-clark and for averaging it depends on the size of your window.

Is there a better way to accomplish this or is there a cheat for these algorithms? I’ve read about just duplicating however many first and last points you would lose, but this leaves jagged ends on the smooth resulting curve.

Anyone have any knowledge or experience on this subject?

use a catmull-clark spline and just use the initial mouse position twice (or 3 times? i forget). this should get you a nice spline that starts at the first mouse pos…