Учитывая, что ваши точки упорядочены, сплайн-интерполяция, безусловно, является наилучшим способом. (Как указано в комментарии bo1024) Я настоятельно рекомендую следующие примечания:
http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/
И, в частности, данный раздел будет наиболее релевантным для получения замкнутого цикла, как вы просили:
http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/B-spline/bspline-curve-closed.html
РЕДАКТИРОВАТЬ: если кривая должна проходить через точки, то единственным решением степени n является интерполяционный полином Лагранжа. Вы можете просто сделать один полином для каждого компонента ваших векторов точек, используя формулу на вики-странице:
http://en.wikipedia.org/wiki/Lagrange_polynomial
К сожалению, интерполяция Лагранжа может быть довольно шумной, если у вас слишком много точек. В результате я все же рекомендовал бы использовать некоторую сплайн-интерполяцию с фиксированной степенью. Вместо B-сплайнов другим вариантом являются полиномы Эрмита:
http://en.wikipedia.org/wiki/Cubic_Hermite_spline
Это гарантирует, что кривая проходит через точки. Чтобы получить замкнутую кривую, вам нужно повторить первые d точек вашей кривой при определении коэффициентов, где d - это степень сплайна Эрмита, который вы используете для аппроксимации ваших точек.