基于可形变网格的碰撞处理方法、系统、设备及介质技术方案

技术编号:35736748 阅读:16 留言:0更新日期:2022-11-26 18:39
本发明专利技术提供的基于可形变网格的碰撞处理方法、系统、设备及介质,方案针对可形变弹性物网格的物理仿真框架中的碰撞处理部分,通过在每个时间步的碰撞处理步中构造一个笛卡尔辅助网格(grid)实现快速的可形变网格间以及可形变网格与预设场景碰撞物的碰撞处理;方案中的碰撞处理方法在笛卡尔网格上只需记录和累加状态,而不需要维护网格格点从属的三角形列表等信息,使得本发明专利技术相对已有的碰撞检测和碰撞响应技术有实现简单和速度快的优势,可广泛应用于计算机仿真技术领域。应用于计算机仿真技术领域。应用于计算机仿真技术领域。

【技术实现步骤摘要】
基于可形变网格的碰撞处理方法、系统、设备及介质


[0001]本专利技术涉及计算机仿真
,尤其是基于可形变网格的碰撞处理方法、系统、设备及介质。

技术介绍

[0002]基于物理的仿真动画通过在计算机中求解基于物理的动力学微分方程实现逼真的物体运动和交互动画,在游戏、影视特效、工业设计和计算机图形学(CG)艺术中有着大量运用。现实中的可形变弹性物体如布料、头发、橡胶、塑料和金属薄壳制品等在受力下会发生形变,而形变又产生应力。在物理仿真动画的实际应用中,一般会将多个可形变弹性物体和预设的碰撞物一同组成场景并使其相互碰撞交互,产生丰富的视觉效果。
[0003]计算机图形学中,可形变弹性物体一般由网格(mesh)表示,其运动和形变自由度由各个顶点的位置坐标提供。对于单个可形变物,其总弹性势能一般可写为由网格所有顶点坐标决定的标量值函数。由总弹性势能对各顶点位置坐标求导可得到各顶点所受的弹力,而弹力对时间积分则可得到顶点的冲量。由于弹力是顶点坐标的函数,但顶点坐标随时间一直变化,因此弹力对时间的积分难以精确计算。应用中一般将整个仿真的时域划分为大量极短的时间步,并近似认为单个时间步中的弹力保持恒定,从而近似计算冲量积分。冲量积分计算完成后,将冲量除以顶点质量即可得到一个时间步中弹力对顶点施加的速度变化量。
[0004]但是,由于物理仿真往往涉及极高的三角面数,即使使用BVH(层次包围盒)和空间剖分等加速结构,碰撞处理在仿真中也常常占据大量的运行时间,且加速结构和碰撞处理的实现较为复杂。

技术实现思路

