CN104867172A - 一种实现刚体运动的方法 - Google Patents

一种实现刚体运动的方法 Download PDF

Info

Publication number
CN104867172A
CN104867172A CN201510280070.1A CN201510280070A CN104867172A CN 104867172 A CN104867172 A CN 104867172A CN 201510280070 A CN201510280070 A CN 201510280070A CN 104867172 A CN104867172 A CN 104867172A
Authority
CN
China
Prior art keywords
theta
rigid body
motion
sin
rigid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510280070.1A
Other languages
English (en)
Other versions
CN104867172B (zh
Inventor
罗钟铉
樊鑫
王倩
沈涵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dalian University of Technology
Original Assignee
Dalian University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dalian University of Technology filed Critical Dalian University of Technology
Priority to CN201510280070.1A priority Critical patent/CN104867172B/zh
Publication of CN104867172A publication Critical patent/CN104867172A/zh
Application granted granted Critical
Publication of CN104867172B publication Critical patent/CN104867172B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Secondary Cells (AREA)
  • Image Generation (AREA)

Abstract

本发明涉及三维动画设计领域,提供一种实现刚体运动的方法包括:步骤100,采样刚体运动过程N+1个时刻的运动数据;步骤200,通过差商算法对采样的运动数据进行数据处理,得到每个时刻的平移运动的单位切向量和曲率向量,以及旋转运动的单位切向量和曲率向量;步骤300,进行刚体平移运动的构建;步骤400,进行刚体旋转运动的构建;步骤500,根据步骤300中构建的刚体平移运动和步骤400中构建的刚体旋转运动,对刚体整体运动过程进行构建,得到刚体上每点的运动轨迹曲线;步骤600,根据得到的刚体上每点的运动轨迹曲线,使刚体按照运动轨迹曲线进行运动。本发明更接近现实生活中的真实物体运动情景,增强设计的交互性。

Description

一种实现刚体运动的方法
技术领域
本发明涉及三维动画设计领域,尤其涉及一种实现刚体运动的方法。
背景技术
刚体运动原来是物理学中的一个概念。如果一个物体在三维欧氏空间中的运动不改变它的形状及其大小,只改变它在空间中的位置,那么该物体的这种运动称为刚体运动。刚体运动设计在三维动画设计及机器人轨迹规划等相关领域中是一个重要的问题,也是一项基本的任务。
在三维动画设计及机器人轨迹规划过程中,经常会涉及到刚体运动轨迹的设计与实现,如果设计者手工排列刚体运动轨迹上的每一点,显然工作量巨大,某些情况下也并不符合现实生活中物体实际的运动轨迹。在已知某些时刻的运动数据的情况下,如果计算机利用算法能自动生成刚体的整体运动轨迹,完成运动数据的拟合,这将会大大节省设计时间,因而具有重大的现实意义和应用价值。
随着计算机技术的不断发展,计算机辅助几何设计的思想和手段越来越多的融入到了刚体运动设计中。实际上,由于平移运动可以由三维欧氏空间中的参数曲线来表示,因而计算机辅助几何设计中一些经典的样条曲线,例如Bézier样条、B样条以及NURBS曲线,都可以成为有效的平移运动设计工具。另一方面,旋转矩阵R是一个行列式为1的3×3的正交矩阵,其有九个变量,三个自由度。显然,从实际应用的角度出发,旋转矩阵并不适合直接用来描述旋转运动,取而代之的则是与其有1-1对应关系的单位四元素。因此,刚体旋转运动设计可以通过构造单位四元素曲线Q(t)(或者说是三维球面曲线)来实现。然而,球面的非欧结构使得我们无法直接利用计算机辅助几何设计中一些经典的样条曲线。为此,人们一直致力于球面曲线的构造及其性质的研究。球面曲线的构造可以分为两类:一类是将计算机辅助几何设计中一些经典的样条曲线通过映射投影到球面上,这种方法简单直接,但是构造出的球面曲线其速度和加速度波动巨大,可能会引起几何失真,不能满足实际应用的需要。另一类方法是直接在球面上构造曲线,具有代表性的是球面Bézier样条曲线。然而,对于某些初始的旋转运动插值数据,无法构造出球面Bézier插值样条。另外,由于不存在自由参数,所以现有技术利用球面Bézier样条曲线无法进行交互式的旋转运动设计。
发明内容
本发明主要解决现有技术的刚体运动设计可能发生几何失真、对需要拟合的运动数据尤其是旋转运动数据限制过多以及缺乏交互性等技术问题,提出一种实现刚体运动的方法,更接近现实生活中的真实物体运动情景,增强了设计的交互性,因而更具应用价值。
本发明提供了一种实现刚体运动的方法,包括:
步骤100,采样刚体运动过程中N+1个时刻的运动数据。
在刚体实际运动过程中,通过GPS定位设备采样N+1个时刻的运动数据,得到j时刻表示刚***置的三维向量cj以及表示刚体取向的单位四元素pj,其中,j=0,1,...,N。
步骤200,通过差商算法对采样的运动数据进行数据处理,得到每个时刻的平移运动的单位切向量和曲率向量,以及旋转运动的单位切向量和曲率向量。
根据步骤100中的采样的运动数据,通过差商算法近似计算出平移运动j时刻cj处的单位切向量和曲率向量,以及旋转运动j时刻pj处的单位切向量和曲率向量
步骤300,进行刚体平移运动的构建。
由于平移运动可以用三维欧氏空间中的一条参数曲线来表示,因而计算机辅助几何设计中一些经典的样条曲线(例如Bézier样条、B样条以及NURBS曲线)都可以成为有效的平移运动设计工具。本发明中,我们采用Bézier样条曲线c(t)对初始给定的平移运动数据进行拟合。
步骤301,利用n次Bézier曲线对相邻两个时刻的平移运动数据进行拟合,得到插值平移运动数据的五次Bézier曲线。
步骤302,将步骤301中的五次Bézier曲线组合成Bézier样条曲线,从而完成平移运动的构建。
步骤301和步骤302的具体过程为:根据j时刻和j+1时刻的平移运动数据求出一段Bézier曲线的六个控制顶点,进而得到由这六个控制顶点确定的Bézier曲线,该曲线插值j时刻和j+1时刻的平移运动数据;再将这N段曲线组合成Bézier样条曲线c(t),该样条曲线插值所有N+1个时刻的平移运动数据,从而完成平移运动的构建。
步骤400,进行刚体旋转运动的构建,包括以下过程:
步骤401,建立标准型n次广义有理Bézier曲线。
对于整数n≥1,用b0,b1,…,bn表示m维单位球面Sm上n+1个互不相同的点的坐标,w0,w1,…,wn是n+1个正数。对于i=0,1,...,n-1,令
θi:=∠(bi,bi+1),    (1)
l i 0 ( t ) : = tw i + 1 ( 1 - t ) w i , t ∈ [ 0 , 1 ) , ∞ , t = 1 , - - - ( 2 )
b i 1 ( t ) : = sin θ i 1 + l i 0 ( t ) sinθ i b i + sin l i 0 ( t ) θ i 1 + l i 0 ( t ) sinθ i b i + 1 , t ∈ [ 0 , 1 ] , - - - ( 3 )
w i 1 ( t ) : = ( 1 - t ) w i + tw i + 1 , t ∈ [ 0 , 1 ] , - - - ( 4 )
其中,∠(·,·)表示两个向量之间的夹角,表示球面Sm上连接bi和bi+1两点的大圆劣弧。
类似地,对于k=2,3,...,n,i=0,1,...,n-k,令
θ i k - 1 ( t ) : = ∠ ( b i k - 1 ( t ) , b i + 1 k - 1 ( t ) ) , t ∈ [ 0 , 1 ] , - - - ( 5 )
l i k - 1 ( t ) : = tw i + 1 k - 1 ( t ) ( 1 - t ) w i k - 1 ( t ) , t ∈ [ 0 , 1 ) , ∞ , t = 1 , - - - ( 6 )
b i k ( t ) : = sin θ i k - 1 ( t ) 1 + l i k - 1 ( t ) sinθ i k - 1 ( t ) b i k - 1 ( t ) + sin l i k - 1 ( t ) θ i k - 1 ( t ) 1 + l i k - 1 ( t ) sinθ i k - 1 ( t ) b i + 1 k - 1 ( t ) , t ∈ [ 0 , 1 ] , - - - ( 7 )
w i k ( t ) : = ( 1 - t ) w i k - 1 ( t ) + tw i + 1 k - 1 ( t ) , t ∈ [ 0 , 1 ] , - - - ( 8 )
公式(1)-(8)定义的算法称为广义有理德卡斯特里奥算法。图1为广义有理德卡斯特里奥算法操作过程的示意图。参照图1,由该算法定义的曲线r:[0,1]→Sm:
r ( t ) : = b 0 n ( t )
称为以b0,b1,…,bn为控制顶点,以w0,w1,…,wn为相应权因子的n次广义有理Bézier曲线。通常情况下,令w0=wn=1,相应的曲线称为标准型n次广义有理Bézier曲线。
步骤402,利用建立的标准型n次广义有理Bézier曲线对相邻两个时刻的旋转运动数据进行拟合,得到插值旋转运动数据的标准型五次广义有理Bézier曲线。
在本发明中,对于标准型n次广义有理Bézier曲线,使n取5。设j=0,1,...,N-1,单位四元素pj和pj+1分别表示刚体在j时刻和j+1时刻的取向,即刚体在两个相邻时刻的取向,分别表示pj处的单位切向量和曲率向量,分别表示pj+1处的单位切向量和曲率向量。通过以下公式计算标准型五次广义有理Bézier曲线rj:[0,1]→S3的控制顶点:
b6j=pj,b6j+5=pj+1,    (9)
b 6 j + 1 = cosθ 6 j b 6 j + sinθ 6 j v j ( 1 ) , - - - ( 10 )
b 6 j + 4 = cosθ 6 j + 4 b 6 j + 5 - sinθ 6 j + 4 v j + 1 ( 1 ) , - - - ( 11 )
b 6 j + 2 = cosθ 6 j + 1 b 6 j + 1 + w 6 j + 1 sinθ 6 j + 1 w 6 j + 2 θ 6 j + 1 b · 6 j + 1 1 ( 0 ) , - - - ( 12 )
b 6 j + 3 = cosθ 6 j + 3 b 6 j + 4 - w 6 j + 4 sinθ 6 j + 3 w 6 j + 3 θ 6 j + 3 b · 6 j + 3 1 ( 1 ) , - - - ( 13 )
其中,
θ 6 j = β j ( 1 ) 5 w 6 j + 1 , θ 6 j + 4 = β j + 1 ( 1 ) 5 w 6 j + 4 , - - - ( 14 )
θ 6 j + 1 = w 6 j + 1 || b · 6 j + 1 1 ( 0 ) || w 6 j + 2 , θ 6 j + 3 = w 6 j + 4 || b · 6 j + 3 1 ( 1 ) || w 6 j + 3 , - - - ( 15 )
b &CenterDot; 6 j + 1 1 ( 0 ) = sin&theta; 6 j n ( n - 1 ) w 6 j + 1 &theta; 6 j c j - 2 w 6 j + 1 - 2 n ( w 6 j + 1 ) 2 + ( n - 1 ) w 6 j + 2 n - 1 b &CenterDot; 6 j 1 ( 1 ) - < c j , b 6 j + 1 > n ( n - 1 ) &theta; 6 j ( 1 ( w 1 ) 2 &theta; 6 j b &CenterDot; 6 j 1 ( 0 ) - 1 sin&theta; 6 j b &CenterDot; 6 j 1 ( 1 ) ) , - - - ( 16 )
b &CenterDot; 6 j + 3 1 ( 1 ) = - sin&theta; 6 j + 4 n ( n - 1 ) w 6 j + 4 &theta; 6 j + 4 c j + 1 - 2 w 6 j + 4 - 2 n ( w 6 j + 4 ) 2 + ( n - 1 ) w 6 j + 3 n - 1 b &CenterDot; 6 j + 4 1 ( 0 ) - < c j + 1 , b 6 j + 4 > n ( n - 1 ) &theta; 6 j + 4 ( b &CenterDot; 6 j + 4 1 ( 1 ) ( w 6 j + 4 ) 2 &theta; n - 1 - b &CenterDot; 6 j + 4 1 ( 0 ) sin&theta; 6 j + 4 ) , - - - ( 17 )
c j = ( &beta; j ( 1 ) ) 2 p j + &beta; j ( 2 ) v j ( 1 ) + ( &beta; j ( 1 ) ) 2 v j ( 2 ) , - - - ( 18 )
c j + 1 = ( &beta; j + 1 ( 1 ) ) 2 p j + 1 + &beta; j + 1 ( 2 ) v j + 1 ( 1 ) + ( &beta; j + 1 ( 1 ) ) 2 v j + 1 ( 2 ) , - - - ( 19 )
其中,表示形状参数。由此构造出的曲线rj(t)按照如下方式插值旋转运动数据:
r(0)=pj
r(1)=pj+1
r &CenterDot; ( 0 ) = &beta; j ( 1 ) v j ( 1 ) ,
r &CenterDot; ( 1 ) = &beta; j + 1 ( 1 ) v j + 1 ( 1 ) ,
r &CenterDot;&CenterDot; ( 0 ) = &beta; j ( 2 ) v j ( 1 ) + ( &beta; j ( 1 ) ) 2 v j ( 2 ) ,
r &CenterDot;&CenterDot; ( 1 ) = &beta; j + 1 ( 2 ) v j + 1 ( 1 ) + ( &beta; j + 1 ( 1 ) ) 2 v j + 1 ( 2 ) .
步骤403,将步骤402中的标准型五次广义有理Bézier曲线组合成广义有理Bézier样条曲线,从而完成旋转运动的构建。
设rj(t)(j=0,1,...,N-1)是步骤402中得到的标准型五次广义有理Bézier曲线,通过以下公式构造广义有理Bézier样条曲线
r ~ ( t ) : = r j ( t - j ) , t &Element; &lsqb; j , j + 1 &rsqb; ,
则样条曲线插值初始给定的旋转运动数据,从而完成旋转运动的构建。
在上述过程中,我们采用步骤401中建立的由控制顶点坐标确定的标准型n次广义有理Bézier曲线对初始给定的N+1个时刻的旋转运动数据进行拟合。具体的,首先在步骤402中根据j时刻和j+1时刻的旋转运动数据,求出一段标准型五次广义有理Bézier曲线的六个控制顶点;然后使n取5,并利用步骤401中的定义方法得到由这六个控制顶点确定的标准型五次广义有理Bézier曲线rj(t)(j=0,1,...,N-1),该曲线插值j时刻和j+1时刻的旋转运动数据;最后在步骤403中将这N段曲线组合成广义有理Bézier样条曲线该样条曲线插值所有N+1个时刻的旋转运动数据,从而完成旋转运动的构建。
步骤500:根据步骤300中构建出的刚体平移运动和步骤400中构建的刚体旋转运动,对刚体整体运动过程进行构建,得到刚体上每点的运动轨迹曲线。
对于任意时刻t,首先根据公式(20)将四元素转化为旋转矩阵R(t)。具体对应关系如下:
R = 1 q 0 2 + q 1 2 + q 2 2 + q 3 2 q 0 2 + q 1 2 - q 2 2 - q 3 2 2 ( q 1 q 2 - q 0 q 3 ) 2 ( q 1 q 3 - q 0 q 2 ) 2 ( q 1 q 2 + q 0 q 3 ) q 0 2 - q 1 2 + q 2 2 - q 3 2 2 ( q 2 q 3 - q 0 q 1 ) 2 ( q 1 q 3 + q 0 q 2 ) 2 ( q 2 q 3 + q 0 q 1 ) q 0 2 - q 1 2 - q 2 2 + q 3 2 . - - - ( 20 )
然后通过公式(21)对刚体整体运动过程进行构建:
p ( t ) = c ( t ) + R ( t ) p ^ , - - - ( 21 )
其中,在刚体上建立一个坐标系,称为移动坐标系,表示刚体上任意一点在移动坐标系下的坐标,在刚体运动所在三维欧氏空间中建立一个坐标系,称为世界坐标系,p(t)表示运动过程中t时刻点在世界坐标系下的坐标,平移运动c(t)表示任意时刻刚体在三维欧氏空间中的位置,旋转运动R(t)则表示刚体在每个位置上的取向。根据公式(21)计算出刚体上任意一点在世界坐标系下的坐标p(t)。由此,完成了刚体整体运动过程的构建,得到刚体上每点的运动轨迹曲线。
步骤600,根据得到的刚体上每点的运动轨迹曲线,使刚体按照运动轨迹曲线进行运动。
本发明提供的一种实现刚体运动的方法,在已知某些时刻刚体平移运动数据和旋转运动数据的基础上,利用Bézier样条曲线和本发明中的广义有理Bézier样条曲线,可以分别拟合出刚体平移运动轨迹和旋转运动轨迹,进而计算机可以自动拟合出刚体整体运动轨迹,这样就避免了设计者手工排列刚体运动轨迹上的每一点的巨大工作量。本发明中的广义有理Bézier曲线是直接在球面上构造的,因此可以避免投影映射引起的几何失真的情况发生,使得拟合结果更加符合现实生活中物体实际的运动轨迹。广义有理Bézier曲线的权因子和拟合过程中引入的形状参数使得本发明适用于任意需要拟合的旋转运动数据,取消了对运动数据的限制,应用范围更广。另外设计者还可以根据设计需求,通过修改权因子和形状参数的取值对拟合出的刚体运动轨迹做进一步的调整,增强了设计的交互性,更具实际应用价值。
附图说明
图1为广义有理德卡斯特里奥算法操作过程的示意图;
图2为本发明实施例提供的实现刚体运动的方法的实现流程图;
图3为本发明实施例提供的刚体旋转运动构建方法的实现流程图。
具体实施方式
为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
图2为本发明实施例提供的实现刚体运动的方法的实现流程图。本实施例中以飞行器为例对实现刚体运动的方法进行说明。如图2所示,本发明实施例提供的实现刚体运动的方法包括:
步骤100,采样飞行器飞行过程中N+1个时刻的运动数据。
在飞行器实际飞行过程中,通过GPS定位设备采样N+1个时刻的运动数据,得到j时刻表示飞行器位置的三维向量cj以及表示飞行器取向的单位四元素pj,其中,j=0,1,...,N。
步骤200,对采样的运动数据进行数据处理。
根据步骤100中的采样的运动数据,通过差商算法近似计算出平移运动j时刻cj处的单位切向量和曲率向量,以及旋转运动j时刻pj处的单位切向量和曲率向量
步骤300,进行飞行器平移运动的构建。
由于平移运动可以用三维欧氏空间中的一条参数曲线来表示,因而计算机辅助几何设计中一些经典的样条曲线(例如Bézier样条、B样条以及NURBS曲线)都可以成为有效的平移运动设计工具。本发明中,我们采用Bézier样条曲线c(t)对初始给定的平移运动数据进行拟合。具体的,根据j时刻和j+1时刻的平移运动数据求出一段Bézier曲线的六个控制顶点,进而得到由这六个控制顶点确定的Bézier曲线,该曲线插值j时刻和j+1时刻的平移运动数据;再将这N段曲线组合成Bézier样条曲线c(t),该样条曲线插值所有N+1个时刻的平移运动数据,从而完成平移运动的构建。
步骤400,进行飞行器旋转运动的构建。
图3为本发明实施例提供的刚体旋转运动构建方法的实现流程图,如图3所示,飞行器旋转运动的构建具体包括以下过程:
步骤401,建立标准型n次广义有理Bézier曲线。
步骤402,利用建立的标准型n广义有理Bézier曲线对相邻两个时刻的旋转运动数据进行拟合,得到插值旋转运动数据的标准型五次广义有理Bézier曲线。
步骤403,将步骤402中的标准型五次广义有理Bézier曲线组合成广义有理Bézier样条曲线,从而完成旋转运动的构建。
其中,步骤402和步骤403的具体过程为:
1、令j=0;
2、根据公式(9)计算出五次广义有理Bézier曲线rj:[0,1]→S3的控制顶点b6j,b6j+5
3、采用自适应的方法,选取权因子w6j+1,w6j+4和形状参数根据公式(14)计算出θ6j6j+4;根据公式(10)-(11)计算出曲线rj(t)的控制顶点b6j+1,b6j+4
4、采用自适应的方法,选取权因子w6j+2,w6j+3和形状参数根据公式(15)-(19)计算出θ6j+16j+3;根据公式(12)-(13)计算出曲线rj(t)的控制顶点b6j+2,b6j+3
5、利用上面求出的b6j,b6j+5、b6j+1,b6j+4和b6j+2,b6j+3,根据广义有理德卡斯特里奥算法计算曲线rj(t);
6、如果旋转运动数据全部拟合完毕,则按照步骤7进行操作;否则,将j的取值加1,并按照步骤2进行操作;
7、设rj(t)(j=0,1,...,N-1)是步骤5中得到的标准型五次广义有理Bézier曲线,通过以下公式构造广义有理Bézier样条曲线
r ~ ( t ) : = r j ( t - j ) , t &Element; &lsqb; j , j + 1 &rsqb; ,
则样条拟合初始给定的旋转运动数据,从而完成旋转运动的构建。
步骤500:根据步骤300中构建出的飞行器平移运动和步骤400中构建出的飞行器旋转运动,对飞行器整体飞行过程进行构建,得到飞行器上每点的运动轨迹曲线。
对于任意时刻t,首先根据公式(20)将四元素转化为旋转矩阵R(t);再根据公式(21)对飞行器整体飞行过程进行构建,得到飞行器上每点的运动轨迹曲线。
步骤600,根据得到的飞行器上每点的运动轨迹曲线,使飞行器按照运动轨迹曲线进行运动。
本实施例提供的实现刚体运动的方法,是将刚体运动分为旋转运动和平移运动两部分来进行构建的。其中旋转运动的构建,首先是通过将有理德卡斯特里奥算法中的直线段用大圆劣弧代替而得到广义有理德卡斯特里奥算法,并根据该算法建立了标准型广义有理Bézier曲线;再依据标准型广义有理Bézier曲线端点处的性质,规定了标准型五次广义有理Bézier曲线控制顶点的选取方式,使得曲线拟合初始给定的旋转运动数据,其中的权因子和形状参数的选取,采用自适应的方式。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (7)

1.一种实现刚体运动的方法,其特征在于,所述实现刚体运动的方法包括:
步骤100,采样刚体运动过程中N+1个时刻的运动数据;
步骤200,通过差商算法对采样的运动数据进行数据处理,得到每个时刻的平移运动的单位切向量和曲率向量,以及旋转运动的单位切向量和曲率向量;
步骤300,进行刚体平移运动的构建;
步骤400,进行刚体旋转运动的构建,包括以下过程:
步骤401,建立标准型n次广义有理Bézier曲线;
步骤402,利用建立的标准型n次广义有理Bézier曲线对相邻两个时刻的旋转运动数据进行拟合,得到插值旋转运动数据的标准型五次广义有理Bézier曲线;
步骤403,将步骤402中的标准型五次广义有理Bézier曲线组合成广义有理Bézier样条曲线,从而完成旋转运动的构建;
步骤500,根据步骤300中构建的刚体平移运动和步骤400中构建的刚体旋转运动,对刚体整体运动过程进行构建,得到刚体上每点的运动轨迹曲线;
步骤600,根据得到的刚体上每点的运动轨迹曲线,使刚体按照运动轨迹曲线进行运动。
2.根据权利要求1所述的实现刚体运动的方法,其特征在于,所述采样刚体运动过程中N+1个时刻的运动数据,包括:
在刚体实际运动过程中,通过GPS定位设备采样刚体运动过程中N+1个时刻的运动数据,得到表示刚***置的三维向量序列以及表示刚体取向的单位四元素序列。
3.根据权利要求1所述的实现刚体运动的方法,其特征在于,所述进行刚体平移运动的构建,包括以下子步骤:
步骤301,利用n次Bézier曲线对相邻两个时刻的平移运动数据进行拟合,得到插值平移运动数据的五次Bézier曲线;
步骤302,将步骤301中的五次Bézier曲线组合成Bézier样条曲线,从而完成平移运动的构建。
4.根据权利要求1所述的实现刚体运动的方法,其特征在于,所述建立标准型n次广义有理Bézier曲线,包括:
对于整数n≥1,用b0,b1,…,bn表示m维单位球面Sm上n+1个互不相同的点的坐标,w0,w1,…,wn是n+1个正数,对于i=0,1,…,n-1,令
θi:=∠(bi,bi+1),   (1)
l i 0 ( t ) : = tw i + 1 ( 1 - t ) w i , t &Element; &lsqb; 0 , 1 ) , &infin; , t = 1 , - - - ( 2 )
b i 1 ( t ) : = sin &theta; i 1 + l i 0 ( t ) sin&theta; i b i + sin l i 0 ( t ) &theta; i 1 + l i 0 ( t ) sin&theta; i b i + 1 , t &Element; &lsqb; 0 , 1 &rsqb; , - - - ( 3 )
w i 1 ( t ) : = ( 1 - t ) w i + tw i + 1 , t &Element; &lsqb; 0 , 1 &rsqb; , - - - ( 4 ) 其中,∠(·,·)表示两个向量之间的夹角,表示球面Sm上连接bi和bi+1两点的大圆劣弧;
对于k=2,3,…,n,i=0,1,…,n-k,令
&theta; i k - 1 ( t ) : = &angle; ( b i k - 1 ( t ) , b i + 1 k - 1 ( t ) ) , t &Element; &lsqb; 0 , 1 &rsqb; , - - - ( 5 )
l i k - 1 ( t ) : = tw i + 1 k - 1 ( t ) ( 1 - t ) w i k - 1 ( t ) , t &Element; &lsqb; 0 , 1 ) , &infin; , t = 1 , - - - ( 6 )
b i k ( t ) : = sin &theta; i k - 1 ( t ) 1 + l i k - 1 ( t ) sin&theta; i k - 1 ( t ) b i k - 1 ( t ) + sin l i k - 1 ( t ) &theta; i k - 1 ( t ) 1 + l i k - 1 ( t ) sin&theta; i k - 1 ( t ) b i + 1 k - 1 ( t ) , t &Element; &lsqb; 0 , 1 &rsqb; , - - - ( 7 )
w i k ( t ) : = ( 1 - t ) w i k - 1 ( t ) + tw i + 1 k - 1 ( t ) , t &Element; &lsqb; 0 , 1 &rsqb; , - - - ( 8 ) 由公式(1)-(8)定义的曲线r:[0,1]→Sm:
r ( t ) : = b 0 n ( t )
称为以b0,b1,…,bn为控制顶点,以w0,w1,…,wn为相应权因子的n次广义有理Bézier曲线;当w0=wn=1时,为标准型n次广义有理Bézier曲线。
5.根据权利要求1所述的实现刚体运动的方法,其特征在于,利用建立的标准型n次广义有理Bézier曲线对相邻两个时刻的旋转运动数据进行拟合,得到插值旋转运动数据的标准型五次广义有理Bézier曲线,包括以下过程:
通过以下公式计算五次广义有理Bézier曲线rj:[0,1]→S3的控制顶点:
b6j=pj,b6j+5=pj+1,    (9)
b 6 j + 1 = cos&theta; 6 j b 6 j + sin&theta; 6 j v j ( 1 ) , - - - ( 10 )
b 6 j + 4 = cos&theta; 6 j + 4 b 6 j + 5 - sin&theta; 6 j + 4 v j + 1 ( 1 ) , - - - ( 11 )
b 6 j + 2 = cos&theta; 6 j + 1 b 6 j + 1 + w 6 j + 1 sin&theta; 6 j + 1 w 6 j + 2 &theta; 6 j + 1 b &CenterDot; 6 j + 1 1 ( 0 ) , - - - ( 12 )
b 6 j + 3 = cos&theta; 6 j + 3 b 6 j + 4 - W 6 j + 4 sin&theta; 6 j + 3 W 6 j + 3 &theta; 6 j + 3 b &CenterDot; 6 j + 3 1 ( 1 ) , - - - ( 13 ) 其中,j=0,1,…,N-1,单位四元素pj和pj+1分别表示刚体在j时刻和j+1时刻的取向,分别表示pj处的单位切向量和曲率向量,分别表示pj+1处的单位切向量和曲率向量;
&theta; 6 j = &beta; j ( 1 ) 5 w 6 j + 1 , &theta; 6 j + 4 = &beta; j + 1 ( 1 ) 5 w 6 j + 4 , - - - ( 14 )
&theta; 6 j + 1 = w 6 j + 1 | | b &CenterDot; 6 j + 1 1 ( 0 ) | | w 6 j + 2 , &theta; 6 j + 3 = w 6 j + 4 | | b &CenterDot; 6 j + 3 1 ( 1 ) | | w 6 j + 3 , - - - ( 15 )
b &CenterDot; 6 j + 1 1 ( 0 ) = sin&theta; 6 j n ( n - 1 ) w 6 j + 1 &theta; 6 j c j - 2 w 6 j + 1 - 2 n ( w 6 j + 1 ) 2 + ( n - 1 ) w 6 j + 2 n - 1 b &CenterDot; 6 j 1 ( 1 ) - < c j , b 6 j + 1 > n ( n - 1 ) &theta; 6 j ( 1 ( w 1 ) 2 &theta; 6 j b &CenterDot; 6 j 1 ( 0 ) - 1 sin&theta; 6 j b &CenterDot; 6 j 1 ( 1 ) ) , - - - ( 16 )
b &CenterDot; 6 j + 3 1 ( 1 ) = - sin&theta; 6 j + 4 n ( n - 1 ) w 6 j + 4 &theta; 6 j + 4 c j + 1 - 2 w 6 j + 4 - 2 n ( w 6 j + 4 ) 2 + ( n - 1 ) w 6 j + 3 n - 1 b &CenterDot; 6 j + 4 1 ( 0 ) - < c j + 1 , b 6 j + 4 > n ( n - 1 ) &theta; 6 j + 4 ( b &CenterDot; 6 j + 4 1 ( 1 ) ( w 6 j + 4 ) 2 &theta; n - 1 - b &CenterDot; 6 j + 4 1 ( 0 ) sin&theta; 6 j + 4 ) , - - - ( 17 )
c j = ( &beta; j ( 1 ) ) 2 p j + &beta; j ( 2 ) v j ( 1 ) + ( &beta; j ( 1 ) ) 2 v j ( 2 ) , - - - ( 18 )
c j + 1 = ( &beta; j + 1 ( 1 ) ) 2 p j + 1 + &beta; j + 1 ( 2 ) v j + 1 ( 1 ) + ( &beta; j + 1 ( 1 ) ) 2 v j + 1 ( 2 ) , - - - ( 19 )
其中, &beta; j ( 1 ) , &beta; j ( 2 ) , &beta; j + 1 ( 1 ) , &beta; j + 1 ( 2 ) 表示形状参数。
6.根据权利要求1所述的实现刚体运动的方法,其特征在于,将步骤402中的标准型五次广义有理Bézier曲线组合成广义有理Bézier样条曲线,包括:
通过以下公式构造广义有理Bézier样条曲线
r ~ ( t ) : = r j ( t - j ) , t &Element; &lsqb; j , j + 1 &rsqb; ,
其中,j=0,1,…,N-1,则样条曲线插值初始给定的旋转运动数据,从而完成旋转运动的构建。
7.根据权利要求1所述的实现刚体运动的方法,其特征在于,根据步骤300中构建出的刚体平移运动和步骤400中构建出的刚体旋转运动,对刚体整体运动过程进行构建,得到刚体上每点的运动轨迹曲线,包括:
对于任意时刻t,首先根据公式(20)将样条转化为旋转矩阵R(t),具体对应关系如下:
R = 1 q 0 2 + q 1 2 + q 2 2 + q 3 2 q 0 2 + q 1 2 - q 2 2 - q 3 2 2 ( q 1 q 2 - q 0 q 3 ) 2 ( q 1 q 3 - q 0 q 2 ) 2 ( q 1 q 2 + q 0 q 3 ) q 0 2 - q 1 2 + q 2 2 - q 3 2 2 ( q 2 q 3 - q 0 q 1 ) 2 ( q 1 q 3 + q 0 q 2 ) 2 ( q 2 q 3 + q 0 q 1 ) q 0 2 - q 1 2 - q 2 2 + q 3 2 . - - - ( 20 )
通过公式(21)对刚体整体运动过程进行构建:
p ( t ) = c ( t ) + R ( t ) p ^ , - - - ( 21 ) 其中,表示刚体上任意一点在移动坐标系下的坐标,p(t)表示运动过程中t时刻点在世界坐标系下的坐标,平移运动c(t)表示任意时刻刚体在三维欧氏空间中的位置,旋转运动R(t)则表示刚体在每个位置上的取向,根据公式(21)计算出刚体上任意一点在世界坐标系下的坐标p(t)。
CN201510280070.1A 2015-05-28 2015-05-28 一种实现刚体运动的方法 Expired - Fee Related CN104867172B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510280070.1A CN104867172B (zh) 2015-05-28 2015-05-28 一种实现刚体运动的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510280070.1A CN104867172B (zh) 2015-05-28 2015-05-28 一种实现刚体运动的方法

