Spherical Essentially Non-Oscillatory (SENO) Interpolation
Abstract
We develop two new ideas for interpolation on . In this first part, we will introduce a simple interpolation method named Spherical Interpolation of orDER (SIDER-) that gives a interpolant given . The idea generalizes the construction of the Bézier curves developed for . The second part incorporates the ENO philosophy and develops a new Spherical Essentially Non-Oscillatory (SENO) interpolation method. When the underlying curve on has kinks or sharp discontinuity in the higher derivatives, our proposed approach can reduce spurious oscillations in the high-order reconstruction. We will give multiple examples to demonstrate the accuracy and effectiveness of the proposed approaches.
1 Introduction
We consider the following interpolation problem on . Given a set of ordered data points on the unit sphere , we aim to determine a parametrized curve such that at a set of uniformly spaced for . This interpolation problem has many other important science and engineering applications [12]. One of the most popular applications is on computer graphics when we use a point on to represent rotations of a rigid body about an arbitrary axis. The interpolation problem can be regarded as the in-between orientation of orientations. Another possible interpretation is an interpolation problem in the special orthogonal group [23], which applies to the path planning of a rigid body. We could also find applications of this problem in the quantum field theory from quantum mechanics [1], modeling protein structures [17], molecular dynamics simulation [18], theory in fluid mechanics [5], fluid flow visualizations [8], computations of flexible filaments and fibres in complex fluids [30, 20], and differential equations [11] and some applications to dynamics of rigid-bodies [33, 34, 31].
Several methods exist to interpolate the action as the data points on the unit sphere . For example, based on the quaternion representation [24, 32, 35, 14, 2] of data points on a unit sphere, one has the spherical linear interpolation (SLERP) and the spherical quadrangle interpolation (SQUAD). These two are the most popular and commonly used interpolation methods on the unit sphere. The SLERP interpolation provides the piecewise linear interpolation in geodesic on the unit sphere, while the SQUAD gives a smooth and slightly higher-order reconstruction of the data points. To our understanding, there is no systematic construction of interpolation schemes that provides any order higher than SQUAD.
There are multiple possible reasons for the absence of high order interpolation scheme. One possible explanation is that data might contain noise in most real-life applications, such as computer graphics or unmanned aerial vehicle (UAV) trajectory planning. There is no significant reason to treat all data very precisely. Therefore, most applications rely on Bézier curves for smooth curve constructions. In some other applications, however, when we need to solve some related differential equation where the numerical precision of the solution is essential, we might worry about the continuity of the underlying unknown curve and avoid high-order reconstruction. This consideration is common in the usual Euclidean space. If the underlying function is not smooth enough, we could experience the so-called Gibbs phenomenon and obtain spurious oscillations from high-order polynomial reconstructions. Instead of treating all data points equally in the small neighborhood, the essentially non-oscillatory (ENO) scheme [9, 27, 28, 25] obtains a biased choice of grid stencil that yields the least variations in the polynomial reconstruction. This interpolation method becomes the essential tool in the numerical methods for solving Hamilton-Jacobi equations [10, 36, 21] in the level set applications [16, 22, 15] where the solution might develop kinks or for approximating the hyperbolic conservation laws [27, 28] when the solution profile might form shocks and discontinuities.
This paper has two primary purposes. We first propose a systematic approach to construct some high-order interpolants from given data points on . We name our approach the Spherical Interpolation of orDER (SIDER-) that produces a interpolant given . The idea follows the construction of the Bézier curves based on the composition of multiple SLERPs. Therefore, the formulation is familiar with what has been widely used in the community. However, unlike the typical Bézier curves, our proposed approach determines the control points in Bézier curves to enforce that the reconstruction passes through all given data points. Once we have these high-order reconstructions on , we follow the ENO philosophy and propose a new Spherical Essentially Non-Oscillatory (SENO) interpolation method. This approach can provide a smooth, high-order interpolant even when the underlying curve has kinks. This property will be necessary when we aim to develop high-order numerical schemes for solving any quaternion-related differential equations.
The paper is organized as follows. In Section 2, we briefly introduce the quaternion notation and provide the typical interpolation approaches, including SLERP and SQUAD. To increase the regularity of the interpolant, we develop the SIDER and the SENO interpolation method in Section 3. Section 4 shows various numerical examples to demonstrate the accuracy and effectiveness of the proposed interpolation method.
2 Quaternions and Interpolations on the Unit Sphere
This section will first introduce the quaternion notation and summarize some essential properties. Based on this quaternion representation, we will briefly introduce the SLERP and SQUAD interpolations.
Hamilton introduced quaternions to describe rotations and scalings in mid nineteenth century [7]. These numbers consist of four dimensions, one real part and a three-dimensional analogy to the imaginary part of complex numbers. A quaternion can be written in many forms:
where , . The notations , and are extensions of the imaginary part of complex numbers with the properties that , with the bicyclic permutation with respect to that and . Some important properties about quaternions include
-
•
Hamilton product
where the notation and denotes the typical dot and cross product.
-
•
Inverse map
If . In particular, if is a unit quaternion, .
-
•
Exponential map
where the norm notation denotes the 2-norm in this paper, unless otherwise specified.
-
•
Logarithm map
-
•
Power map
where . When a quaternion has its 2-norm equal to one, we call them a unit quaternion. If is a unit quaternion, then
Because we can use these unit quaternions to define rotation, we also call these quaternions rotation quaternions. With proper definitions, they can rotate a position vector defined in either or while preserving the length of the vector. To see this, we express a unit quaternion as
where is a unit vector representing the 3D rotation axis, and is the anticlockwise/counterclockwise rotation angle around carried by the rotation quaternion. If we want to rotate with a rotation quaternion , we can first convert to a unit quaternion given by . Then we apply the rotation operator given by
The final position after the rotation is given by the imaginary part of the unit quaternion .
Introducing a parameterization such that and corresponding to the initial position and , respectively, we can interpolate these two data points by the rotation operator for . This expression leads to the so-called SLERP (Spherical Linear intERPolation) formula [24, 29]:
In particular, if the quantity in the rotation quaternion is perpendicular (and this is assumed to be true in the remaining of this article) to both and , we have and
The function SLERP has two interesting properties. One is that the interpolant runs on the shortest path (geodesic) between both endpoints at a constant (angular) speed. If both two data points are both pure unit quaternions (i.e. and ), the SLERP interpolant between and lies on the vector part of the unit quaternion sphere. Mathematically, we can show that with for all if and . Another interesting property is that the inverse of a SLERP between two pure unit quaternions negates the interpolant, i.e.
When we have more than two data points on a sphere, one might obtain a piecewise linear interpolant by applying SLERP in a piecewise fashion. If we want to obtain a smoother interpolant, one can consider the SQUAD (spherical quadrangle interpolation) [3]. It constructs a interpolant passing through the data points and on with two extra quaternions and as control points
determined by , , , and . In case or is not defined (in other words, we are at the beginning or the end of the data point sequence), they are defined as or respectively for convention. One first converts each to a pure unit quaternion , then the SQUAD interpolant is given by
for . The interpolation SLERP and SQUAD are two most widely used interpolation schemes. There might be smoother explicit interpolations, but the expression could be complicated to implement and analyze.
3 Our Approaches
In this section, we will introduce two new ideas for interpolation on . In this first part of the discussion, we will introduce a simple interpolation method named Spherical Interpolation of orDER (SIDER- in short) that gives a interpolant given points on . The idea generalizes the construction of the Bézier curves developed for . However, similar to the standard polynomial interpolation, we would imagine that the interpolant will produce oscillations when the underlying function is not smooth enough. Therefore, instead of reconstructing the underlying interpolant using single highly smooth curve, we propose incorporating the ENO philosophy and developing a new Spherical Essentially Non-Oscillatory (SENO) interpolation method. We will give the details in the second part of this section.
3.1 SIDER Interpolations
This section introduces a new class of interpolation schemes on the unit sphere, denoted by SIDER. We will first consider the case for , i.e., three data points to obtain a curves on the unit sphere. We will then give a higher-order generalization for data points.

