对对象进行建模的方法和设备的制造方法

文档序号:9632079阅读:438来源:国知局
对对象进行建模的方法和设备的制造方法
【专利说明】对对象进行建模的方法和设备
[0001]本申请要求于2014年8月26日提交到韩国知识产权局的第10-2014-0111467号韩国专利申请以及于2015年4月28日提交到韩国知识产权局的第10-2015-0059496号韩国专利申请的优先权权益,所述韩国专利申请的公开通过引用包含于此。
技术领域
[0002]以下描述的示例实施例涉及一种用于对对象进行建模的方法和设备。
【背景技术】
[0003]关于计算机图形(CG)领域中(尤其是视觉效果(VFX)领域中)的流体仿真,正在对数值求解流体流动进行研究。纳维-斯托克斯方程将流体视为微小粒子的总和,并表现粒子之间的相互作用和运动。当假定相对理想的情况时,纳维-斯托克斯方程可被改变为伯努利原理。为了基于纳维-斯托克斯方程进行流体建模的真实再现,将满足不可压缩条件。
[0004]此外,将保证对于人眼足够自然的可变形对象的仿真、实时模型响应和计算的精确性。因此,可使用考虑可变形对象的物理特性、边界条件和施加的外力的模型。
[0005]在CG领域中,可分开执行流体的仿真和可变形对象的仿真。然而,在一般环境中,流体和可变形对象共存并互相影响。

【发明内容】

