技术领域
本发明涉及计算机物理模拟技术领域,具体而言,涉及一种基于动态盘B样条曲线的二维 动态几何建模方法。
背景技术
几何造型方法是研究几何物体数学表达形式的方法,在计算机辅助几何设计、计算机图形 学、虚拟现实与可视化等领域中拥有着重要应用。盘B样条曲线(Disk B-splinecurve,DBSC) 是两种基于骨架线的几何造型方法,可以看作是二维B样条曲线的拓展形式。盘B样条曲线拥 有许多良好的数学几何性质,并广泛应用于多个领域。盘B样条曲线描述了一个二维空间中区 域,该区域的宽度可以沿骨架线方向变化,因此盘B样条曲线经常用于表示书画中的笔触,广 泛应用于计算机书法、计算机二维动画设计和非真实渲染等领域。
目前的大多数研究工作都集中于盘B样条曲线的静态形式。然而,当前的盘B样条曲线理 论应用受限于其静态的形式,无法发挥该造型方法实际潜在的能力。在实际应用中,静态形式 的盘B样条曲线存在以下不足。
1)计算机几何造型领域:在使用盘B样条曲线为物体建模时,用户很难获得预期的几何 形状。原因在于,用户无法直接调整盘B样条曲线的形状,而只能通过调整控制球的位置和大 小,从而间接地调整盘B样条曲线的形状。在大多数情况下,这种间接地方法是低效的,为了 获得预期的结果,用户需要花费大量的时间。在一些情况下,甚至可能无法获得满意的结果。
2)计算机动画生成:使用盘B样条曲线生成基于物理的动画是十分费时费力的。比如生 成一段盘B样条曲线在重力作用下运动的动画,用户需要“手动”地在动画的每一帧调整盘B 样条的位置和形状,以此来生成一段“看似真实的”盘B样条在重力下运动变形的动画。因为 用户需要逐帧地调整盘B样条的位置和形状,这会导致巨大的工作量。
在现有公开的专利文献中,例如中国发明专利公开号CN104765978B的公开了一种基于球B 样条曲线的头发造型建模方法,具体涉及一种基于球B样条曲线的头发造型建模方法。该发明 提供的基于球B样条曲线的头发造型建模方法,包括:对头发的生长点进行初始化;对头发的 进行参数化计算;计算头发进行标架和坐标;对所述头发进行能量最小化计算;计算头发的新 标架和坐标;对头发进行碰撞检测;根据球B样条曲线对头发进行建模。该发明提供的基于球B样条曲线的头发造型建模方法不适用于动态盘B样条曲线的二维动态几何建模。
发明内容
本发明的目的是针对现有技术的不足,提供一种基于动态盘B样条曲线的二维动态几何建 模方法。
所述二维动态几何建模方法包括以下步骤:
步骤1,使用
上式(1)中,u为沿骨架线方向的参数,v为垂直于骨架线方向的参数,s(u,v)为盘B样条 曲线区域中任意一点;
步骤2,使用
上式(2)中,p(t)是时间参数t的函数,在时刻t,一条盘B样条曲线由p(t)唯一确定;
步骤3,动态盘B样条曲线是盘B样条曲线在时间域上的推广,在盘B样条曲线的几何表 达式中加入时间参数t后,给出动态盘B样条曲线的数学表达式为下式(3):
步骤4,使用p
步骤5,使用T、U和D分别表示系统的动能、势能和耗散能,使用f
上式(5)中,T、U和D均为广义坐标p及其关于时间的导数
步骤6,将步骤5中的式(5)表示为矩阵形式,则有下式(6):
上式(6)中,
步骤7,对于一个动态盘B样条系统,使用μ(u,v)和M分别表示质量密度分布函数和质量矩 阵,省略函数参数后,系统动能T、质量矩阵M(p)分别表示为下式(7)、(8):
步骤8,使用γ(u,v)和D(p)分布表示阻尼密度分布函数和阻尼矩阵,省略函数参数后,耗 散能D与阻尼矩阵D(p)分别表达为下式(9)、(10):
步骤9,使用α(u,v)、β(u,v)和K(p)分布表示系统的局部张力函数、刚度函数和刚度矩阵: 省略函数参数后,系统势能U与刚度矩阵K(p)分别表示为下式(11)、(12):
上式(12)中,带有下标的矩阵J表示J关于参数u和v的偏导数;
步骤10,使用f(u,v,t)表示系统的外力分布函数,则系统广义外力f
根据以上的推导,在动态盘B样条曲线系统中,拉格朗日函数式(5)进一步表示为下式(14):
根据动态盘B样条曲线的数学性质,对式(14)进行简化,得到简化的动态盘B样条曲线 运动方程式(15):
上式(15)中,
步骤11,线性几何约束表示为下式(16):
C(p)=Ap+b=0¨¨¨ (16),
上式(16)中,p为系统的广义坐标;
步骤12,若系统存在M个独立的线形几何约束,且p包含N个分量,则A为一个M×N的矩 阵,b为一个常向量,广义坐标p表示为下式(17):
p=Gq+q
上式(17)中,G为一个M×(N-M)的矩阵,q
步骤13,根据上式(17),得到带有线性约束的动态盘B样条曲线的运动方程式(18):
上式(18)中:
并且,L=JG为s关于q的雅克比矩阵;
步骤14,求解动态盘B样条曲线的运动方程,使用有限差分法对雅克比矩阵J的一、二阶 偏导数进行近似,得下式(19):
步骤15,动态盘B样条曲线的运动方程式(15)为一个二阶偏微分方程,在通常情况下, 式(15)没有解析解,为了求解动态盘B样条曲线的运动方程,与参数域上的有限差分法类似, 在时间域上,使用差分对
步骤16,根据式(20)、动态盘B样条曲线的运动方程式(15)以及动态盘B样条曲线的数 学式性质,推导出动态盘B样条曲线运动方程的离散化形式(21):
式(21)中,没有上标说明的物理量取其在(t+Δt)时刻的值,为了对式(21)进一步简化, 对于式(21)中的矩阵物理量,使用在时刻t的值对其在时刻(t+Δt)的值进行近似,如下式(22):
步骤17,对于带有线性几何约束的动态盘B样条曲线的运动方程,能够推导出其对应的离 散化形式的式(23):
进一步地,步骤1之前,还包括求解盘B样条曲线隐式几何表达式的步骤,使用<ρ
其中,u为盘B样条曲线沿骨架线方向的参数。
进一步地,步骤16中的式(22)近似表达式为:M
进一步地,本发明所述二维动态几何建模方法还包括步骤18,当给定合适的物理参数时, 动态盘B样条曲线系统运动方程式(15)成为一个非刚性系统,在这种情况下,动态盘B样条 曲线的离散化形式的方程式(21)和式(23)能够使用显式欧拉方法进行化简。
相对于现有技术,本发明所述的二维动态几何建模方法具有以下显著的优越效果:
1,动态盘B样条适合于计算机交互几何造型设计,动态盘B样条曲线是一个基于物理的模 型,通过施加合适的外力,用户能够交互地直接操控动态盘B样条曲线的形状,便捷地对其进 行调整,从而获得期望的造型结果。
2,动态盘B样条曲线适合于基于物理的计算机动画生成,使用动态盘B样条曲线生成基于 物理的动画十分便捷,通过设置合适的初始物理参数,如外力、刚度和几何约束,动态盘B样 条曲线遵循物理规律的运动和变形,直接生成整个运动过程的动画。
附图说明
图1为本发明所述二维动态几何建模方法的盘B样条曲线的示意图;
图2为本发明所述二维动态几何建模方法的控制盘圆心的位置示意图;
图3为本发明所述二维动态几何建模方法的树的树叶被风吹动示意图;
图4为本发明所述二维动态几何建模方法的马的毛发被风吹动示意图;
图5为本发明所述二维动态几何建模方法的流程示意图。
具体实施方式
下面结合说明书附图和具体实施方式对本发明进行进一步的详细描述。
如图1至图5所示,所述二维动态几何建模方法包括以下步骤:
步骤1,使用
上式(1)中,u为沿骨架线方向的参数,v为垂直于骨架线方向的参数,s(u,v)为盘B样条 曲线区域中任意一点;
步骤2,使用
上式(2)中,p(t)是时间参数t的函数,在时刻t,一条盘B样条曲线由p(t)唯一确定;
步骤3,动态盘B样条曲线是盘B样条曲线在时间域上的推广,在盘B样条曲线的几何表 达式中加入时间参数t后,给出动态盘B样条曲线的数学表达式为下式(3):
步骤4,使用p
步骤5,使用T、U和D分别表示系统的动能、势能和耗散能,使用f
上式(5)中,T、U和D均为广义坐标p及其关于时间的导数
步骤6,将步骤5中的式(5)表示为矩阵形式,则有下式(6):
上式(6)中,
步骤7,对于一个动态盘B样条系统,使用μ(u,v)和M分别表示质量密度分布函数和质量矩 阵,省略函数参数后,系统动能T、质量矩阵M(p)分别表示为下式(7)、(8):
步骤8,使用γ(u,v)和D(p)分布表示阻尼密度分布函数和阻尼矩阵,省略函数参数后,耗 散能D与阻尼矩阵D(p)分别表达为下式(9)、(10):
步骤9,使用α(u,v)、β(u,v)和K(p)分布表示系统的局部张力函数、刚度函数和刚度矩阵: 省略函数参数后,系统势能U与刚度矩阵K(p)分别表示为下式(11)、(12):
上式(12)中,带有下标的矩阵J表示J关于参数u和v的偏导数;
步骤10,使用f(u,v,t)表示系统的外力分布函数,则系统广义外力f
根据以上的推导,在动态盘B样条曲线系统中,拉格朗日函数式(5)进一步表示为下式(14):
根据动态盘B样条曲线的数学性质,对式(14)进行简化,得到简化的动态盘B样条曲线 运动方程式(15):
上式(15)中,
步骤11,线性几何约束表示为下式(16):
C(p)=Ap+b=0¨¨¨ (16),
上式(16)中,p为系统的广义坐标;
步骤12,若系统存在M个独立的线形几何约束,且p包含N个分量,则A为一个M×N的矩 阵,b为一个常向量,广义坐标p表示为下式(17):
p=Gq+q
上式(17)中,G为一个M×(N-M)的矩阵,q
步骤13,根据上式(17),得到带有线性约束的动态盘B样条曲线的运动方程式(18):
上式(18)中:
并且,L=JG为s关于q的雅克比矩阵;
步骤14,求解动态盘B样条曲线的运动方程,使用有限差分法对雅克比矩阵J的一、二阶 偏导数进行近似,得下式(19):
步骤15,动态盘B样条曲线的运动方程式(15)为一个二阶偏微分方程,在通常情况下, 式(15)没有解析解,为了求解动态盘B样条曲线的运动方程,与参数域上的有限差分法类似, 在时间域上,使用差分对
步骤16,根据式(20)、动态盘B样条曲线的运动方程式(15)以及动态盘B样条曲线的数 学式性质,推导出动态盘B样条曲线运动方程的离散化形式(21):
式(21)中,没有上标说明的物理量取其在(t+Δt)时刻的值,为了对式(21)进一步简化, 对于式(21)中的矩阵物理量,使用在时刻t的值对其在时刻(t+Δt)的值进行近似,如下式(22):
步骤17,对于带有线性几何约束的动态盘B样条曲线的运动方程,能够推导出其对应的离 散化形式的式(23):
进一步地,步骤1之前,还包括求解盘B样条曲线隐式几何表达式的步骤,使用<ρ
其中,u为盘B样条曲线沿骨架线方向的参数。
进一步地,步骤16中的式(22)近似表达式为:M
进一步地,本发明所述二维动态几何建模方法还包括步骤18,当给定合适的物理参数时, 动态盘B样条曲线系统运动方程式(15)成为一个非刚性系统,在这种情况下,动态盘B样条 曲线的离散化形式的方程式(21)和式(23)能够使用显式欧拉方法进行化简。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来 说,本发明可以有各种更改和变化,凡在本发明的精神和原则之内,所作的任何修改、等同替 换、改进等,均应包含在本发明权利要求的保护范围之内。
机译: 利用B样条曲线建模和网状谱变换的水印嵌入与检测方法
机译: 利用B样条曲线建模和网状谱变换的水印嵌入与检测方法
机译: 基于曲线矢量指定的B样条曲线生成系统