Publications (2)

Publication Number Publication Date
CN104867172A true CN104867172A (zh) 2015-08-26
CN104867172B CN104867172B (zh) 2017-12-26

Family

ID=53912987

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510280070.1A Expired - Fee Related CN104867172B (zh) 2015-05-28 2015-05-28 一种实现刚体运动的方法

Country Status (1)

Country Link
CN (1) CN104867172B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105631918A (zh) * 2015-12-25 2016-06-01 北京像素软件科技股份有限公司 一种模拟三维物体运动的方法和***
CN105825537A (zh) * 2015-11-30 2016-08-03 维沃移动通信有限公司 一种生成动画曲线的方法及终端
CN106289147A (zh) * 2016-07-21 2017-01-04 中国海洋大学 一种简单悬链式立管出平面刚体运动的试验方法
JP2017097720A (ja) * 2015-11-26 2017-06-01 Necソリューションイノベータ株式会社 航跡描画装置、航跡描画方法、及びプログラム
CN110298864A (zh) * 2018-03-23 2019-10-01 深圳市衡泰信科技有限公司 一种高尔夫推杆设备的视觉感测方法及装置
CN112348930A (zh) * 2020-11-30 2021-02-09 辽宁师范大学 一种基于球面样条曲线的刚体旋转运动设计方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7646383B1 (en) * 2004-05-28 2010-01-12 Autodesk, Inc. Methods and apparatuses to effect deformation of computer-generated three-dimensional surfaces
CN104359464A (zh) * 2014-11-02 2015-02-18 天津理工大学 基于立体视觉的移动机器人定位方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7646383B1 (en) * 2004-05-28 2010-01-12 Autodesk, Inc. Methods and apparatuses to effect deformation of computer-generated three-dimensional surfaces
CN104359464A (zh) * 2014-11-02 2015-02-18 天津理工大学 基于立体视觉的移动机器人定位方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ZHONGXUAN LUO 等: "Geometrically Continuous Interpolation in Spheres", 《JOURNAL OF MATHEMATICAL RESEARCH WITH APPLICATIONS》 *
ZHONGXUAN LUO 等: "Interpolation in Riemannian Manifolds with Geometric Continuity", 《AWERPROCEDIA INFORMATION TECHNOLOGY & COMPUTER SCIENCE》 *
李华: "基于Bezier曲线模型的步态识别研究", 《电工技术学报》 *
蔡国平 等: "中心刚体-柔性梁***的旋转运动控制", 《宇航学报》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017097720A (ja) * 2015-11-26 2017-06-01 Necソリューションイノベータ株式会社 航跡描画装置、航跡描画方法、及びプログラム
CN105825537A (zh) * 2015-11-30 2016-08-03 维沃移动通信有限公司 一种生成动画曲线的方法及终端
CN105631918A (zh) * 2015-12-25 2016-06-01 北京像素软件科技股份有限公司 一种模拟三维物体运动的方法和***
CN106289147A (zh) * 2016-07-21 2017-01-04 中国海洋大学 一种简单悬链式立管出平面刚体运动的试验方法
CN106289147B (zh) * 2016-07-21 2019-02-12 中国海洋大学 一种简单悬链式立管出平面刚体运动的试验方法
CN110298864A (zh) * 2018-03-23 2019-10-01 深圳市衡泰信科技有限公司 一种高尔夫推杆设备的视觉感测方法及装置
CN112348930A (zh) * 2020-11-30 2021-02-09 辽宁师范大学 一种基于球面样条曲线的刚体旋转运动设计方法