[0006]通过提供一种对对象进行建模的方法来实现前述和/或其它方面,所述方法包括:检测使用粒子建模的第一对象与使用粒子建模的第二对象之间的相邻区域;针对相邻区域定义网格;基于存储在网格的网格点中的信息,计算相邻区域中的第一对象与第二对象之间的作用力;基于计算出的作用力对第一对象和第二对象进行建模。
[0007]所述定义的步骤可包括:提取相邻区域中的第一对象或第二对象的轮廓与网格的和所述轮廓相邻的网格点之间的距离值;将提取的距离值存储在网格点中。
[0008]所述计算的步骤可包括:验证在相邻区域中第一对象的粒子与第二对象的粒子之间是否发生碰撞;基于验证的结果计算第一对象的粒子与第二对象的粒子之间的作用力。
[0009]所述验证的步骤可包括:基于存储在与第一对象的粒子的位置相邻的网格点中的距离值验证是否发生碰撞。
[0010]所述验证的步骤还可包括:验证第一对象的粒子是否满足体积保持条件。
[0011]所述计算第一对象的粒子与第二对象的粒子之间的作用力的步骤可包括:当验证发生了碰撞时,检测在相邻区域中的第一对象的粒子和第二对象的粒子之中的第一对象的碰撞粒子;重新定义检测到的第一对象的碰撞粒子的位置;基于第一对象的碰撞粒子的重新定义的位置,计算响应于碰撞而施加到第二对象的作用力。
[0012]所述重新定义的步骤可包括:将检测到的第一对象的碰撞粒子的位置重新定义为第一对象的碰撞粒子不穿透第二对象的位置。
[0013]所述将检测到的第一对象的碰撞粒子的位置重新定义的步骤可包括:基于存储在与包括检测到的第一对象的碰撞粒子的单元对应的网格点中的梯度和距离值,计算第一对象的碰撞粒子的运动方向和最短运动距离,使得第一对象的碰撞粒子不会穿透第二对象;基于计算出的运动方向和计算出的最短运动距离,重新定位第一对象的碰撞粒子。
[0014]所述方法还可包括:基于存储在网格点中的距离值和计算出的最短运动距离计算第一对象的碰撞粒子的运动速度;将计算出的运动速度存储在与包括检测到的第一对象的碰撞粒子的单元对应的网格点中。
[0015]所述计算响应于碰撞而施加到第二对象的作用力的步骤可包括:计算估计的在第一对象的碰撞粒子的重新定义的位置由第二对象施加到第一对象的碰撞粒子的力;基于计算出的力计算响应于碰撞而施加到第二对象的作用力。
[0016]所述方法还可包括:将计算出的作用力存储在网格的与第一对象的碰撞粒子的重新定义的位置对应的网格点中。
[0017]第一对象和第二对象可以是同质的或异质的。
[0018]第一对象可对应于流体,第二对象可对应于可变形对象。
[0019]通过提供一种用于对对象进行建模的设备来实现前述和/或其它方面,所述设备包括:网格转换模块,被配置为检测使用粒子建模的第一对象与使用粒子建模的第二对象之间的相邻区域,并针对相邻区域定义网格;对象建模模块,被配置为基于存储在网格的网格点中的信息计算相邻区域中的第一对象与第二对象之间的作用力,并基于计算出的作用力对第一对象和第二对象进行建模。
[0020]网格转换模块可被配置为提取相邻区域中的第一对象或第二对象的轮廓与网格的和所述轮廓相邻的网格点之间的距离值,并将提取的距离值存储在网格的网格点中。
[0021]对象建模模块可包括:验证器,被配置为验证在相邻区域中第一对象的粒子与第二对象的粒子之间是否发生碰撞;检测器,被配置为基于验证的结果检测在相邻区域中的第一对象的粒子和第二对象的粒子之中的第一对象的碰撞粒子;重新定义器,被配置为重新定义检测到的第一对象的碰撞粒子的位置;计算器,被配置为基于第一对象的碰撞粒子的重新定义的位置,计算响应于碰撞而施加到第二对象的作用力。
[0022]重新定义器可被配置为:基于存储在与包括检测到的第一对象的碰撞粒子的单元对应的网格点中的梯度和距离值,计算第一对象的碰撞粒子的运动方向和最短运动距离,使得第一对象的碰撞粒子不会穿透第二对象,并且基于计算出的运动方向和计算出的最短运动距离,重新定位第一对象的碰撞粒子。
[0023]计算器可被配置为计算估计的在第一对象的碰撞粒子的重新定义的位置由第二对象施加到第一对象的碰撞粒子的力,基于计算出的力计算响应于碰撞而施加到第二对象的作用力,并将计算出的作用力存储在网格的与包括检测到的第一对象的碰撞粒子的单元对应的网格点中。
[0024]通过提供一种用于对对象进行建模的设备来实现前述和/或其它方面,所述设备包括:存储器,被配置为记录用于控制所述设备的操作的程序;至少一个处理器,被配置为执行所述程序。所述程序可被配置为检测使用粒子建模的第一对象与使用粒子建模的第二对象之间的相邻区域,针对相邻区域定义包括多个单元的网格,并基于相邻区域中的第一对象与第二对象之间的作用力来对第一对象和第二对象进行建模,可基于存储在网格的网格点中的信息计算所述作用力。
[0025]示例实施例的其它方面将在下面的描述中部分地阐明,并且从所述描述部分地将是清楚的,或者可通过本公开的实施被了解。
【附图说明】
[0026]从以下结合附图对示例实施例的描述,这些和/或其它方面将变得清楚且更容易理解,在附图中:
[0027]图1示出根据示例实施例的在对对象进行建模的方法中使用的相邻区域;
[0028]图2示出根据示例实施例的对对象进行建模的方法;
[0029]图3示出根据示例实施例的在对对象进行建模的方法中针对相邻区域定义网格的操作;
[0030]图4示出根据示例实施例的在对对象进行建模的方法中计算第一对象与第二对象之间的作用力的操作;
[0031]图5示出根据示例实施例的在对对象进行建模的方法中计算第一对象与第二对象之间的作用力的操作;
[0032]图6示出根据示例实施例的用于对对象进行建模的设备;
[0033]图7示出根据示例实施例的用于对对象进行建模的设备;
[0034]图8示出根据示例实施例的对对象进行建模的方法;
[0035]图9示出根据示例实施例的基于每个模块的操作顺序在用于对对象进行建模的设备中处理相邻区域和作用力的处理;
[0036]图10示出根据示例实施例的在用于对对象进行建模的设备中通过网格模块的中继处理流体与可变形对象之间的相互作用的处理;
[0037]图11示出根据示例实施例的用于对对象进行建模的设备的操作方法;
[0038]图12示出根据示例实施例的在用于对对象进行建模的设备中的流体建模模块的操作方法;
[0039]图13示出根据示例实施例的在用于对对象进行建模的设备中的可变形对象建模模块的操作方法;
[0040]图14示出根据示例实施例的在用于对对象进行建模的设备中的网格模块的操作方法。
【具体实施方式】
[0041 ] 现在将详细描述实施例,实施例的示例在附图中被示出,其中,相似的标号始终表示相似的元件。以下通过参照附图来描述示例实施例以解释本公开。
[0042]虽然本公开可进行各种修改并具有若干实施例,但是特定实施例将在附图中被示出并被详细解释。然而,本公开不意图被限制,而意在各种修改、等同物和替代物也包含在权利要求的范围内。
[0043]这里使用的术语仅用于解释特定实施例,因此不意图进行限制。单数表达包括复数表达,除了这两种表达在上下文彼此不同之外。这里,术语“包括”或“具有”意图指示存在说明书中公开的特征、数字、步骤、操作、组件、元件或者它们的组合。相反,术语“包括”或“具有”应被理解为不预先排除存在一个或更多个其它特征、数字、步骤、操作、组件、元件或它们的组合,或者另外的可能性。
[0044]除非被不同地定义,否则这里使用的所有术语(包括技术术语或科学术语)具有与和本公开的领域相关的技术领域的技术人员通常理解的含义相同的含义。与在通用的字典中定义的术语相同的术语应该被理解为术语具有与现有技术的上下文含义相同的含义。并且,只要术语没有在本公开中被明确定义,术语就不应被解释为理想化或过于正式的含义。
[0045]在下文中,将参照附图更详细地解释特定实施例。相同的组件或彼此对应的组件将被提供相同的标号,并将省略
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1