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

文档序号:9632079阅读:来源:国知局
r>[0131]图14示出根据示例实施例的在用于对对象进行建模的设备中的网格模块的操作方法。
[0132]参照图14,在操作1410,网格模块可从可变形对象建模模块接收可变形对象的形状信息。在操作1420,网格模块可将可变形对象的形状信息提供给流体建模模块。在操作1430,网格模块可从流体建模模块接收施加到流体粒子的约束力和流体粒子的最终速度。在操作1440,网格模块可基于可变形对象的形状信息和施加到流体粒子的约束力来计算流体粒子对可变形对象的反作用力。在操作1450,网格模块可基于在流体粒子的最终位置的最终速度,计算流体粒子对可变形对象的拖曳力。在操作1460,网格模块可将包括反作用力和拖曳力的流体粒子的作用力提供给可变形对象建模模块。
[0133]可使用硬件组件和软件组件来实现这里描述的单元。例如,硬件组件可包括麦克风、放大器、带通滤波器、音频数字转换器和处理装置。可使用一个或更多个通用或专用计算机(例如,处理器、控制器和算术逻辑单元、数字信号处理器、微型计算机、现场可编程阵列、可编程逻辑单元、微处理器或能够以限定的方式响应和执行指令的任何其它装置)来实现处理装置。处理装置可运行操作系统(0S)和运行在OS上的一个或更多个软件应用。处理装置还可响应于软件的执行来访问、存储、操作、处理和创建数据。为了简单的目的,处理装置的描述用作单数;然而,本领域的技术人员将理解,处理装置可包括多个处理元件和多种类型的处理元件。例如,处理装置可包括多个处理器或者处理器和控制器。此外,不同的处理配置(诸如并行处理器)是可行的。
[0134]软件可包括用于独立地或共同地指示或配置处理装置按照需要进行操作的计算机程序、代码段、指令或它们的一些组合。可在任何类型的机器、组件、物理设备或虚拟设备、计算机存储介质或装置中,或以能够将指令或数据提供给处理装置或者被处理装置解释的传播信号波,来永久地或暂时地实施软件和数据。软件还可被分布在联网的计算机系统中,从而以分布式方式存储和执行软件。可通过一个或更多个非暂时性计算机可读记录介质来存储软件和数据。非暂时性计算机可读记录介质可包括可存储之后可由计算机系统或处理装置读取的数据的任何数据存储装置。非暂时性计算机可读记录介质的示例包括只读存储器(R0M)、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光学数据存储装置。此外,基于并使用这里提供的附图的流程图和框图以及它们的相应描述,实现这里公开的示例的功能程序、代码和代码段可容易地被示例所属领域的程序员解释。
[0135]这里描述的方法可被记录在包括程序指令的非暂时性计算机可读介质中,以实现通过计算机实施的各种操作。所述介质还可包括单独的数据文件、数据结构等或与程序指令组合的数据文件、数据结构等。记录在所述介质上的程序指令可以是为了这里实施的目的而专门设计和构造的程序指令,或者它们可以是对计算机软件领域的技术人员公知和可用的程序指令。非暂时性计算机可读介质的示例包括:磁介质(诸如硬盘、软盘和磁带);光学介质(诸如CD ROM盘和DVD);磁光介质(诸如光盘);和专门配置为存储和执行程序指令的硬件装置(诸如只读存储器(ROM)、随机存取存储器(RAM)、闪存等)。程序指令的示例包括诸如由编译器产生的机器代码和包含可由计算机使用解释器执行的高级代码的文件两者。上述装置可被配置为用作用于执行上述示例实施例的操作的一个或更多个软件模块,反之亦然。
[0136]以上已描述了一些示例。然而,应理解,可进行各种修改。例如,如果以不同的顺序执行描述的技术,和/或如果以不同的方式组合和/或由其它组件或它们的等同物代替或补充在所描述的系统、架构、装置或电路中的组件,则可实现合适的结果。因此,其它实施方式在权利要求的范围内。
【主权项】
1.一种对对象进行建模的方法,所述方法包括: 检测使用粒子建模的第一对象与使用粒子建模的第二对象之间的相邻区域; 针对相邻区域定义网格; 基于存储在网格的网格点中的信息,计算相邻区域中的第一对象与第二对象之间的作用力; 基于计算出的作用力对第一对象和第二对象进行建模。2.如权利要求1所述的方法,其中,所述定义的步骤包括: 提取相邻区域中的第一对象或第二对象的轮廓与网格的和所述轮廓相邻的网格点之间的距离值; 将提取的距离值存储在网格点中。3.如权利要求1所述的方法,其中,所述计算的步骤包括: 验证在相邻区域中第一对象的粒子与第二对象的粒子之间是否发生碰撞; 基于验证的结果计算第一对象的粒子与第二对象的粒子之间的作用力。4.如权利要求3所述的方法,其中,所述验证的步骤包括:基于存储在与第一对象的粒子的位置相邻的网格点中的距离值验证是否发生碰撞。5.如权利要求4所述的方法,其中,所述验证的步骤还包括:验证第一对象的粒子是否满足体积保持条件。6.如权利要求3所述的方法,其中,所述计算第一对象的粒子与第二对象的粒子之间的作用力的步骤包括: 当验证发生了碰撞时,检测在相邻区域中的第一对象的粒子和第二对象的粒子之中的第一对象的碰撞粒子; 重新定义检测到的第一对象的碰撞粒子的位置; 基于第一对象的碰撞粒子的重新定义的位置,计算响应于碰撞而施加到第二对象的作用力。7.如权利要求6所述的方法,其中,所述重新定义的步骤包括:将检测到的第一对象的碰撞粒子的位置重新定义为第一对象的碰撞粒子不穿透第二对象的位置。8.如权利要求7所述的方法,其中,所述将检测到的第一对象的碰撞粒子的位置重新定义的步骤包括: 基于包括在与包括检测到的第一对象的碰撞粒子的单元对应的网格点中的梯度和距离值,计算第一对象的碰撞粒子的运动方向和最短运动距离,使得第一对象的碰撞粒子不穿透第二对象; 基于计算出的运动方向和计算出的最短运动距离,重新定位第一对象的碰撞粒子。9.如权利要求8所述的方法,还包括: 基于存储在网格点中的距离值和计算出的最短运动距离计算第一对象的碰撞粒子的运动速度; 将计算出的运动速度存储在与包括检测到的第一对象的碰撞粒子的单元对应的网格点中。10.如权利要求6所述的方法,其中,所述计算响应于碰撞而施加到第二对象的作用力的步骤包括: 计算估计的在第一对象的碰撞粒子的重新定义的位置由第二对象施加到第一对象的碰撞粒子的力; 基于计算出的力计算响应于碰撞而施加到第二对象的作用力。11.如权利要求10所述的方法,还包括: 将计算出的作用力存储在网格的与第一对象的碰撞粒子的重新定义的位置对应的网格点中。12.如权利要求1所述的方法,其中,第一对象和第二对象是异质的。13.如权利要求12所述的方法,其中,第一对象对应于流体,第二对象对应于可变形对象。14.一种用于对对象进行建模的设备,所述设备包括: 网格转换模块,被配置为检测使用粒子建模的第一对象与使用粒子建模的第二对象之间的相邻区域,并针对相邻区域定义网格; 对象建模模块,被配置为基于存储在网格的网格点中的信息计算相邻区域中的第一对象与第二对象之间的作用力,并基于计算出的作用力对第一对象和第二对象进行建模。15.如权利要求14所述的设备,其中,网格转换模块被配置为提取相邻区域中的第一对象或第二对象的轮廓与网格的和所述轮廓相邻的网格点之间的距离值,并将提取的距离值存储在网格的网格点中。16.如权利要求14所述的设备,其中,对象建模模块包括: 验证器,被配置为验证在相邻区域中第一对象的粒子与第二对象的粒子之间是否发生碰撞; 检测器,被配置为基于验证的结果检测在相邻区域中的第一对象的粒子和第二对象的粒子之中的第一对象的碰撞粒子; 重新定义器,被配置为重新定义检测到的第一对象的碰撞粒子的位置; 计算器,被配置为基于第一对象的碰撞粒子的重新定义的位置,计算响应于碰撞而施加到第二对象的作用力。17.如权利要求16所述的设备,其中,重新定义器被配置为:基于存储在与包括检测到的第一对象的碰撞粒子的单元对应的网格点中存储的梯度和距离值,计算第一对象的碰撞粒子的运动方向和最短运动距离,使得第一对象的碰撞粒子不穿透第二对象,并且基于计算出的运动方向和计算出的最短运动距离,重新定位第一对象的碰撞粒子。18.如权利要求16所述的设备,其中,计算器被配置为计算估计的在第一对象的碰撞粒子的重新定义的位置由第二对象施加到第一对象的碰撞粒子的力,基于计算出的力计算响应于碰撞而施加到第二对象的作用力,并将计算出的作用力存储在网格的与包括检测到的第一对象的碰撞粒子的单元对应的网格点中。19.一种用于对对象进行建模的设备,所述设备包括: 存储器,被配置为记录用于控制所述设备的操作的程序; 至少一个处理器,被配置为执行所述程序, 其中,所述程序被配置为检测使用粒子建模的第一对象与使用粒子建模的第二对象之间的相邻区域,针对相邻区域定义包括多个单元的网格,并基于相邻区域中的第一对象与第二对象之间的作用力来对第一对象和第二对象进行建模,其中,基于存储在网格的网格点中的信息计算所述作用力。
【专利摘要】提供一种对对象进行建模的方法和设备。所述方法和设备可检测使用粒子建模的第一对象与使用粒子建模的第二对象之间的相邻区域;基于在针对相邻区域定义的网格的网格点中存储的信息,计算相邻区域中的第一对象与第二对象之间的作用力;基于计算出的作用力对第一对象和第二对象进行建模。
【IPC分类】G06T19/20
【公开号】CN105389855
【申请号】CN201510463552
【发明人】姜纳硖, 金知姸, 李炯旭, 郑晖龙
【申请人】三星电子株式会社
【公开日】2016年3月9日
【申请日】2015年7月31日
【公告号】EP2990971A1, US20160063140
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1