Conversation
|
The term "Knots" here is a bit misleading. It refers to a very specific term in the knot vector which the NURBS book denotes as breakpoints. It is defined on the parameter space, but the parametric space is far more general and includes a lot more points than just the knots from the knot vector. As I understand your proposed change then it is to make the distinction between parametric values and geometric values. i.e. for a spline surface I do think it is a good idea to have |
src/splipy/basis.py
Outdated
| def evaluate( | ||
| self, | ||
| t: ArrayLike | Scalar, | ||
| t: Knots | Scalar, |
There was a problem hiding this comment.
This is one of the places where I object to referring to parametric evaluation points t as knots. They simply are not knots and it is more misleading to call them as such.
287c048 to
333ed7a
Compare
|
26 errors left! |
Well, what would you prefer then? We have the following kinds of (long) one-dimensional vectors floating around:
We also have And we have these two- or multi-dimensional array types:
I understand that you want a better name for the first group? |
This adds some mypy ignore rules to make type checking work even when certain libraries are not installed.
c8b019e to
81ac9cf
Compare
81ac9cf to
e87ea66
Compare

This PR changes some of the type aliases.
ArrayLike. It's both too general and not general enough: it includes some things that aren't relevant to us, and it excludes (or at least, Mypy seems to be unable to figure out) a few things that we need.Scalar: it's too generalPoint,Points,ControlPoints,Knots. Many of these overlap and are similar, but we can use them to signal intent to the user, which is especially useful for all the functions with parameters named x, t, u, etc.I'll go through the already-typed files to make some changes.