BeginPackage["Wikicode`SplineInterpolation`"]
Interpolate::usage = "Interpolate[points] returns a closed \
BSplineCurve passing through the given points."
Begin["`Private`"]
Interpolate[points_] :=
BSplineCurve@{#2, #2 + Normalize[#3 - #] Norm[#3 - #2]/3, #3 -
Normalize[#4 - #2] Norm[#3 - #2]/3, #3} & @@@
Partition[points, 4, 1, {2, 2}];
End[]
EndPackage[]