【技术实现步骤摘要】
一种基于神经网络预测碰撞检测的方法
[0001]本专利技术属于虚拟仿真碰撞检测领域,具体涉及一种基于神经网络预测碰撞检测的方法。
技术介绍
[0002]碰撞检测算法就是防止虚拟环境中的物体发生穿透现象,其在计算机图形学、影视动画和虚拟现实等领域有着广泛的应用。真实性和实时性一直是研究碰撞检测的两个关键问题。真实性要求算法可以准确的表现出物体特性,实时性要求算法具有快速的运算能力。为了保证模拟效果的流畅性,布料需要在较短的时间步长内完成碰撞处理。布料每次运动都会产生大量的与其他物体的碰撞检测,而碰撞检测计算相对复杂,需要大量的时间。如果不及时进行配置处理,就会出现穿透现象,并对后续的模拟产生不可逆的影响。因此,提高碰撞检测的速度是急需解决的问题。
[0003]现有的提高碰撞检测效率的方法,大多都是在包围盒上进行改进。有提出紧密率更高的新包围盒,来更精准的剔除没有发生碰撞的粒子。还有使用混合包围盒的方法,利用不同包围盒的优点,来加快速率。包围盒方法对于小规模的场景效果较好,但是不适合规模较大的场景。
[0004]近年来,随着机器学习,数据驱动技术的兴起和发展,许多结合机器学习的布料仿真技术越来越多。但是大多数机器学习都是与布料建模有关,比如,用机器学习提高布料褶皱,把布料划分为更加精细的模型。在布料碰撞检测方面,机器学习的应用很少,所以碰撞检测效率的提升一直是一个难题。
技术实现思路
[0005]本专利技术的目的在于提供一种基于神经网络预测碰撞检测的方法,旨在解决现有的碰撞检测技术一般通过 ...
【技术保护点】
【技术特征摘要】
1.一种基于神经网络预测碰撞检测的方法,其特征在于,所述方法以神经网络为主要内容,具体包括以下步骤:步骤1,在一个时间步长Δt内,布料粒子运动开始的位置记为经过verlet积分后布料粒子的位置记为将布料粒子运动开始的位置、经过verlet积分后布料粒子的位置以及与布料粒子发生碰撞模型的三角面片的位置组成一个数据集;步骤2,对布料根结点构建一个AABB包围盒,对碰撞物使用AABB包围盒构建BVH树,使用包围盒检测方法检测是否发生碰撞,如果发生碰撞,执行步骤3,否则进入下一次检测;步骤3,将布料粒子运动开始的位置、经过verlet积分后布料粒子的位置和与布料发生碰撞模型的三角面片的位置输入神经网络,经过神经网络预测,如果发生碰撞,执行步骤4,否则进入下一次检测;步骤4,对发生碰撞的布料粒子进行碰撞响应,响应后布料粒子的位置为使用代替位置使布料粒子由直接运动到2.根据权利要求1所述的一种基于神经网络预测碰撞检测的方法,其特征在于,所述步骤1中经过verlet积分后布料粒子的位置记为具体步骤为:步骤1.1,将和进行泰勒展开:进行泰勒展开:步骤1.2,将式(1)与式(2)相加,得到位置表达式为:式(3)中,为下一时刻的位置,为当前时刻的位置,为加速度,为前一时刻的位置,ο(Δt4)为为无穷小量。3.根据权利要求1所述的一种基于神经网络预测碰撞检测的方法,其特征在于,所述步骤2中包围盒检测方法为两个AABB包围盒的相交检测算法,具体为:现有两个AABB包围盒,它们分别是包围盒A和包围盒B,中心位置为c
a
和c
b
,在某一坐标轴上的投影为L
a
和L
b
,如果|c
a-c
b
|>L
a
+L
b
,则投影不重叠,包围盒没有相交,只有在x、y、z三个坐标轴上的投影都重叠时,两个包围盒才相交,即发生碰撞。4.根据权利要求1所述的一种基于神经网络预测碰撞检测的方法,其特征在于,所述步骤3中神经网络的模型构建的具体步骤为:步骤3.1,将数据集分为训练子集、选择子集和测试子集,使用训练子集进行网络训练,测试子集用来检测网络的性能,选择子集在选择合适的网络结构时使用;步骤3.2,使用最大最小标度法对数据集进行缩放,缩放后f(x)的表达式为:
式(4)中,min和max分别为数据集中的最小值和最大值;步骤3.3,将缩放后的数据输入感知器神经元,感知器神经元使用逻辑激活函数进行训练,输出y值为:...
【专利技术属性】
技术研发人员:靳雁霞,马博,马巧梅,贾瑶,陈治旭,芦烨,史志儒,刘亚变,杨晶,张建华,
申请(专利权)人:中北大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。