法律状态公告日
法律状态信息
法律状态
2014-08-13
未缴年费专利权终止 IPC(主分类):G06T17/00 授权公告日:20120704 终止日期:20130628 申请日:20100628
专利权的终止
2012-07-04
授权
授权
2011-01-05
实质审查的生效 IPC(主分类):G06T17/00 申请日:20100628
实质审查的生效
2010-11-24
公开
公开
技术领域
本发明涉及一种运动单元弯曲和扭转角度分析方法,属于计算机图形学、虚拟现实技术领域。
背景技术
在三维模型的变形中,通常有以下几种变形技术:Morphing方法、FFD变形方法、基于骨骼的变形方法。Morphing方法通过插值方法实现变形,FFD变形方法通过控制包围三维模型表面的控制体实现变形,基于骨骼的变形技术通过设置模型表面网格顶点对应于骨骼的影响权值实现变形。有些三维模型的变形,如人体的躯干和四肢的变形,具有以下特点:变形发生在关节点附近的区域,属于局部变形;变形由一段骨骼围绕一个关节点旋转引起,因此变形后的模型与骨骼的运动情况一致;模型对应的关节点自由度多,运动复杂。这类模型的变形,需要满足以下要求:根据骨骼运动数据对三维模型的局部区域进行自动变形。Morphing方法和FFD变形方法不能跟骨骼的运动数据相结合,基于骨骼的变形方法需要对影响权值进行反复的调整,不能实现自动变形。
为了实现复杂三维模型的各种变形,可以使用通过专业动作捕捉设备获得的动作数据驱动三维模型进行自动变形。复杂三维模型的关节点数目很多,关节点构成的骨骼结构复杂,使用动作数据驱动三维模型进行自动变形需要对动作数据作复杂的分析和处理。
针对以上情况,本专利提出了一种通过比较运动单元中关节点在骨骼运动数据中的位置变化来获得弯曲和扭转角度的方法。运动单元包括三个关节点A、O、B,其中关节点A和O连接成骨骼OA,关节点B和O连接成骨骼OB,这样的结构称为运动单元。骨骼运动数据是指利用专业动作捕捉设备获得的动作数据,可参考T.K.Capin,I.S.Pandiz,H.Noser,et al.Virtual Human Representationand Communication in VLNET[J].IEEE Computer Graphics and Applications,1997.17(2):42-53。
通过将三维模型中复杂的骨骼结构分解成最基本的运动单元,并从骨骼运动数据中获取每一个运动单元的弯曲和扭转角度,利用该角度对三维模型的每一个运动单元对应的局部区域进行变形,可以简化使用动作数据驱动三维模型进行自动变形的计算,并可以通过对每一个运动单元对应的局部区域分别应用较优的变形设置参数来获得更佳的变形效果。
发明内容
本发明的目的是克服已有技术的缺陷,为了解决使用动作数据驱动三维模型进行自动变形的问题,提出一种通过比较运动单元中关节点在骨骼运动数据中的位置变化来获得弯曲和扭转角度的方法。
本发明是通过下述技术方案实现的:
运动单元包括三个关节点A、O、B,其中关节点A和O连接成骨骼OA,关节点B和O连接成骨骼OB,将这样的结构称为运动单元。
使用以下方法根据骨骼运动数据计算运动单元的弯曲角度和扭转角度:
(1)获取关节点A、O、B在骨骼运动数据的初始帧中的坐标A1、O1、B1。所述骨骼运动数据是指利用专业动作捕捉设备获得的动作数据,可参考T.K.Capin,I.S.Pandiz,H.Noser,et al.Virtual Human Representation andCommunication in VLNET[J].IEEE Computer Graphics and Applications,1997.17(2):42-53.
(2)获取关节点A、O、B在骨骼运动数据的当前帧中的坐标A2、O2、B2。
(3)使用平移向量平移A2、B2,获得平移后的坐标A2′、B2′;
即根据下式计算A2、B2平移后的坐标A2′、B2′:
(4)围绕O1旋转B2′,获得B2′旋转后的坐标B2″,即根据如下方法计算B2′旋转后的坐标B2″:
①计算旋转角
以及旋转轴方向向量ρ=ρ′/|ρ′|,其中并将ρ写为(x,y,z)的形式;
②根据步骤①的结果计算旋转矩阵R:
③B2′旋转后的坐标B2″=B2′·RT+O1·(I-RT),其中I为单位矩阵,上标T表示对矩阵进行转置操作;
(5)根据下式计算B2″的局部坐标B2′″:
其中F1为初始帧的局部坐标系到世界坐标系的变换矩阵,它是一个4×4矩阵,且并且向量向量γ1=γ1′/|γ1′|,向量α1=β1×γ1;×表示向量的叉乘;μo1表示关节点O1在世界坐标系中的坐标的向量表示;
(6)将局部坐标B2′″写为(x2,y2,z2)的形式,计算当前局部模型的弯曲角度w2和扭转角度w1的方法分别如下:
①若其中x2>0,则扭转角度否则扭转角度
②弯曲角度w2=θ2-θ1,其中
θ1的确定方法为:若x2<0,则θ1=2π-θ1′;否则θ1=θ1′;其中
对比已有技术,本发明技术方案的有益效果在于,通过比较运动单元中关节点在骨骼运动数据中的位置变化可以获得复杂模型的每一个局部变形区域在运动中的弯曲和扭转变形角度,使用本发明方法可以简化使用动作数据驱动三维模型进行自动变形的计算。此外,根据骨骼运动的有关规则,本发明方法通过将运动单元中的扭转角度限定在-π/2~π/2之间,解决了分析骨骼运动数据时,弯曲和扭转角度计算中的二义性问题。
附图说明
图1为本发明所述根据骨骼运动数据计算运动单元的弯曲角度和扭转角度的示意图。
具体实施方式
下面结合附图和实施例对本发明技术方案进行解释,图1是本发明所述根据骨骼运动数据计算运动单元的弯曲角度和扭转角度的示意图。
在下面的实施例中,根据骨骼运动数据分析运动单元的弯曲角度和扭转角度的步骤如下:
三个关节点O、B、C,其中关节点B和O连接成骨骼OB,关节点C和B连接成骨骼CB,这样的结构称为运动单元。
从骨骼运动数据中获取关节点O、B、C在初始帧中的坐标O1=(-0.0992,0.5433,-0.1511),B1=(-0.0540,0.0299,-0.3395),C1=(-0.0891,0.0151,-0.2561),和在当前帧中的坐标为O2=-0.150771,0.486333,-0.0254434),B2=(-0.054,0.0399,-0.3295),C2=-0.10481,-0.0149156,-0.276394)。
平移向量计算O2、C2平移后的坐标O2′=(-0.150771,0.476333,-0.0354434),C2′=-0.10481,-0.0249156,-0.286394)。
计算旋转轴方向向量ρ=(-0.923781,0.0575905,-0.378566),旋转角w=0.261799,使用公式C2″=C2′·RT+B1·(I-RT)计算C2′旋转后的坐标C2″=-0.108403,-0.00532579,-0.274646),其中I为单位矩阵,旋转矩阵R使用旋转轴方向向量ρ和旋转角w计算。
计算C2″在骨骼OB和骨骼BC构成的局部坐标系中的局部坐标C2′″=(0.0883602,-0.00620937,0.0236764)。
使用公式14计算扭转角度w1=-0.261803,弯曲角度w2=-0.261799。
对上述步骤的计算结果进行仿真验证,步骤如下:
计算关节点C1在初始帧中局部坐标系下的局部坐标C1′=(0.0899672,0.0176782,0)。
计算C1′点围绕初始帧中局部坐标系的z轴旋转角w2=-0.261799后的局部坐标C1″=(0.0914771,-0.00620938,0)。
计算C1″点围绕初始帧中局部坐标系的y轴旋转角w1=-0.261803后的局部坐标C1′″=(0.0883601,-0.00620938,0.0236760)。
计算C1′″点在世界坐标系中的坐标C1″″=-0.108403,-0.00532579,-0.274646)。
使用公式C1′″″=C1″″·RT+B1·(I-RT)计算C1″″旋转后的坐标C1′″″=-0.10481,-0.0249156,-0.286394),其中I为单位矩阵,旋转矩阵R使用旋转轴方向向量ρ和旋转角-w计算,适用公式O1′=O1·RT+B1·(I-RT)计算O1旋转后的坐标O1′=-0.150771,0.476333,-0.0354434)。
平移向量计算O1′、B1、C1′″″平移后的坐标O1″=-0.150771,0.486333,-0.0254434),B1′=(-0.054,0.0399,-0.3295),C1″″″=-0.10481,-0.0149156,-0.276394)。
计算结果与关节点O2、B2、C2的坐标相等,验证了本专利提出的算法。
以上所述的具体描述,对发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 机电转向系统,例如机动车,具有确定单元,该确定单元基于电动机的位置来确定方向盘角度,从而通过计算适当的扭转运动的跨度来计算扭转
机译: 用于腿部弯曲运动的运动和/或康复装置具有支撑单元,其中基于施加在支撑单元上的力来提供阻力,使得阻力与操作员的体重成比例。
机译: 组合缸和活塞单元-狭窄的活塞,在弯曲的缸内两端带有滚子,可进行角度运动