Also Published As

Publication number Publication date
CN104867172B (zh) 2017-12-26

Similar Documents

Publication Publication Date Title
CN104867172A (zh) 一种实现刚体运动的方法
Johnson Exploiting quaternions to support expressive interactive character motion
Haarbach et al. Survey of higher order rigid body motion interpolation methods for keyframe animation and continuous-time trajectory estimation
CN105773620A (zh) 基于倍四元数的工业机器人自由曲线的轨迹规划控制方法
CN107584474B (zh) 一种基于几何投影的球面关节双臂机器人协调运动方法
CN104966316A (zh) 一种3d人脸重建方法、装置及服务器
Lee et al. Complete swept volume generation, Part I: Swept volume of a piecewise C1-continuous cutter at five-axis milling via Gauss map
CN111142562B (zh) 基于应力矩阵的混合条件约束下的编队变换控制方法
CN107168516A (zh) 基于vr及手势交互技术的全球气候矢量场数据可视化方法
JPH05342310A (ja) 線要素データの3次元変換装置及び方法
CN103792885B (zh) 一种数控弯管加工仿真方法及装置
CN104123747A (zh) 多方式触控三维建模方法和***
CN101719284A (zh) 一种基于层次模型的虚拟人皮肤物理变形方法
CN103729877A (zh) 一种三维模型的有向包围盒构造的方法和***
CN112541969B (zh) 一种三维人体模型骨骼动态转移绑定方法
CN107791248A (zh) 基于不满足pipper准则的六自由度串联机器人的控制方法
CN104677347A (zh) 一种基于Kinect生成三维导航地图室内移动机器人
CN103389649B (zh) 一种基于球面拼接网格的飞行器机动运动模拟方法
CN105035371B (zh) 一种基于osg三维引擎的经典轨道三维空间关系构建方法
Busam et al. Quaternionic upsampling: Hyperspherical techniques for 6 dof pose tracking
Liu et al. Practical fabrication of discrete chebyshev nets
Garcia et al. Interactive applications for sketch-based editable polycube map
Wu et al. Variational mannequin approximation using spheres and capsules
Luo et al. Generalized rational Bézier curves for the rigid body motion design
Shi et al. G n filling orbicular N-sided holes using periodic B-spline surfaces

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171226

Termination date: 20200528

CF01 Termination of patent right due to non-payment of annual fee