Current Issue Cover
C3连续的单位四元数插值样条曲线

邢燕, 白龙, 樊文, 檀结庆(合肥工业大学数学学院, 合肥 230009)

摘 要
目的 构造一类C3连续的单位四元数插值样条曲线,证明它的插值性和连续性,并把它应用于刚体关键帧动画设计中。方法 利用R3空间中插值样条曲线的5次多项式调配函数的累和形式构造了S3空间中单位四元数插值样条曲线,它不仅能精确通过一系列给定的方向,而且能生成C3连续的朝向曲线。结果 与Nielson的单位四元数均匀B样条插值曲线的迭代构造方法相比,所提方法避免了为获取四元数B样条曲线控制顶点对非线性方程组迭代求解的过程,提高了运算效率;与单位四元数代数三角混合插值样条曲线的构造方法(Su方法)相比,所提方法只用到多项式基,运算速度更快。本例中创建关键帧动画所需的时间与Nielson方法和Su方法相比平均下降了73%和33%。而且,相比前两种方法,所提方法产生的四元数曲线连续性更高,由C2连续提高到C3连续,这意味着动画中刚体的朝向变化更加自然。结论 仿真结果表明,本文方法对刚体关键帧动画设计是有效的,对实时性和流畅性要求高的动画设计场合尤为适用。
关键词
Construction and application of a C3-continuous unit quaternion interpolation spline curve

Xing Yan, Bai Long, Fan Wen, Tan Jieqing(School of Mathematics, Hefei University of Technology, Hefei 230009, China)

Abstract
Objective Unit quaternion represents rotation more compactly and intuitively than rotation matrix and is superior to Euler angle parameterization in avoiding gimbal lock. This study constructs a class of C3-continuous unit quaternion interpolation spline curves. The curves in unit quaternion space are an extension of a class of quintic polynomial interpolation spline curves in Euclidean space. They maintain high continuity and interpolating properties and are suitable for controlling the orientation of a rigid body in keyframe animation. Method Rigid keyframe animation usually has two or more keyframes (nodes) to be connected, and the rigid body needs to pass through the keyframes accurately. When the second derivatives of the orientation curve are discontinuous at some nodes in the spline curve, the angular acceleration of the object will suffer from a large jump, thereby resulting in undesirable rotation effects that are inconsistent with the expectation. Therefore, how to construct a high-order continuous unit quaternion curve is important in computer animation. This study first gives the definition and properties of quaternions and then selects proper quintic polynomial-blending functions to achieve a smooth interpolating orientation curve. Interpolation spline curves are constructed in R3 space by taking such quintic polynomial-blending functions as the base functions. The constructed curves can pass through the given data points and are C3-continuous when the knot vector is evenly distributed. We extend the spline curve in R3 space into S3 space. Therefore, the unit quaternion interpolation spline curve maintains many similar important properties to those of the quintic polynomial interpolation spline curve in Euclidean space, such as interpolation and high-order continuity. Inspired by Kim et al.[5], we take the cumulative forms of the constructed blending functions of the interpolation spline curves in Euclidean space as the base functions to construct unit quaternion interpolation spline curves in S3 space. Specifically, the unit quaternion interpolation spline curve is the product of several exponential functions, in which the exponents are cumulative forms of the blending functions, and the bases are constant unit quaternions that are the given keyframe orientations and the angular velocities between every two adjacent given keyframe orientations. Using this ability, the produced unit quaternion curves behave similarly to the spline curves in Euclidean space. For example, they not only pass through a given sequence of orientations (denoted by unit quaternions) exactly without the iterative process in solving the quaternionic nonlinear system of equations, as used in the classical B-spline unit quaternion interpolatory curves to obtain the control points from given data points but also can possess C3continuity. A strict proof of these properties is given. An application example is provided to show that the constructed unit quaternion curve can play a role in the keyframe animation design. Result We provide a 3D keyframe interpolation animation instance and comparison experiments to illustrate the feasibility and effectiveness of the proposed unit quaternion orientation curve construction method. From the application example, we observe that the proposed curve automatically passes through a given sequence of keyframe orientation accurately. The postures of cherries are controlled by the unit quaternion curve. Red cherries are randomly given keyframes. The orientations of intermediate green cherries are determined by three different types of unit quaternion spline curves. The position curve of the cherries adopts the same cubic uniform B-spline curves. Unlike Nielson's iterative construction scheme of unit quaternion uniform B-spline interpolation curves, the proposed scheme avoids solving the nonlinear system of equations over quaternions to obtain the control points, which greatly improves computational efficiency. Unlike Su et al.'s algebraic trigonometric blending interpolation quaternion spline curves, our scheme only uses polynomial bases, which run faster than trigonometric functions. The time required for the animation example by using our scheme decreases by approximately 73% and 33% compared with those by Nielson's and Su et al.'s method, respectively. Moreover, the continuity of the curve produced by the proposed scheme is C3, higher than the C2-continuous curves constructed by the other two methods, which means that the changes in the orientation of the rigid body in the animation will be more natural. Conclusion Simulation results demonstrate that the proposed method is effective for rigid-body keyframe animation design and particularly applicable for design occasions with high real-time and fluency demands. Although the proposed method has the advantages of automatically accurate interpolation, high continuity, and fast running, this paper does not discuss the fairness of the curve. From numerous experimental results, we deduce that the curve fairness produced by the proposed method is not as good as the fairness of unit quaternion uniform B-spline curves. The next step of our work will be to study the construction method of a quaternion interpolating spline curve from the aspect of energy optimization, such as minimizing torque energy or curvature.
Keywords

订阅号|日报