Advances in Applied Mathematics
Vol.
11
No.
03
(
2022
), Article ID:
49846
,
10
pages
10.12677/AAM.2022.113156
Bézier四元数曲线相关问题研究
孙楠,王倩,何耀,杨雷,陈佳惠
辽宁师范大学,数学学院,辽宁 大连
收稿日期:2022年2月28日;录用日期:2022年3月22日;发布日期:2022年3月29日
摘要
计算机动画和机器人运动学中,对刚体运动曲线的设计尤为重要。刚体的位置和朝向决定其特定时刻的状态,实际中常用形式简洁、计算高效的单位四元数表示法来表描述刚体的朝向。因此,本文的研究目的是提供一种简洁有效的构造C2连续的四元数插值样条曲线的构造方法,使曲线精确地插值于给定的单位四元数序列。首先,对Bézier四元数曲线的性质进行研究,计算出了曲线在端点处的一阶、二阶导矢;然后,利用Bézier四元数曲线在端点处的性质解决了它的光滑拼接问题,进一步给出了一种构造四元数插值样条曲线的方案,明确了中间控制顶点与已知数据点之间的关系; 最后对上述方案进行应用。本文方法无需求解非线性方程组,提高了运算效率。
关键词
Bézier四元数曲线,四元数样条曲线,光滑拼接,插值
Research on the Bézier Quaternion Curve
Nan Sun, Qian Wang, Yao He, Lei Yang, Jiahui Chen
School of Mathematics, Liaoning Normal University, Dalian Liaoning
Received: Feb. 28th, 2022; accepted: Mar. 22nd, 2022; published: Mar. 29th, 2022
ABSTRACT
The design of rigid body motion curve is particularly important in computer animation and robot kinematics. The position and orientation of a rigid body determine its state at a specific time. In practice, the simple and efficient unit quaternion representation is often used to describe the orientation of rigid body. Therefore, the purpose of this paper is to provide a concise and effective construction method of constructing continuous quaternion interpolation spline curves, so that the curves can be accurately interpolated into a given unit quaternion sequence. Firstly, the properties of Bézier quaternion curves are studied, and the first-order and second-order derivatives of the curves at the endpoints are calculated; Then, the problem of smooth splicing of Bézier quaternion curves is solved by using its properties at the end point. A scheme for constructing quaternion interpolation spline curve is further given, and the relationship between intermediate control vertices and known data points is clarified; Finally, the above scheme is applied. The proposed method does not need to solve nonlinear equations and improves the operation efficiency.
Keywords:Bézier Quaternion Curve, Quaternion Spline Curve, Smooth Joining, Interpolation
Copyright © 2022 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
1. 引言
计算机动画和机器人运动学中,对刚体运动曲线的设计尤为重要 [1]。刚体的位置和朝向决定其特定时刻的状态 [2]。因而只要分别设计出刚体运动的位置曲线和朝向曲线,就完成了刚体运动曲线的设计 [3] [4]。我们通常用欧拉角法、旋转矩阵表示法、变换矩阵表示法和单位四元数表示法来描述刚体的朝向 [5]。其中,四元数特别是单位四元数适用于对三维物体和虚拟摄像头的旋转控制。在旋转的表示上,由于四元数形式简单、计算效率高,而且不会出现万向节锁死现象,它在计算机动画和机器人运动学中获得了极大的关注 [6] [7] [8] [9]。因此,人们开始对单位四元数朝向曲线进行研究 [10] - [15]。但是欧氏空间中向量的运算规律并不全部适用于四元数,插值理论也不能直接运用于四元数曲线的光滑拼接问题 [16],这给姿态的平滑插值带来一定困难。
1985年Shoemake [17] 首次在计算机图形学中运用四元数,利用其对旋转的表示,将Bézier曲线的德卡斯特里奥算法转变为球面线性插值Slerp。在此基础上,KIM等人1995年 [18] 利用单位四元数的指数映射与对数映射的定义,提出了一种通过将R3中向量的加法转换为S3中四元数的乘积来构造四元数曲线的方法。利用此方法KIM等人1996年 [19] 将R3中的样条曲线(如Bézier、Hermite和B样条曲线)以基函数的和的形式表示,再转换为累积形式,从而构造出S3中的四元数曲线。这类曲线保留了R3中所对应曲线的许多重要的微分性质,具有高阶导矢,但文中只对其性质进行了简单的研究,计算出了四元数曲线的一阶导矢,并未涉及其更高阶的导矢数与参数连续性。通过选择适当的多项式调配函数,邢燕等人2017年 [20] 构造了一类基于四次多项式的C2连续的单位四元数插值样条曲线。为了提高插值样条曲线的平滑度,2018年 [21] 将C2提高到C3连续,构造了一类基于五次多项式的单位四元数插值样条曲线。进一步地,谭杰庆等人 [22] 构造了通过给定关键帧姿态序列的平滑方向曲线,并证明了其C2连续性。该曲线基于参数五次多项式,插值于给定的数据点序列,不需要反算控制顶点。这几类通过改变基函数所构造的改曲线具有较好的插值性与连续性,且运算速度快,但随着对曲线参数连续性要求的提高,其基函数调配过程的复杂程度也随之加深。
本文旨在寻求一种简洁有效的方法,通过对Bézier四元数曲线的性质进行研究,计算其端点处的一阶、二阶导矢,由此解决了曲线的光滑拼接问题,来构造出具有C2连续性的四元数插值样条曲线,精确地插值于给定的单位四元数序列,无需求解非线性方程组,并且能进行Hermite插值。
2. 预备知识
一个单位四元数 ,其中 ,令
我们得到单位四元数的另一种表示方法 。
两个单位四元数 ,,它们的乘积定义为:
单位四元数的逆定义为 。
单位四元数 将欧氏空间中的点 由以下关系:
映射到 ,其几何意义是将 绕轴 旋转 个角度得到 。
给定向量 ,其中 ,,由指数映射
将v映射到单位四元数q。
对数映射
将单位四元数q映射到三维球面上的点v。显然,
(1)
结合单位四元数的几何意义,单位四元数的实值指数 次幂定义为 。
给定两个单位四元数 和 ,连接 和 的测地线具有恒定的切向速度 ,测地线方程
(2)
也被称为 和 之间的slerp插值。
基于KIM [17] [18] 的工作,我们给出如下引理。
引理1:
(3)
KIM2等人在对Bézier四元数曲线的研究中,首先将Bernstein基函数 , 转换为累加形式
在此基础上,运用slerp插值给出了具有初始控制顶点 的n次Bézier四元数曲线的定义:
(4)
其中, 。最后,对3次Bézier四元数曲线的性质进行了研究。
3. Bézier四元数曲线的性质
为了讨论Bézier四元数曲线在端点处的性质,我们给出下面的引理。
引理2:对于 ,Bernstein基函数累加形式 满足
1)
2)
3)
证明:对Bernstein基函数求导得
注意到 ,于是有
求出Bernstein基函数累加形式的一阶导 后,再对 求导,就可以计算出Bernstein基函数累加形式的二阶导
由此,即可证明引理。
为方便起见,对于 ,令
(5)
我们将Bézier四元数曲线的定义式(4)改写成
(6)
引理3:对于 , 满足
1)
2)
3)
证明:对于 ,将(5)式两端分别对参数t求导
(7)
由引理2即可证明。
下面,我们对Bézier四元数曲线在端点处的性质进行讨论。为此,不妨假设
由引理3,可以直接得到如下结论:
定理1:Bézier四元数曲线 在端点处插值首末控制顶点,即
对于曲线 在端点处的一阶导矢,我们有如下结论。
定理2:Bézier四元数曲线 在端点处的一阶导矢为
证明:对于 ,将Bézier四元数曲线的定义式(6)两端分别对参数t求导,则
(8)
由引理3得
由此即可证明定理。
进一步地,对于Bézier四元数曲线的二阶导矢,我们给出如下结论:
定理3:Bézier四元数曲线 在端点处的二阶导矢为
证明:对于 ,令 ,其中,
(9)
(10)
(11)
显然,
并且,
(12)
进一步地,将(9) (10) (11)三式两端分别对参数t求导
(13)
(14)
(15)
将(13)~(15)式分别代到(12)式,
于是得到n次Bézier四元数曲线的二阶导矢 。
由引理3可知,
当 时,
当 时,
特别地,由引理1可知,
由此即可证明定理。
4. Bézier四元数曲线的光滑拼接
本节我们要考虑Bézier四元数曲线的光滑拼接问题。对于整数 ,给定两组三维单位球面S3上 个互不相同的单位四元数 ,,它们分别确定两条n次Bézier四元数曲线 。则问题转化为控制顶点的选取,使得曲线 和 是C2光滑拼接的。
根据定理1可知,Bézier四元数曲线具有端点插值性,因此,Bézier四元数曲线 和 C0光滑拼接时,下式成立
(16)
两曲线C2光滑拼接的充要条件是它们在其公共连接点处具有相同的二阶导矢。由此给出以下两个结论。
定理4:两条n次Bézier四元数曲线 和 在其公共连接点处是C1光滑拼接的,则(16)式以及下式
(17)
成立。
证明:Bézier四元数曲线 和 在其公共连接点处C1光滑拼接,当且仅当
根据定理2,
再由(16)式,
即可证明定理。
定理5:两条n次Bézier四元数曲线 和 在其公共连接点处是C2光滑拼接的,则(16) (17)式以及下式
(18)
成立。
证明:Bézier四元数曲线 和 在其公共连接点处C2光滑拼接,当且仅当
根据定理3,
利用(16)(17)式,可将上式化简为
即可证明定理。
运用以上结论,我们可以解决两条Bézier四元数曲线的光滑拼接问题。
5. 数值实验
在实际问题中,往往是给出三维球面S3上的一组数据点 ,,要求我们构造一条三次Bézier四元数样条曲线 ,具有C2连续性,且光滑插值于这些点。
对于 ,记连接 和 的三次Bézier四元数曲线段为 ,,令
设第i段三次Bézier四元数曲线 的控制顶点为 。则由定理1可知, 插值于数据点 。由此,问题转化为曲线段 和 在数据点 处的C2光滑拼接问题。将 的控制顶点分别代入(17)(18)式,我们可以依次计算出曲线段 的中间控制顶点:
(19)
(20)
其中, ,。
由定理5可知,样条曲线 是C2连续的。
例:表1为一组刚体旋转运动的插值数据,给出了刚体运动的4个时间点的旋转角与旋转轴。
Table 1. Interpolation data of rigid body rotational motion
表1. 刚体旋转运动的插值数据
运用四元数和旋转角与旋转轴的关系,可分别求出每组数据对应的单位四元数,即
假设连接 和 的曲线段 的中间控制顶点为
由(19) (20)式,我们可以得到曲线段 的控制顶点
以及曲线段 的控制顶点
由此构造出一条C2连续的三次Bézier四元数样条曲线 光滑插值于 ,进而得到相应的刚体旋转运动插值于给定的数据。假设刚体的平移运动为直线运动,则我们得到图1所示的该运动的等时间离散表示,其中,黄色立方体表示运动的插值位置。
Figure 1. Schematic diagram of rigid body motion
图1. 刚体运动示意图
6. 结论
本文首先对Bézier四元数曲线的性质进行研究,计算其端点处的一阶、二阶导矢,由此解决了曲线的光滑拼接问题,进而给出了一种构造C2连续的四元数样条曲线的方法。本文方法所构造的样条曲线精确插值给定的数据点序列,不需要迭代算法求解非线性方程组,还能进行Hermite插值。在后续的研究中,我们将会对具有高阶参数连续性的样条曲线的构造等问题进一步展开研究。
文章引用
孙 楠,王 倩,何 耀,杨 雷,陈佳惠. Bézier四元数曲线相关问题研究
Research on the Bézier Quaternion Curve[J]. 应用数学进展, 2022, 11(03): 1428-1437. https://doi.org/10.12677/AAM.2022.113156
参考文献
- 1. Pueyo, X. and Tost, D. (1988) A Survey of Computer Animation. Computer Graphics Forum, 7, 281-300. https://doi.org/10.1111/j.1467-8659.1988.tb00630.x
- 2. Yu, M. (2005) Interpolation of Unit Quaternion Curve with High Order Continuity. Journal of Computer Aided Design & Computer Graphics, 3, 437-441.
- 3. 范国梁, 王云宽. 基于几何方法的多智能体群体刚性运动的路径规划[J]. 机器人, 2005(4): 362-366. https://doi.org/10.13973/j.cnki.robot.2005.04.016
- 4. 许亚晴, 白宝钢, 祝峰. 一种保持计算机动画边长变化单调性的新方法[J]. 昌吉师专学报, 1999(4): 78-86.
- 5. 符宏伟, 陈义, 黄高峰. 旋转矩阵表达方式对大旋转角三维基准转换的影响[J]. 测绘与空间地理信息, 2018, 41(10): 203-206+210.
- 6. Fang, Y.C., Hsieh, C.C., Kim, M.J., Chang, J.J. and Woo, T.C. (1998) Real Time Motion Fairing with Unit Quaternions. Computer-Aided Design, 30, 191-198.
- 7. Wang, W. and Joe, B. (1993) Orientation Interpolation in Quaternion Space Using Spherical Biarcs. Proceedings—Graphics Interface, 93, 24-32.
- 8. 孔民秀, 季晨. 基于单位四元数机器人姿态插补算法[J]. 新型工业化, 2013, 3(8): 105-112. https://doi.org/10.19335/j.cnki.2095-6649.2013.08.012
- 9. 普亚松, 史耀耀, 蔺小军, 郭剑. 基于对数四元数的工业机器人Hermite样条曲线姿态插值[J]. 西北工业大学学报, 2019, 37(6): 1165-1173.
- 10. Su, B.Y., Zhang, J. and Wang, G.J. (2013) The Solid Orientations Interpolation in Quaternion Space Using a Class of Blending Interpolation Spline. International Journal of Advancements in Computing Technology, 5, 335-341.
- 11. Luo, Z.X. and Wang, Q. (2012) Geometrically Continuous Interpolation in Spheres. Journal of Mathematical Research with Applications, 32, 379-391.
- 12. Luo, Z.X., Wang, Q., Fan, X., Gao, Y.Q. and Shui, P.P. (2016) Generalized Rational Bézier Curves for the Rigid Body Motion Design. The Visual Computer, 32, 1071-1084. https://doi.org/10.1007/s00371-015-1173-0
- 13. 王倩. 球面曲线插值问题及不变量的研究与应用[D]: [博士学位论文]. 大连: 大连理工大学, 2016.
- 14. 王倩, 潘乐, 张洁琳, 等. 具有局部性质的球面插值样条曲线的构造[J]. 图学学报, 42(2): 230-236.
- 15. Nielson, G.M. (2004) /spl nu/-Quaternion Splines for the Smooth Interpolation of Orientations. IEEE Transactions on Visualization and Computer Graphics, 10, 224-229. https://doi.org/10.1109/TVCG.2004.1260774
- 16. 施法中. 计算机辅助几何设计与非均匀有理B样条[M]. 北京: 高等教育出版社, 2001: 12-24.
- 17. Shoemake, K. (1985) Animating Rotation with Quaternion Curves. Proceedings of the 12th Annual Conference on Computer Graphics and Interactive Techniques, San Francisco, 22-26 July 1985, 245-254. https://doi.org/10.1145/325334.325242
- 18. Kim, M.J., Kim, M.S. and Shin, S.Y. (1995) A General Construction Scheme for Unit Quaternion Curves with Simple High Order Derivatives. Proceedings of the 22nd Annual Conference on Computer Graphics and Interactive Techniques, New York, 369-376. https://doi.org/10.1145/218380.218486
- 19. Kim, M.J., Kim, M.S. and Shin, S.Y. (1996) A Compact Differential Formula for the First Derivative of a Unit Quaternion Curve. The Journal of Visualization and Computer Animation, 7, 43-57. https://doi.org/10.1002/(SICI)1099-1778(199601)7:1%3C43::AID-VIS136%3E3.0.CO;2-T
- 20. 邢燕, 樊文, 檀结庆, 许任政. 一类C2连续的单位四元数插值样条曲线[J]. 计算机辅助设计与图形学学报, 2017, 29(1): 45-51.
- 21. 邢燕, 白龙, 樊文, 檀结庆. C3连续的单位四元数插值样条曲线[J]. 中国图象图形学报, 2018, 23(4): 534-541.
- 22. Tan, J.Q., Xing, Y., Fan, W. and Hong, P.L. (2018) Smooth Orientation Interpolation Using Parametric Quintic-Poly- nomial-Based Quaternion Spline Curve. Journal of Computational and Applied Mathematics, 329, 256-267. https://doi.org/10.1016/j.cam.2017.07.007