B-Spline curve: How to extract the control points if knot vector is given? I read the B-spline curve topic and I was asking myself the question: 
Given the knot points, is it possible to calculate the control points ?
So, if I have a bunch of knot points, can I determine the control points ?
If yes, is there any algorithm I could use for that ? 
I've read the MTU pages about B-spline curves (see https://pages.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/B-spline/bspline-curve.html) which were great resources but I could not find the answer. 
I would be thankful for any advice or example or a hint to resource where I can read more about that.
A little background: I am a programmer & wanted learn how to draw a nice curve. In my program, I want to give a list of knot points to a function which should then give me the control points. 
Best regards, 
 A: To make a more official answer, the expression you can see on the link you gave is:
$$ \vec{C(u)} = \sum_{i=0}^{n}N_{i,p}(u)\vec{P_i}$$
The $N_{i,p}$ are functions defined by the knot positions, but then the $\vec{P_i}$ can be any vectors.
So you can't write an algorithm that gives you control points just knowing the knot vector. However, if you are trying to make the B-spline curve represent a shape whose coordinates you already know, then you should look for an interpolation algorithm.
Edit:
For instance, if you have $n$ knots and splines of degree $p$, then you can compute your $N_{i,p}(u)$ for any $u \in [a, b]$. You will want to define $n+1$ points within domain $[a, b]$ so that on these $u_j$ you can write:
$$
\vec{C(u_j)} =  \sum_{i=0}^{n}N_{i,p}(u_j)\vec{P_i}
$$
If you want to draw a curve, then typically, the vectors above are of dimension 2, but they can be anything. Basically what happens is that you have a problem of type:
$$
C = NP
$$
where $C$ and $P$ are matrices with 2 columns and $n+1$ lines, and $N$ is an $n+1$ by $n+1$ square matrix.
Solving for the $P_i$'s thus amounts to solving a linear system of $2(n+1)$ unknowns (the coordinates of the $P_i$'s) and $2(n+1)$ equations. Solving this system is equivalent to inverting the matrix $N$, for which you can find plenty of algorithms in any programming language!