With reference to the construction of quadratic Bézier curves, we propose the following spherical quadratic curve (denoted by SIDER2),
where , and . Unless specified otherwise, we might use and . The points , and are the quaternion representation of the position vectors , and , respectively. We have shown the setup for the construction in Figure 1.
The crucial step in this expression is how we determine the control points and . We construct (and ) using the geodesic extrapolating based on the first data points (and ) and the intermediate one so that the final interpolant reaches when . To enforce this condition, we refer to the spatial relationships among the data points and the (only) control point in a quadratic force interpolating Bézier curve. Mathematically, we assign
Although SIDER2 seems to directly replace the linear interpolation in the quadratic Bézier curve in by the SLERP, these two expressions are different. A typical Bézier interpolant usually passes through only the first and the last points while treating all other points as control points. On the other hand, our SIDER2 is an interpolation formula that requires the interpolant to pass through all given sampling points.
Here we give several properties of SIDER2.
-
•
The interpolant passes through all three data points. We can easily check that
For the second data point, we have
where , , is the midpoint along the geodesic between and , and is the midpoint along the geodesic between and . The last expression looks for the midpoint along the geodesic between and which, therefore, leads to according to the construction of and .
-
•
Since SLERP guarantees that the interpolant stays on the sphere, we are assured that SIDER2 also generates points with the unit length for all .
-
•
Reversing the start and end points (while keeping the midway data obtained at ) would not change the curve on the sphere.
The approach can be easily extended to the case where , i.e., we construct a curve from four given data points. The construction is given by
where . Therefore, a SIDER3 reconstruction is a linear combination of two scaled SIDER2, that we interpolate within and simultaneously.
Given that the timestamps are equalized, i.e. and , we want the functions , and satisfy the conditions imposed at , , , and as shown in Table 1. The simplest linear and quadratic functions that satisfy these constraints are given by , and . For simplicity, we set the starting time and the ending time , so that and , and , and .
0 | 0 | ||
1/2 | 0 | 1/3 | |
1/2 | |||
1 | 1/2 | 2/3 | |
1 | 1 |
It is easy to check that the interpolant satisfies
For the two other intermediate data points, we have
and
Even though it is possible to derive the time derivatives of SIDER3 analytically, the expressions are complex, and we do not present them explicitly here. However, in the example section, we will numerically demonstrate that the interpolant and its first few derivatives are all continuous.
It is also possible to further develop higher-order SIDER interpolants using recursions. In general, we can construct a SIDER- interpolant to interpolate data points with equal time spacing from to . The expression consists of one SLERP of two SIDER- interpolants with and . For example, we might construct a SIDER4 formula based on one SLERP and two SIDER3’s,
where , with equal time spacing data.
3.2 Constraints on the Data Points
Unlike any typical Bézier construction in the Euclidean space, the above approach might not work for some datasets. This section will discuss some constraints on the given dataset for our SIDER reconstructions.
In the quaternion representation of points on the sphere, opposite points (i.e., and ) are equivalent and are treated as the same rotation operator. To avoid the non-uniqueness in our algorithms, we need to constrain the sector angle between any two adjacent data points, denoted by , to be less than . This condition also implies that the geodesic distance between adjacent data points must be smaller than . Otherwise, our algorithm will move the data points to their opposite side so that the geodesic distance becomes smaller than . If the geodesic distance between adjacent points and is exactly , the same is true for the geodesic distance between and . Therefore, we cannot uniquely decide whether or is closer to , so we cannot give a unique interpolant from to . This leads to the location of the deduced control points undetermined, and the interpolant might not look like what the users would expect.
Another constraint is that all the data points should not lie on the same great circle. Otherwise, any high order interpolation on the sphere will be degenerated, as in the Euclidean space where we have colinear data points.
3.3 Spherical-ENO (SENO) Interpolation Based on SIDER
One usually observes oscillations in the interpolant when reconstructing a high-order curve with sharp changes and turns, and this behavior is undesirable in many applications. This section follows the philosophy of Essentially Non-Oscillatory (ENO) and proposes an ENO interpolation on the unit sphere. We name the interpolation approach the Spherical Essentially Non-Oscillatory (SENO in short).
Given a set of data points, denoted by , , we are interested in constructing a high-order curve between and . To do this, we first reconstruct a curve from any consecutive data points using SIDER-. For example, for , i.e., we are given four data points, we first construct two SIDER2 curves from any three consecutive data on the unit sphere. When , we have in total six data points. From these, we obtain three curves obtained by SIDER3. To avoid an oscillatory interpolant, we consider these interpolants from SIDER- and determine the corresponding variation of these curves between the data points and . The one with the least variation is chosen to represent the SENO interpolant between the points and .
There are various ways how one can define the variation of a curve on the unit sphere. For simplicity, we define it to be the length of the segment joining and . With the minimum length achieved by the geodesic, a longer length indicates a larger variation and more violent oscillations obtained in the high-order reconstruction. Instead of determining an analytical expression for the variation by evaluating the exact line integral, we propose applying the composite Trapezoidal rule to numerically approximate the distance between these data points. Between the points and , we insert intermediate points ( in all numerical simulations we have obtained) so that we have small segments of equal time span. Then we approximate the total length of the curve by summing up the geodesic distance of these small segments. This underestimates the total length of the interpolant from and but we observe that such approximation already provides a reasonable choice of SIDER- for a non-oscillatory reconstruction.
We now consider the computational efficiency. Both SQUAD and SIDER2 interpolations require three SLERP reconstructions. However, since SENO2 constructs two SIDER2 interpolants, the overall computational complexity for a SENO2 is double to that of a SQUAD. Since a SIDER3 reconstruction requires one call of SLERP and two calls of SIDER2, it requires seven SLERP calls in total. For SENO3, there are three different sets of stencils producing three SIDER3 interpolants. Therefore, the total number of SLERP calls is 21 for a single SENO3 interpolation, implying seven times the operations of a SQUAD interpolation.
To end the discussion, we summarize several properties of both SIDER and SENO in Table 2.
SLERP | SQUAD | SIDER2 | SENO2 | SIDER3 | SENO3 | |
---|---|---|---|---|---|---|
Data points | 2 | 4 | 3 | 4 | 4 | 6 |
Order (for smooth curves) | 2 | 3 | 3 | 3 | 4 | 4 |
Complexity (SLERP calls) | 1 | 3 | 3 | 6 | 7 | 21 |
4 Numerical Examples
This section will consider several examples to compare our proposed SIDER and SENO interpolations. We will compare our reconstructions with those from (piecewise) SLERP and SQUAD to show that our approach can achieve a high-order reconstruction while avoiding over-shooting when the underlying curve contains some sharp turns.
(a)
(b)
(c)
(d)
(a)
(b)
(c)
(a) point location 0 0.5 1 (b) point location 0 1/3 2/3 1

