Im not sure how well it would hold up to an excessive amount of points but you could try rex's spline plug.
I used that method in Construct Classic using Rojo's plug, but it had a way to reverse the spline.
You would still need to use an array to store a set of points here.
I would suggest two arrays as a stack, one for each axis.