moble / quaternionic

Interpret numpy arrays as quaternionic arrays with numba acceleration
MIT License
84 stars 7 forks source link

squad: fix parameter interval weighting #42

Closed mgeier closed 1 year ago

mgeier commented 1 year ago

This changes the calculation of the quadrangle points according to https://splines.readthedocs.io/en/0.3.0/rotation/squad.html#Non-Uniform-Parameterization.

This way, centripetal parameterization leads to the nice properties that are expected from it, see the discussion in #41.

This can probably be made more efficient, because e.g. I'm repeating the call to roll(t_in, -1).

This is meant as a proof of concept, feel free to tweak.

moble commented 1 year ago

Thanks, but as discussed in #41, I think this is actually worse than the current implementation for generic quaternions.

Also, this would be a backwards-incompatible change. (There is actual data out there that relies on the current definition of squad, which would be objectively wrong and could not be recovered if I changed the meaning of squad.)