带阻尼的软体受力变形的模拟仿真方法 |
|||||||
申请号 | CN201611240687.1 | 申请日 | 2016-12-29 | 公开(公告)号 | CN106682425A | 公开(公告)日 | 2017-05-17 |
申请人 | 天津瀚海星云数字科技有限公司; | 发明人 | 贾志强; | ||||
摘要 | 本 发明 提供了一种带阻尼的软体受 力 变形 的模拟仿真方法,包括如下内容:获取构建软体表层的点的原始 位置 数据,通过点的位移或偏移实现软体的表层变形仿真,通过控制每个点的变形速度实现动态变形仿真。相对于 现有技术 ,本发明具有以下优势:本发明方法能真实模拟带阻尼弹性材质的 皮肤 或肌肉的力学特性。 | ||||||
权利要求 | |||||||
说明书全文 | 带阻尼的软体受力变形的模拟仿真方法技术领域[0001] 本发明属于3D仿真技术领域,尤其是涉及一种带阻尼的软体受力变形的模拟仿真方法。 背景技术[0002] 随着虚拟现实技术的发展,在疾病的治疗方面,比如通过虚拟现实进行手术的技术已经广泛的发开中。皮肤或肌肉属于弹性体,但是有附加适当的阻尼,即真实的皮肤或器官的属于带阻尼弹性材质,不是绝对的弹性材料,类似于橡胶等。所以,如何真实模拟皮肤或肌肉的力学特性,是将虚拟现实应用到手术仿真的关键技术。 发明内容[0003] 有鉴于此,本发明旨在提出一种软体受力变形的模拟仿真方法,以真实模拟皮肤或肌肉的力学特性。 [0004] 为达到上述目的,本发明的技术方案是这样实现的: [0005] 带阻尼的软体受力变形的模拟仿真方法,包括如下内容: [0006] 获取构建软体表层的点的原始位置数据,通过点的位移或偏移实现软体的表层变形仿真,通过控制每个点的变形速度实现动态变形仿真。 [0007] 进一步的,点的位移量是以施力点为中心,根据该点距施力点相对距离进行衰减计算得到的。 [0008] 进一步的,点的变形速度是根据点的位移量和软体本身的弹力和阻尼系数决定的。 [0009] 相对于现有技术,本发明具有以下优势: [0011] 构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中: [0012] 图1为软体受力变形图例。 具体实施方式[0013] 需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。 [0014] 下面将参考附图并结合实施例来详细说明本发明。 [0015] 本发明带阻尼的软体受力变形的模拟仿真方法,包括如下内容: [0016] 获取构建软体表层的点的原始位置数据,通过点的位移或偏移实现软体的表层变形仿真,通过控制每个点的变形速度实现动态变形仿真。 [0017] 点的位移量是以施力点为中心,根据该点距施力点相对距离进行衰减计算得到的。 [0018] 点的变形速度是根据点的位移量和软体本身的弹力和阻尼系数决定的。 [0019] 建模时通过曲面Mesh实现器官表层,即若干个三角面,每个三角面以不共线的3个点Vectex组成,也就是说,每个Mesh就是一组有序的点组成的,如图1所示,软体变形就是通过点的位移或偏移实现。 [0020] 具体的实现方法: [0021] 因为皮肤或器官属于带阻尼的弹性材质,那么从施加力,到产生变形必然是一个徐变的一个变形的过程,不是一蹴而就。 [0023] 其实所谓点的位移量,也就是点的偏移,也就是在Update()更新函数当中,每一帧中计算得的点的变形速度,在每一帧即时间上的累积就是“点的变形量”,只是表现上,点的位移量是以施力点为中心,以点到施力点的距离而逐渐衰减的,事实上,是每一个点的变形速度随点到施力点距离而逐步衰减,导致越近的,变形越快,变形量也越大,故核心就是点的变形速度如何变化的,而此算法核心就是处在原文档Update()代码段中。 [0024] 本实施例实现徐变的阻尼弹性变形过程,就是在Update()中实现,以一定的帧速率进行并直到变形完成。 [0025] 具体的程序实现如下: [0026] [0027] [0028] [0029] 以变形速度参数Vn为核心,统筹了材质回弹力和阻尼的点变形算法架构搭建完成。 [0030] 本发明方法实现了以变形速度参数Vn为核心,施加外力时,可以以施力点为中心,以点距施力点相对距离进行衰减计算,计算只要体现到Vn参数,即可控制点变形。 [0031] 反之,当施加的外力撤除后,Vn在Update()函数中以回弹力为唯一作用影响,会自动变成反向变形趋势,恢复到原始的变形位置,消除了外力变形影响,如此实现了力进来,正向变形,力消除,自动恢复原状;算法统一,并符合物理学特征。 |