I have a file holding a lot of points in R3 that approximately forms a knot. I know basic programming in Python and C++, but I am not sure how I would go about writing a program that could approximate a curve for a set of points. Could anyone suggest any libraries or methods I could use to do this?
Take a look at the Curves library.
It's header only if you plan to use it in C++.
From the documentation, it gives tools to:
create exact splines of arbitrary order (that pass exactly by an arbitrary number waypoints)
Example code from the PDF documentation (sorry I had to screenshot as the PDF breaks copy/paste):