CN114492208B - 基于神经网络的粒子系统与面几何模型碰撞受力计算方法 - Google Patents
基于神经网络的粒子系统与面几何模型碰撞受力计算方法 Download PDFInfo
- Publication number
- CN114492208B CN114492208B CN202210336791.XA CN202210336791A CN114492208B CN 114492208 B CN114492208 B CN 114492208B CN 202210336791 A CN202210336791 A CN 202210336791A CN 114492208 B CN114492208 B CN 114492208B
- Authority
- CN
- China
- Prior art keywords
- model
- neural network
- stress
- particle
- point
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/25—Design optimisation, verification or simulation using particle-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/14—Force analysis or force optimisation, e.g. static or dynamic forces
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于神经网络的粒子系统与面几何模型碰撞受力计算方法,属于碰撞受力检测技术领域,包括以下步骤:S1:对虚拟场景的面模型建立包围盒树;S2:遍历面模型的包围盒树,获取粒子系统中当前粒子邻域内的面模型顶点集合;S3:基于邻域内的面模型顶点集合,计算当前粒子的受力,并构建训练样本;S4:利用训练样本训练反向神经网络模型,并利用训练后的反向神经网络模型计算粒子系统与面几何模型碰撞受力。本发明在接近基于隐式曲面准确的情况下,能有效提高碰撞响应的准确度、时间效率以及计算速度;不需要构造包围盒树的预处理过程,更不用对包围盒树的更新,不需要针对碰撞检测的预处理,应用转化容易实现。
Description
技术领域
本发明属于碰撞受力检测技术领域,具体涉及一种基于神经网络的粒子系统与面几何模型碰撞受力计算方法。
背景技术
碰撞检测是虚拟场景和图形仿真技术中的重要技术,碰撞检测与碰撞响应的准确度、速度直接影响仿真结果的准确性和用户体验。碰撞检测计算虚拟物体之间是否有接触或空间重合,如果有接触或空间重合,需要进一步计算几何模型穿透顶点穿透深度和力的大小及方向。碰撞检测的较简单方法有基于包围盒树的方法和基于隐式曲面的方法。
基于包围盒树的方法是在针对场景中各物体几何模型建立包围盒树,通过遍历包围盒树实现碰撞检测,该方法在非刚性物体几何模型中需要不断更新树。该方法构造树和更新树计算较大,且不能直接计算受力的大小方向,需要额外的方法获取受力的状态。
基于隐式曲面的方法是将被穿透的物体表面建立隐式曲面,根据空间位置关系和曲面情况计算穿透模型的各顶点受力状态,为碰撞响应提供力矢量数据。传统基于隐式曲面的碰撞检测方法,在每个时间点要对提取边界点集(即几何面模型顶点集)计算隐式曲面,利用欧式距离在隐式曲面所确定的标量场中计算模型顶点的受力大小与方向,这类方法计算量大、耗时,限制了其应用。
发明内容
本发明的目的是为了解决现有碰撞检测与碰撞响应计算不能高准确度的实时应用问题,提出了一种基于神经网络的粒子系统与面几何模型碰撞受力计算方法。
本发明的技术方案是:一种基于神经网络的粒子系统与面几何模型碰撞受力计算方法包括以下步骤:
S1:利用AABB包围盒,对虚拟场景的面模型建立包围盒树;
S2:遍历面模型的包围盒树,获取粒子系统中当前粒子邻域内的面模型顶点集合;
S3:基于邻域内的面模型顶点集合,计算当前粒子的受力,并构建训练样本;
S4:利用训练样本训练反向神经网络模型,并利用训练后的反向神经网络模型计算粒子系统与面几何模型碰撞受力。
进一步地,步骤S2中,获取粒子系统中当前粒子邻域内的面模型顶点集合的具体方法为:从面模型的根节点开始遍历包围盒树,并判断遍历的当前树节点内的面模型顶点是否全部位于当前粒子的邻域内,若是,则将当前树节点的面模型顶点加入当前粒子邻域内的面模型顶点集合,否则跳过当前树节点,并继续遍历下一树节点,直至所有树节点遍历完毕。
进一步地,步骤S3包括以下子步骤:
S31:根据面模型顶点集合,建立隐式曲面;
S32:在隐式曲面的任意点p处,沿着X轴、Y轴和Z轴三个方向设定距离上取三个点,并分别计算三个点对应的隐式函数值;
S33:根据三个点对应的隐式函数值,确定点p的梯度向量V;
S34:将点p的梯度向量V的方向作为当前粒子的受力方向,将点p的梯度向量V的受力大小作为当前粒子的受力大小,得到当前粒子的受力;
S35:将面模型顶点集合、当前粒子的位置和当前粒子的受力作为训练样本。
进一步地,步骤S31中,建立隐式曲面的计算公式为:
其中,f表示曲面方程,f(p)表示曲面方程中点p的值,η(p)表示包含三变量实值低次多项式,N表示用于构造曲面的几何模型定点数,ω i 表示组合系数,ϕ表示径向基函数,|∙|表示欧几里德范数运算,p表示当前计算的几何模型的顶点,p i 表示面几何模型的第i个顶点。
进一步地,步骤S33中,点p的梯度向量V的表达式为,其中,f(p xoff )表示点p xoff 的隐式函数值,f(p yoff )表示点p yoff 的隐式函数值,f(p zoff )表示点p zoff 的隐式函数值,f (p)表示隐式曲面的函数式,distX表示点p xoff 与点p之间的欧氏距离,distY表示点p yoff 与点p之间的欧氏距离,distZ表示点p zoff 与点p之间的欧氏距离,点p xoff 表示在点p处沿着X轴方向设定距离上取的点,p yoff 表示在点p处沿着Y轴方向设定距离上取的点,点p zoff 表示在点p处沿着Z轴方向设定距离上取的点。
进一步地,步骤S4中,训练反向神经网络模型的具体方法为:将训练样本中面模型顶点集合中顶点位置和当前粒子的位置作为反向神经网络模型的输入,将当前粒子的受力作为反向神经网络模型的输出,对反向神经网络模型进行训练。
进一步地,步骤S4中,计算粒子系统与面几何模型碰撞受力的具体方法为:将面模型顶点集合的顶点位置和待计算粒子的位置作为训练后的反向神经网络模型的输入,得到粒子系统与面几何模型碰撞受力。
本发明的有益效果是:
(1)本发明采用基于隐式曲面碰撞检测方法获取训练数据集,数据集包括顶点的受力方向与大小,以此数据集训练神经网络,利用训练后的模型用于粒子系统与面模型的碰撞受力计算,受力包括大小和方向;实时准确地进行碰撞检测和碰撞响应,解决传统方法需要单独计算受力方向和受力大小问题;
(2)本发明在接近基于隐式曲面准确的情况下,能有效提高碰撞响应的准确度、时间效率以及计算速度;不需要构造包围盒树的预处理过程,更不用对包围盒树的更新,不需要针对碰撞检测的预处理,应用转化容易实现。
附图说明
图1为粒子系统与面几何模型碰撞受力计算方法的流程图。
具体实施方式
下面结合附图对本发明的实施例作进一步的说明。
在描述本发明的具体实施例之前,为使本发明的方案更加清楚完整,首先对本发明中出现的缩略语和关键术语定义进行说明:
AABB包围盒:包围盒是一种求解离散点集最优包围空间的算法,基本思想是用体积稍大且特性简单的几何体(称为包围盒)来近似地代替复杂的几何对象。常见的包围盒算法有AABB包围盒、包围球、方向包围盒OBB以及固定方向凸包FDH。AABB(Axis-alignedbounding box)包围盒也称为轴对齐包围盒,为物体添加包围体的目的是快速的进行碰撞检测或者进行精确的碰撞检测之前进行过滤。
虚拟场景:虚拟场景包括液体容器几何模型和液体(流体)几何模型,容器采用面模型创建几何模型,液体(流体)采用粒子系统创建几何模型。
粒子系统:粒子系统表示三维计算机图形学中模拟一些特定的模糊现象的技术,而这些现象用其它传统的渲染技术难以实现真实感的物理运动规律。
如图1所示,本发明提供了一种基于神经网络的粒子系统与面几何模型碰撞受力计算方法,包括以下步骤:
S1:利用AABB包围盒,对虚拟场景的面模型建立包围盒树;
S2:遍历面模型的包围盒树,获取粒子系统中当前粒子邻域内的面模型顶点集合;
S3:基于邻域内的面模型顶点集合,计算当前粒子的受力,并构建训练样本;
S4:利用训练样本训练反向神经网络模型,并利用训练后的反向神经网络模型计算粒子系统与面几何模型碰撞受力。
在本发明实施例中,步骤S2中,获取粒子系统中当前粒子邻域内的面模型顶点集合的具体方法为:从面模型的根节点开始遍历包围盒树,并判断遍历的当前树节点内的面模型顶点是否全部位于当前粒子的邻域内,若是,则将当前树节点的面模型顶点加入当前粒子邻域内的面模型顶点集合,否则跳过当前树节点,并继续遍历下一树节点,直至所有树节点遍历完毕。
在本发明实施例中,步骤S3包括以下子步骤:
S31:根据面模型顶点集合,建立隐式曲面;隐式曲面建立后相应也就确定了一个标量场;任意点p带入隐式曲面方差可得到一个标量值;
S32:在隐式曲面的任意点p处,沿着X轴、Y轴和Z轴三个方向设定距离上取三个点,并分别计算三个点对应的隐式函数值;
S33:根据三个点对应的隐式函数值,确定点p的梯度向量V;
S34:将点p的梯度向量V的方向作为当前粒子的受力方向,将点p的梯度向量V的受力大小作为当前粒子的受力大小,得到当前粒子的受力;受力矢量F等于矢量V,受力F的大小与V的模的关系根据情况设定;
S35:将面模型顶点集合、当前粒子的位置和当前粒子的受力作为训练样本。
在本发明实施例中,步骤S31中,建立隐式曲面的计算公式为:
其中,f表示曲面方程,f(p)表示曲面方程中点p的值,η(p)表示包含三变量实值低次多项式,N表示用于构造曲面的几何模型定点数,ω i 表示组合系数,ϕ表示径向基函数,|∙|表示欧几里德范数运算,p表示当前计算的几何模型的顶点,p i 表示面几何模型的第i个顶点。
在本发明实施例中,步骤S33中,点p的梯度向量V的表达式为,其中,f(p xoff )表示点p xoff 的隐式函数值,f(p yoff )表示点p yoff 的隐式函数值,f(p zoff )表示点p zoff 的隐式函数值,f (p)表示隐式曲面的函数式,distX表示点p xoff 与点p之间的欧氏距离,distY表示点p yoff 与点p之间的欧氏距离,distZ表示点p zoff 与点p之间的欧氏距离,点p xoff 表示在点p处沿着X轴方向设定距离上取的点,p yoff 表示在点p处沿着Y轴方向设定距离上取的点,点p zoff 表示在点p处沿着Z轴方向设定距离上取的点。
在本发明实施例中,步骤S4中,训练反向神经网络模型的具体方法为:将训练样本中面模型顶点集合中顶点位置和当前粒子的位置作为反向神经网络模型的输入,将当前粒子的受力作为反向神经网络模型的输出,对反向神经网络模型进行训练。
在本发明实施例中,步骤S4中,计算粒子系统与面几何模型碰撞受力的具体方法为:将面模型顶点集合的顶点位置和待计算粒子的位置作为训练后的反向神经网络模型的输入,得到粒子系统与面几何模型碰撞受力。
本发明的工作原理及过程为:本发明的基本思想是利用隐式曲面方法,针对粒子系统用隐式曲面碰撞检测方法获取训练数据集,数据集包括粒子的运动状态、受力状态和场景中其它几何模型顶点位置信息,利用反向神经网络(Back-propagation BP)能准确学习训练集特征和相互力作用的过程,利用BP网络计算速度快特点,通过训练的神经网络模型,能充分提取邻域内粒子与其它物理的输入力学状态和输出状态的物理关系特征。具体包括两个方面:训练神经网络模型和用神经网络模型进行碰撞检查。
本发明的有益效果为:
(1)本发明采用基于隐式曲面碰撞检测方法获取训练数据集,数据集包括顶点的受力方向与大小,以此数据集训练神经网络,利用训练后的模型用于粒子系统与面模型的碰撞受力计算,受力包括大小和方向;实时准确地进行碰撞检测和碰撞响应,解决传统方法需要单独计算受力方向和受力大小问题;
(2)本发明在接近基于隐式曲面准确的情况下,能有效提高碰撞响应的准确度、时间效率以及计算速度;不需要构造包围盒树的预处理过程,更不用对包围盒树的更新,不需要针对碰撞检测的预处理,应用转化容易实现。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (5)
1.一种基于神经网络的粒子系统与面几何模型碰撞受力计算方法,其特征在于,包括以下步骤:
S1:利用AABB包围盒,对虚拟场景的面模型建立包围盒树;
S2:遍历面模型的包围盒树,获取粒子系统中当前粒子邻域内的面模型顶点集合;
S3:基于邻域内的面模型顶点集合,计算当前粒子的受力,并构建训练样本;
S4:利用训练样本训练反向神经网络模型,并利用训练后的反向神经网络模型计算粒子系统与面几何模型碰撞受力;
所述步骤S3包括以下子步骤:
S31:根据面模型顶点集合,建立隐式曲面;
S32:在隐式曲面的任意点p处,沿着X轴、Y轴和Z轴三个方向设定距离上取三个点,并分别计算三个点对应的隐式函数值;
S33:根据三个点对应的隐式函数值,确定点p的梯度向量V;
S34:将点p的梯度向量V的方向作为当前粒子的受力方向,将点p的梯度向量V的受力大小作为当前粒子的受力大小,得到当前粒子的受力;
S35:将面模型顶点集合、当前粒子的位置和当前粒子的受力作为训练样本;
所述步骤S4中,训练反向神经网络模型的具体方法为:将训练样本中面模型顶点集合中顶点位置和当前粒子的位置作为反向神经网络模型的输入,将当前粒子的受力作为反向神经网络模型的输出,对反向神经网络模型进行训练。
2.根据权利要求1所述的基于神经网络的粒子系统与面几何模型碰撞受力计算方法,其特征在于,所述步骤S2中,获取粒子系统中当前粒子邻域内的面模型顶点集合的具体方法为:从面模型的根节点开始遍历包围盒树,并判断遍历的当前树节点内的面模型顶点是否全部位于当前粒子的邻域内,若是,则将当前树节点的面模型顶点加入当前粒子邻域内的面模型顶点集合,否则跳过当前树节点,并继续遍历下一树节点,直至所有树节点遍历完毕。
4.根据权利要求1所述的基于神经网络的粒子系统与面几何模型碰撞受力计算方法,其特征在于,所述步骤S33中,点p的梯度向量V的表达式为,其中,f(p xoff )表示点p xoff 的隐式函数值,f(p yoff )表示点p yoff 的隐式函数值,f(p zoff )表示点p zoff 的隐式函数值,f(p)表示隐式曲面的函数式,distX表示点p xoff 与点p之间的欧氏距离,distY表示点p yoff 与点p之间的欧氏距离,distZ表示点p zoff 与点p之间的欧氏距离,点p xoff 表示在点p处沿着X轴方向设定距离上取的点,p yoff 表示在点p处沿着Y轴方向设定距离上取的点,点p zoff 表示在点p处沿着Z轴方向设定距离上取的点。
5.根据权利要求1所述的基于神经网络的粒子系统与面几何模型碰撞受力计算方法,其特征在于,所述步骤S4中,计算粒子系统与面几何模型碰撞受力的具体方法为:将面模型顶点集合的顶点位置和待计算粒子的位置作为训练后的反向神经网络模型的输入,得到粒子系统与面几何模型碰撞受力。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210336791.XA CN114492208B (zh) | 2022-04-01 | 2022-04-01 | 基于神经网络的粒子系统与面几何模型碰撞受力计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210336791.XA CN114492208B (zh) | 2022-04-01 | 2022-04-01 | 基于神经网络的粒子系统与面几何模型碰撞受力计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114492208A CN114492208A (zh) | 2022-05-13 |
CN114492208B true CN114492208B (zh) | 2022-07-01 |
Family
ID=81488461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210336791.XA Active CN114492208B (zh) | 2022-04-01 | 2022-04-01 | 基于神经网络的粒子系统与面几何模型碰撞受力计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114492208B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10970912B2 (en) * | 2013-03-14 | 2021-04-06 | Imagination Technologies Limited | 3-D graphics rendering with implicit geometry |
CN108469785B (zh) * | 2017-02-23 | 2021-05-25 | 中国科学院沈阳计算技术研究所有限公司 | 一种基于隐函数的五轴加工复杂曲面碰撞检测方法 |
CN110163728B (zh) * | 2019-05-30 | 2021-04-13 | 肖伯祥 | 一种个性化服装定制制版方法 |
CN111814970B (zh) * | 2020-06-28 | 2021-02-23 | 盾钰(上海)互联网科技有限公司 | 基于神经网络的实时物理引擎增强计算方法、介质及系统 |
CN112417746B (zh) * | 2020-11-18 | 2022-11-25 | 中北大学 | 一种基于神经网络预测碰撞检测的方法 |
-
2022
- 2022-04-01 CN CN202210336791.XA patent/CN114492208B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114492208A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Umetani et al. | Learning three-dimensional flow for interactive aerodynamic design | |
Mescheder et al. | Occupancy networks: Learning 3d reconstruction in function space | |
Oleynikova et al. | Signed distance fields: A natural representation for both mapping and planning | |
CN108594816B (zh) | 一种通过改进orb-slam算法实现定位与构图的方法和系统 | |
CN109543285B (zh) | 一种融合数据驱动与强化学习的人群疏散仿真方法和系统 | |
Lopes et al. | Geometric-algebra LMS adaptive filter and its application to rotation estimation | |
Le Cleac'h et al. | Differentiable physics simulation of dynamics-augmented neural objects | |
Kirsanov et al. | Discoman: Dataset of indoor scenes for odometry, mapping and navigation | |
CN112417746A (zh) | 一种基于神经网络预测碰撞检测的方法 | |
CN106934192A (zh) | 一种参数优化的浅水方程模型水体建模方法 | |
CN116310385A (zh) | 3d点云数据中的单一数据集域泛化方法 | |
Sun et al. | Sequential fusion of multi-view video frames for 3D scene generation | |
Prusinkiewcz et al. | Koch curves as attractors and repellers | |
CN114492208B (zh) | 基于神经网络的粒子系统与面几何模型碰撞受力计算方法 | |
CN104318601B (zh) | 一种流体环境下人体运动仿真方法 | |
CN113593043A (zh) | 一种基于生成对抗网络的点云三维重建方法与系统 | |
Bisagno et al. | Data-driven crowd simulation | |
CN115630303A (zh) | 一种基于类激活映射的对抗样本可视化解释方法 | |
CN112862957B (zh) | 一种基于约束投影的gpu并行试衣仿真方法 | |
CN104517299A (zh) | 视频流体物理驱动模型恢复及重新仿真的方法 | |
CN110909473B (zh) | 基于SP H与shape matching混合模型的动态流固交互仿真方法 | |
Hamid et al. | A new function of stereo matching algorithm based on hybrid convolutional neural network | |
Bera et al. | Modeling trajectory-level behaviors using time varying pedestrian movement dynamics | |
Pajouheshgar et al. | Mesh Neural Cellular Automata | |
Maimaitimin et al. | Surface-common-feature descriptor of point cloud data for deep learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |