Rotation interpolation knowing values at specific points

25 Views Asked by At

Let's say we have an arc-length parametrized curve $\mathcal{C}(s)\in\mathbb{R}^{3}$. We want to find a frame $\mathcal{R}(s)=\left[\begin{array}{ccc} \hat{\mathbf{t}} & \hat{\mathbf{b}} & \hat{\mathbf{n}}\end{array}\right]\in SO(3)$ along $\mathcal{C}$, so that $\hat{\mathbf{t}}=\dfrac{d\mathcal{C}}{ds}$ and $\hat{\mathbf{t}}\bot\hat{\mathbf{b}}\bot\hat{\mathbf{n}}$, knowing $\mathcal{R}_{i}(s_{i})$ at some points $1\leq i\leq m$. How can this problem be approached in a computationally efficient manner? Of course, one possibility is to formulate a constrained optimization problem, minimizing for example the norm of the second derivative of the rotation interpolator (expressed in any suitable parametrization, for instace by means of quaternions). The problem is, the rotation interpolator must be obtained in real time, so I would need a faster (approximate) method. The samples $\mathcal{R}_{i}(s_{i})$ may be far apart, so orthogonalization may not always lead to a suitable solution.

Thanks a lot for your help!