[B-spline](https://en.wikipedia.org/wiki/B-spline) interpolation using [de Boor's algorithm](https://en.wikipedia.org/wiki/De_Boor%27s_algorithm). This function returns points of the B-spline path.
-`t_step` : The increment amount along the curve in the [0, 1] range.
-`degree` : The degree of B-spline. Must be less than or equal to `len(points) - 1`.
-`points` : A list of `[x, y]` or `[x, y, z]` control points.
-`knots` : The knot vector. It's a non-decreasing sequence with length `len(points) + degree + 1`. If not provided, a uniform knot vector is generated automatically.
-`weights` : The weights of control points. If not provided, the weight of each point is 1.