[0005]有鉴于此,为至少部分解决上述技术问题或者缺陷之一,本专利技术实施例的目的在于提供一种快速且实现较简单的基于可形变网格的碰撞处理方法;此外,实施例还提供了能够实现这一方法的系统、装置以及存储介质。
[0006]一方面,本申请技术方案提供了基于可形变网格的碰撞处理方法,包括以下步骤:
[0007]获取可形变弹性物体表面中三角面的纤维向量;
[0008]构建可形变弹性物体的包围盒,根据所述包围盒构建得到笛卡尔网格;
[0009]对碰撞接触面进行采样,并根据所述三角面的顶点坐标构建得到采样点集;
[0010]根据所述三角面的顶点坐标以及所述纤维向量,进行塑性投影得到目标弹性形变梯度;
[0011]根据所述采样点集中的采样点以及所述目标弹性形变梯度,对动量方程进行离散化求解得到所述笛卡尔网格中格点的第一速度;
[0012]构建有向距离场,根据所述格点在所述有向距离场的第二速度以及法向量确定可形变弹性碰撞后的第三速度;
[0013]根据所述第三速度确定所述采样点的第一冲量,根据所述第一冲量确定所述三角面的速度变化量,根据所述速度变化量确定碰撞情况。
[0014]在本申请方案的一种可行的实施例中,所述构建可形变弹性物体的包围盒,根据所述包围盒构建得到笛卡尔网格这一步骤,包括:
[0015]获取所述包围盒的最大值坐标点以及最小值坐标点;
[0016]根据所述最大值坐标点、所述最小值坐标点以及元胞边长计算得到三轴元胞数,根据所述三轴元胞数确定所述笛卡尔网格。
[0017]在本申请方案的一种可行的实施例中,所述根据所述三角面的顶点坐标以及所述纤维向量,进行塑性投影得到目标弹性形变梯度这一步骤,包括:
[0018]根据所述三角面的顶点坐标以及所述纤维向量构建得到正交基;
[0019]获取初始构型下的第一向量,以及发生弹性形变后的第二向量,所述第二向量通过所述正交基进行表征;
[0020]根据所述第一向量的逆矩阵以及所述第二向量计算得到所述候选弹性形变梯度;
[0021]根据所述候选弹性形变梯度进行塑性投影得到所述目标弹性形变梯度。
[0022]在本申请方案的一种可行的实施例中,所述根据所述三角面的顶点坐标以及所述纤维向量,进行塑性投影得到目标弹性形变梯度这一步骤,包括:
[0023]获取所述三角面在法向量上的伸缩状态;
[0024]根据所述伸缩状态确定所述三角面所在表面为未接触状态,将接触弹力与摩擦力均置零,根据塑性约束条件对所述候选弹性形变梯度进行塑性投影得到所述目标弹性形变梯度;
[0025]或者,
[0026]根据所述伸缩状态确定所述三角面所在表面为接触状态,获取所述三角面在法向量上的剪切状态以及剪切方向,确定所述剪切状态以及所述剪切方向满足摩擦定律约束,对所述候选弹性形变梯度进行塑性投影得到所述目标弹性形变梯度。
[0027]在本申请方案的一种可行的实施例中,所述根据所述伸缩状态确定所述三角面所在表面为接触状态,获取所述三角面在法向量上的剪切状态以及剪切方向,确定所述剪切状态以及所述剪切方向满足摩擦定律约束,对所述候选弹性形变梯度进行塑性投影得到所述目标弹性形变梯度这一步骤,包括:
[0028]根据所述剪切状态以及剪切方向确定剪切弹性形变,根据所述剪切弹性形变以及弹性势能函数计算得到所述摩擦力;
[0029]根据伸缩弹性形变以及碰撞势垒函数计算得到所述接触弹力;
[0030]确定所述摩擦力的第一模长与所述接触弹力的第二模长满足库伦摩擦定律,对所述候选弹性形变梯度进行塑性投影得到所述目标弹性形变梯度。
[0031]在本申请方案的一种可行的实施例中,所述根据所述采样点集中的采样点以及所述目标弹性形变梯度,对动量方程进行离散化求解得到所述笛卡尔网格中格点的第一速度这一步骤,包括:
[0032]根据所述目标弹性形变梯度以及B样条权函数计算得到所述笛卡尔网格中由所述采样点产生的格点力;
[0033]根据所述采样点的坐标以及所述采样点的质量通过所述B样条权函数计算得到格
点质量;
[0034]根据所述格点力以及所述格点质量,对动量方程进行求解得到所述第一速度。
[0035]在本申请方案的一种可行的实施例中,所述构建有向距离场,根据所述格点在所述有向距离场的第二速度以及法向量确定可形变弹性碰撞后的第三速度这一步骤,包括:
[0036]将所述采样点的局部有向距离场进行聚合得到有向距离场值;
[0037]根据所述有向距离场值,结合所述第二速度、速度投影函数以及惩罚力确定所述第三速度。
[0038]另一方面,本申请技术方案还提供了基于可形变网格的碰撞处理系统,该系统包括:
[0039]第一单元,用于获取可形变弹性物体表面中三角面的纤维向量;
[0040]第二单元,用于构建可形变弹性物体的包围盒,根据所述包围盒构建得到笛卡尔网格;
[0041]第三单元,用于对碰撞接触面进行采样,并根据所述三角面的顶点坐标构建得到采样点集;
[0042]第四单元,用于根据所述三角面的顶点坐标以及所述纤维向量,进行塑性投影得到目标弹性形变梯度;
[0043]第五单元,用于根据所述采样点集中的采样点以及所述目标弹性形变梯度,对动量方程进行离散化求解得到所述笛卡尔网格中格点的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于可形变网格的碰撞处理方法,其特征在于,包括以下步骤:获取可形变弹性物体表面中三角面的纤维向量;构建可形变弹性物体的包围盒,根据所述包围盒构建得到笛卡尔网格;对碰撞接触面进行采样,并根据所述三角面的顶点坐标构建得到采样点集;根据所述三角面的顶点坐标以及所述纤维向量,进行塑性投影得到目标弹性形变梯度;根据所述采样点集中的采样点以及所述目标弹性形变梯度,对动量方程进行离散化求解得到所述笛卡尔网格中格点的第一速度;构建有向距离场,根据所述格点在所述有向距离场的第二速度以及法向量确定可形变弹性碰撞后的第三速度;根据所述第三速度确定所述采样点的第一冲量,根据所述第一冲量确定所述三角面的速度变化量,根据所述速度变化量确定碰撞情况。2.根据权利要求1所述的基于可形变网格的碰撞处理方法,其特征在于,所述构建可形变弹性物体的包围盒,根据所述包围盒构建得到笛卡尔网格这一步骤,包括:获取所述包围盒的最大值坐标点以及最小值坐标点;根据所述最大值坐标点、所述最小值坐标点以及元胞边长计算得到三轴元胞数,根据所述三轴元胞数确定所述笛卡尔网格。3.根据权利要求1所述的基于可形变网格的碰撞处理方法,其特征在于,所述根据所述三角面的顶点坐标以及所述纤维向量,进行塑性投影得到目标弹性形变梯度这一步骤,包括:根据所述三角面的顶点坐标以及所述纤维向量构建得到正交基;获取初始构型下的第一向量,以及发生弹性形变后的第二向量,所述第二向量通过所述正交基进行表征;根据所述第一向量的逆矩阵以及所述第二向量计算得到所述候选弹性形变梯度;根据所述候选弹性形变梯度进行塑性投影得到所述目标弹性形变梯度。4.根据权利要求3所述的基于可形变网格的碰撞处理方法,其特征在于,所述根据所述三角面的顶点坐标以及所述纤维向量,进行塑性投影得到目标弹性形变梯度这一步骤,包括:获取所述三角面在法向量上的伸缩状态;根据所述伸缩状态确定所述三角面所在表面为未接触状态,将接触弹力与摩擦力均置零,根据塑性约束条件对所述候选弹性形变梯度进行塑性投影得到所述目标弹性形变梯度;或者,根据所述伸缩状态确定所述三角面所在表面为接触状态,获取所述三角面在法向量上的剪切状态以及剪切方向,确定所述剪切状态以及所述剪切方向满足摩擦定律约束,对所述候选弹性形变梯度进行塑性投影得到所述目标弹性形变梯度。5.根据权利要求4所示的基于可形变网格的碰撞处理方法,其特征在于,所述根据所述伸缩状态确定所述三角面所在表面为接触状态,获取所述三角面在法向量上的剪切状态以及剪切方向,确定所述剪切状态以及所述剪切方向满足摩擦定律约束,对所述候选弹性形
变梯度进行塑性投影得到所述目标弹性形变梯度这一步骤,包括:...

【专利技术属性】
技术研发人员:柯建生戴振军陈学斌
申请(专利权)人:广州极点三维信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1