4.1 Comparison of SLERP, SQUAD, and SIDER
In this simple example, we interpolate the data points given in Table 3(a) using SLERP, SQUAD, and SIDER2. For the SLERP reconstruction, we apply the SLERP to any adjacent data point. This process essentially gives a piecewise SLERP reconstruction. For SQUAD, we also interpolate the data points in a piecewise fashion. The control points of the SQUAD would follow the so-called bilinear parabolic blending [6], so most intermediate data point would appear in four consecutive SQUAD pieces, i.e. given a sequence , every data point , where to will appear in the , , and interpolants. As for using SQUAD, we let and as we calculate the control points unless extra data points are given like in the simulation performed in Section 4.4.
Figure 2(a-c) plot the interpolation results on the sphere based on SLERP, SQUAD and SIDER2 interpolations. Figure 3 shows the corresponding angular derivatives of all interpolants as a function of . Since the piecewise SLERP interpolates any two adjacent data points along the geodesics, the interpolant has sharp kinks at the data point . The first derivative of the interpolant (i.e., the angular velocity) is piecewise constant, as shown in the left subplot of Figure 3(a). The corresponding higher derivatives (i.e., the angular acceleration and others) are zero. Even though SQUAD can determine a much smoother interpolant than the SLERP, the reconstruction provides only a curve. As shown on the right subplot in Figure 3(b), we can see that the acceleration is not continuous at the middle data point. This property indicates that the interpolant cannot achieve a higher regularity than . Our proposed SIDER2, on the other hand, not only shows a smooth reconstruction in Figure 2(c), both the angular velocity and the acceleration are continuous, as shown in Figure 3(c). This observation shows that our reconstruction can produce a curve. The analytical expressions of the (angular) derivatives of SQUAD and SIDER2 are tedious. We give the derivations in the appendix for reference.
With one more point on the sphere, we can interpolate the data using SIDER3. We consider the dataset given in Table 3(b). The resulting interpolant is shown in Figure 2(d). We observe that the first three derivatives of the interpolant are all continuous, as shown in Figure 4.
Test case | (a) | (b) |
---|---|---|
(a)
(b)
4.2 Reconstruction by SENO2
This example demonstrates the idea in SENO2 constructed based on SIDER2. Table 4 shows the two sets of data that we consider. In both examples, we see that the last data point creates a sharp turn at the point . When constructing a highly smooth reconstruction, we expect the interpolant between and to oscillate and be affected by the kink at . In each of the data sets, we, therefore, construct two SIDER2 interpolants and from four given data points. We show the solutions from our SIDER2 in Figure 5. In both subplots, we have also shown the piecewise SLERP interpolant between and using solid lines. From these two tests, we see that the SENO2 reconstruction from the test case (a) in Table 4 would choose while test case (b) would choose because their variation is smaller than the other one between the points in concern, i.e. and .
4.3 Reconstruction by SENO3

In this example, we demonstrate the effectiveness of SENO3 constructed based on SIDER3. Table 5 shows the dataset containing six random data points on the sphere. We apply SIDER3 to reconstruct a curve for any four consecutive data points. This step leads to three different SIDER3 interpolants, denoted by and . For this case with six data points, SENO3 is interested in obtaining an interpolant that varies the least between and . This condition implies the interpolant closest to the geodesic (as obtained from SLERP) joining to . Figure 6 shows all SIDER3 interpolants together with the SLERP from to (in solid lines). As we can see from this figure, SENO3 will pick the dotted line corresponding to the SIDER3 connecting to , to represent the high-order interpolant between and .
(a)
16
7.5383e-03
-
5.3563e-03
-
3.3255e-03
-
5.7331e-03
-
32
1.9053e-03
1.9842
1.1249e-03
2.2514
6.0749e-04
2.4526
2.2092e-04
4.6977
64
4.7560e-04
2.0022
2.6434e-04
2.0894
7.6428e-05
2.9907
1.2270e-05
4.1703
128
1.1909e-04
1.9977
6.4493e-05
2.0352
9.2140e-06
3.0522
6.9148e-07
4.1493
256
2.9761e-05
2.0006
1.5909e-05
2.0193
1.1237e-06
3.0356
4.1101e-08
4.0724
512
7.4348e-06
2.0011
3.9474e-06
2.0108
1.3888e-07
3.0164
2.5162e-09
4.0299
1024
1.8532e-06
2.0042
9.8288e-07
2.0058
1.7248e-08
3.0093
1.5658e-10
4.0063
2048
4.5786e-07
2.0171
2.4521e-07
2.0030
2.1491e-09
3.0047
9.7544e-12
4.0047
4096
1.0901e-07
2.0704
6.1236e-08
2.0015
2.6820e-10
3.0024
6.0906e-13
4.0014
(b)
16
7.5383e-03
-
2.2475e-03
-
5.3375e-03
-
2.6273e-03
-
32
1.9053e-03
1.9842
2.0176e-04
3.4776
6.6980e-04
2.9944
1.7398e-04
3.9166
64
4.7560e-04
2.0022
2.0375e-05
3.3078
7.7677e-05
3.1082
1.0571e-05
4.0407
128
1.1909e-04
1.9977
2.3083e-06
3.1419
9.2349e-06
3.0723
6.5747e-07
4.0071
256
2.9761e-05
2.0006
2.7846e-07
3.0513
1.1240e-06
3.0384
4.0534e-08
4.0197
512
7.4348e-06
2.0011
3.4414e-08
3.0164
1.3888e-07
3.0167
2.5072e-09
4.0150
1024
1.8532e-06
2.0042
4.2869e-09
3.0050
1.7248e-08
3.0094
1.5644e-10
4.0024
2048
4.5786e-07
2.0171
5.3526e-10
3.0016
2.1491e-09
3.0047
9.7522e-12
4.0037
4096
1.0901e-07
2.0704
6.6881e-11
3.0006
2.6820e-10
3.0024
6.0903e-13
4.0012
4.4 Accuracy and Convergence
This section performs some numerical tests to verify the numerical accuracy of the proposed interpolation schemes. We will check the convergence of the methods as we insert more data points for curve reconstruction. We first construct the following two curves with different smoothness. For the smooth curve, we first construct a parametrized curve given by and
with on the plane. This definition gives an infinitely differentiable function on the bounded interval. We then sample these curves using a uniform partition on with grid size ranging from to and project these data points in onto using the normalization with . We denote the interpolant as and the exact projection of the underlying curve onto the sphere as for . Then we define the error between the reconstruction and the curve generated by the underlying function by
Numerically, we approximate the integral using the triangles with vertices taken from and . Note that since both and give points on a sphere, the definition of such an error does not provide the area of the mismatch on but only certain cross-sessions in the Cartesian space. Finally, once we have obtained the error from each set of sampling points, we determine the numerical rate of convergence using . For the non-differentiable case, we repeat the above process but replace the generating function by . The absolute value will create a kink at while maintaining the smoothness of the curve elsewhere on . Table 6 shows the error and the estimated order of SIDER, SQUAD, SENO2 and SENO3 when the underly generating function is non-differentiable and smooth, respectively.
Here are our observations about the numerical convergence for all examples using SLERP, SQUAD, SENO2, and SENO3.
-
•
The piecewise linear interpolation SLERP achieves second-order convergence. Both errors and convergence orders are independent of the smoothness of the underlying curve. This observation is expected since the reconstruction uses only adjacent data points and is not affected by any kink in the given data.
-
•
The interpolation SQUAD uses 4 data points for local reconstructions. If the underlying curve is smooth enough, we see a third-order convergence. When the underlying curve is only where there is a kink, the convergence rate drops from three to two. We have bolded these numbers in Table 6.
-
•
Because of the ENO idea that we locally determine a set of stencils producing the least variations, our proposed SENO can avoid interpolation across the kink. The numerical accuracy of SENO2 and SENO3 are consistently three and four, respectively, independent of the smoothness of the underlying curve.
-
•
In terms of the data required, each SQUAD interpolation takes 4 data points, while a SIDER2 (and therefore the final SENO2) interpolation needs only 3 data points. Still, both interpolation methods achieve the same order of convergence for a smooth enough generating function. However, when there is a kink in the underlying curve, SENO2 performs significantly better than SQUAD in both the numerical accuracy and the convergence rate, as shown in Table 6(a).
(a)
(b)
4.5 Efficiency
We have provided some complexity analysis in Table 2 and have concluded that SENO might seem computationally less efficient than SQUAD since SENO3 (for example) takes 21 calls of SLERP while SQUAD requires only 3. Following the previous example, we are going to have more careful studies on the efficiency. We want to investigate if the increase in the reconstruction order is worth the computational complexity. Following the same study as in Section 4.4, we also measure the CPU-time corresponding to each configuration. Figure 7 shows the plots of the computational time versus the error in the reconstruction using three different interpolation methods. The curves for both SENO2 and SENO3 are almost identical for the non-differentiable and smooth cases.
When the generating function is smooth, we see from Figure 7(b) that SQUAD seems more efficient for a wide range of sampling densities. To achieve an accuracy of at least , for example, SQUAD interpolation takes less computational time than SENO3. Even though the convergence order of SQUAD is smaller than SENO3, it is affordable to refine the mesh to reduce the error in the interpolation. If the required error in the interpolation is further reduced, we might see that the blue dashed line and the red dotted line intersects, indicating that it is more efficient to use SENO3 than SQUAD. However, the accuracy level might be too close to machine epsilon to observe the benefit.
However, when the underlying function is non-differentiable, we see from Figure 7(a) that the curve corresponding to SENO3 is on the bottom compared to SQUAD and SENO2. This property indicates that the SENO3 is the most efficient approach when we want an accurate interpolant. To achieve a relatively small error, i.e. drawing a vertical line on the left regime, the computational time for SENO3 (the red dotted line) is the smallest. This figure clearly demonstrates the importance of the SENO reconstruction proposed in this work. When the data contains sharp turns due to a possible kink in the underlying curve, SENO can avoid interpolation across the singularity in the geometry and produce a high-order reconstruction.
(a)
(b)
(c)
(d)
(a)
(b)
(c)
4.6 The Letter S on Sphere
Figure 8 demonstrates how various interpolation schemes mentioned in this paper interpolate the data points on with data points sampled from the boundary of the letter S. It is clear that SLERP only creates geodesics between the neighboring data points, while SQUAD produces oscillations near the middle part and the cusps around the corners of the character, as highlighted in Figure 8(b). A zoom-in of these parts are shown in Figure 9. On the other hand, both SIDER2 and SIDER3 can control these overshoots well. We see sharp corners near these kinks and smooth interpolants when the segment is smooth, and we have an adequate number of sample points.
5 Conclusion
This article develops high-order interpolation schemes for data points on . We present the SIDER interpolation constructed based on an approach similar to the Bézier curves. To improve the accuracy of the reconstruction when the underlying function is not smooth enough, we also propose a SENO reconstruction by extending the ENO idea for data points in to . A possible future work is to follow a similar strategy as in the weighted-ENO (WENO) approach [13, 26, 10] to combine multiple SIDER’s and achieve a higher-order reconstruction with weighting determined by the smoothness of the underlying curve.
Acknowledgment
The work of Leung was supported in part by the Hong Kong RGC grant 16302819.
References
- [1] S.L. Adler. Quaternionic Quantum Field Theory. Commun. Math. Phys., 104:611–656, 1986.
- [2] T. Barrera, A. Hast, and E. Bengtsson. Incremental spherical linear interpolation. The Annual SIGRAD Conference. Special Theme-Environmental Visualization, 013, 2004.
- [3] E.B. Dam, M. Koch, and M. Lillholm. Quaternions, interpolation and animation, volume 2. Citeseer, 1998.
- [4] N. Dantam. Quaternion Computation. Georgia Institute of Technology, Institute for Robotics and Intelligent Machines, 2014.
- [5] J.D. Gibbon, D.D. Holm, R.M. Kerr, and I. Roulstone. Quaternions and particle dynamics in the Euler fluid equations. Nonlinearity, 19(8):1969–1983, 2006.
- [6] A. Haarbach, T. Birdal, and S. Ilic. Survey of higher order rigid body motion interpolation methods for keyframe animation and continuous-time trajectory estimation. In 2018 International Conference on 3D Vision (3DV), pages 381–389, 2018.
- [7] S.W.R. Hamilton. Elements of Quaternions. Chelsea Publishing Co., 1963.
- [8] A.J. Hanson and H. Ma. Quaternion Frame Approach to Streamline Visualization. IEEE Transactions on Visualization and Computer Graphics, 1(2):164–174, 1995.
- [9] A. Harten, B. Engquist, S. J. Osher, and S. Chakravarthy. Uniformly high order accurate essentially non-oscillatory schemes, III. J. Comput. Phys., 71(2):231–303, 1987.
- [10] G. S. Jiang and D. Peng. Weighted ENO schemes for Hamilton-Jacobi equations. SIAM J. Sci. Comput., 21:2126–2143, 2000.
- [11] K.I. Kou and Y.-H. Xia. Linear Quaternion Differential Equations: Basic Theory and Fundamental Results. Studies in Applied Mathematics, 141(1):3–45, 2018.
- [12] J.B. Kuipers. Quaternions and Rotation Sequences: A Primer with Applications to Orbits, Aerospace and Virtual Reality. Princeton University Press, Princeton, New Jersey, 2002.
- [13] X. Liu, S. Osher, and T. Chan. Weighted essentially non-oscillatory schemes. J. Comput. Phys., 115:200–212, 1994.
- [14] R. Mukundan. Quaternions: From classical mechanics to computer graphics, and beyond. Proceedings of the 7th Asian Technology conference in Mathematics, pages 97–105, 2002.
- [15] S. J. Osher and R. P. Fedkiw. Level Set Methods and Dynamic Implicit Surfaces. Springer-Verlag, New York, 2003.
- [16] S. J. Osher and J. A. Sethian. Fronts propagating with curvature dependent speed: algorithms based on Hamilton-Jacobi formulations. J. Comput. Phys., 79:12–49, 1988.
- [17] J. Proskova. Description of protein secondary structure using dual quaternions. Journal of Molecular Structure, 1076(89-93), 2014.
- [18] D.C. Rapaport. Molecular Dynamics Simulation Using Quaternions. J. Comput. Phys., 60:306–314, 1985.
- [19] Benjamin Olinde Rodrigues. Des lois géométriques qui régissent les déplacements d’un système solide dans l’espace, et de la variation des coordonnées provenant de ces déplacements considérés indépendamment des causes qui peuvent les produire. Journal de Mathématiques Pures et Appliquées, pages 380–440, 1840.
- [20] S.F. Schoeller, A.K. Townsend, T.A. Westwood, and E.E. Keaveny. Methods for suspensions of passive and active filaments. J. Comput. Phys., 424(109846), 2021.
- [21] S. Serna and J. Qian. Fifth order weighted power-ENO methods for Hamilton-Jacobi equations. J. Sci. Comput., 29:57–81, 2006.
- [22] J. A. Sethian. Level set methods. Cambridge Univ. Press, second edition, 1999.
- [23] T. Shingel. Interpolation in special orthogonal groups. IMAJ Num. Analy., 29(3):731–745, 2009.
- [24] K. Shoemake. Animating rotation with quaternion curves. In Proceedings of the 12th annual conference on Computer graphics and interactive techniques, pages 245–254, 1985.
- [25] C. W. Shu. Numerical experiments on the accuracy of ENO and modified ENO schemes. J. Sci. Comput., 5:127–150, 1990.
- [26] C. W. Shu. Essentially non-oscillatory and weighted essentially non-oscillatory schemes for hyperbolic conservation laws. In B. Cockburn, C. Johnson, C.W. Shu, and E. Tadmor, editors, Advanced Numerical Approximation of Nonlinear Hyperbolic Equations, volume 1697, pages 325–432. Springer, 1998. Lecture Notes in Mathematics.
- [27] C. W. Shu and S. J. Osher. Efficient implementation of essentially non-oscillatory shock capturing schemes. J. Comput. Phys., 77:439–471, 1988.
- [28] C.W. Shu and S. Osher. Efficient implementation of essentially non-oscillatory shock capturing schemes 2. J. Comput. Phys., 83:32–78, 1989.
- [29] J. Solà. Quaternion kinematics for the error-state Kalman filter. arXiv:1711.02508 [CS.RO], 2017.
- [30] S. Tschisgale and J. Frohlich. An immersed boundary method for the fluid-structure interaction of slender flexible structures in viscous fluid. J. Comput. Phys., 423(109801), 2020.
- [31] F.E. Udwadia and A.D. Schutte. An Alternative Derivation of the Quaternion Equations of Motion for Rigid-Body Rotational Dynamics. J. Applied Mechanics, 77(044505-1), 2010.
- [32] A.H. Watt and M. Watt. Advanced Animation and Rendering Techniques: Theory and Practice. Addison-Wesley, 1992.
- [33] R. Weinstein, J. Teran, and R. Fedkiw. Dynamic Simulation of Articulated Rigid Bodies with Contact and Collision. IEEE Transactions on Visualization and Computer Graphics, 12(3):365–374, 2006.
- [34] P. Wilczynski. Quaternionic-valued ordinary differential equations. The Riccati equation. J. Differential Equations, 247:2163–2187, 2009.
- [35] F. Zhang. Quaternions and matrices of quaternions. Linear algebra and its applications, 251:21–57, 1997.
- [36] Y.-T. Zhang and C.-W. Shu. High order WENO schemes for Hamilton-Jacobi equations on triangular meshes. SIAM J. Sci. Comp., 24:1005–1030, 2003.
Appendix: Derivatives of SQUAD, SIDER2 and SIDER3
Time Derivatives of the Interpolants
Assume , and is the starting point. The derivatives of SLERP are given by
To simplify the expressions, we introduce the following notations.
Since
the first and the second time derivatives are given by
and
where
The derivatives of follows the same manner as , but they are not explicitly written out because and/or of SQUAD, SIDER2 and SIDER3 are not the same.
Angular Derivatives of the Interpolants
With references to [4], if the interpolant is , then we can deduce that