基于GPU加速的PBD仿真算法的研究与实现
发布时间:2021-03-04 22:56
随着图形处理器(GPU,Graphics Processing Unit)计算能力不断提升,图形学中的仿真算法成为研究热点。基于牛顿力学的仿真算法被广泛应用于各类仿真系统中,包括游戏、电影、医疗等众多领域。力学仿真算法求解过程复杂,在实时交互系统中难以保持稳定的帧率,且对于特殊材质模型的仿真存在局限性。基于位置的仿真算法(PBD,Position Based Dynamics)依据模型的材质属性定义约束,通过约束求解直接控制仿真模型,计算效率高于力学仿真且易控。将GPU加速技术运用于PBD仿真算法势在必行,然而PBD算法存在大量约束依赖,必须强制串行化。本文提出一种全新的GPU加速策略,实现仿真过程中约束依赖的实时拆解,使PBD算法的动态约束能够被并行化。本文主要内容如下:1、针对柔性体模型,实现其特定约束的PBD仿真。将有限元法(FEM,Finite ElementMethod)转换为相应的PBD约束。FEM约束使PBD仿真与力学仿真计算结果相差无二,且计算效率高于后者,通过布料仿真实验比较各类型约束的差异。2、实现基于GPU加速技术的PBD仿真算法,对PBD算法中的两种典型的迭代求...
【文章来源】:浙江大学浙江省 211工程院校 985工程院校 教育部直属院校
【文章页数】:67 页
【学位级别】:硕士
【部分图文】:
PBD弯曲
…二?i.??图2.5?Flowing?Clofli实验测试效果图??图2.5左图为距离约束仿真效果,右图为FEM约朿仿真效果。图2.5屮的测??试结果除了迭代解析器中使用的约束不同,其余参数均保持一致。利用FEM约??束的仿真效果在计算诸如布料这种非密闭的柔性体时,在过程中细分了模型,利??用内能约束来保持柔性体的形态,相比距离约束的结果显得更加柔软,形变过程??同样能够保持布料本身的物理特征。??实验记录整个仿真过程中迭代求解约束所使用的平均时间,分祈两种约束之??间的差异。本实验的PBD仿真算法使用固定时间步长为50ms,单个时间步长进??行5次迭代,通过不同规模的布料模型记录约束求解时间的变化,如表2.2所示:??表2.2?PBD约束求解时间对比表??场景复杂度?约束求解时间(ms)??'Tri?VU—?距离约束?FEM约束?? ̄ ̄38642?19600?28.9776?31.7907??19602?10000?11.4329? ̄?15.7351??12482?6400? ̄?5.91776?10.5489?? ̄ ̄6962?3600?2.98717?[?4.1476??在仿真模型复杂度相同的情况下,距离约束求解效率高于FEM约束,特别??是在简单场景下
FEM更适用于处理复杂场景。除此之外,我们进一步通过变化的迭代次数来??比较距离约束与FEM约束之间求解时间的变化,实验使用规模1.2K面片的布料??模型进行测试,结果如图2.6所示:??20??;z^^二^??:12????I?B??S?????????4??2??0??迭代次数:5?6?7?8?9?10???距离约束一_?FEfV^勺束??图2.6?PBD约束迭代时间对比图??随着迭代次数增长,距离约束的求解时间逐渐与FEM约束求解时间持平。??因此,处理复杂场景时,为了达到收敛进行迭代次数较大的求解,FEM约束将更??加适用。??图2.7?PBD距离约束与弯曲约束仿真结果对比图??2、Twisting:该场景模拟/布料在自转的球上掉落,接触时受摩檫力扭曲旋??23??
本文编号:3064079
【文章来源】:浙江大学浙江省 211工程院校 985工程院校 教育部直属院校
【文章页数】:67 页
【学位级别】:硕士
【部分图文】:
PBD弯曲
…二?i.??图2.5?Flowing?Clofli实验测试效果图??图2.5左图为距离约束仿真效果,右图为FEM约朿仿真效果。图2.5屮的测??试结果除了迭代解析器中使用的约束不同,其余参数均保持一致。利用FEM约??束的仿真效果在计算诸如布料这种非密闭的柔性体时,在过程中细分了模型,利??用内能约束来保持柔性体的形态,相比距离约束的结果显得更加柔软,形变过程??同样能够保持布料本身的物理特征。??实验记录整个仿真过程中迭代求解约束所使用的平均时间,分祈两种约束之??间的差异。本实验的PBD仿真算法使用固定时间步长为50ms,单个时间步长进??行5次迭代,通过不同规模的布料模型记录约束求解时间的变化,如表2.2所示:??表2.2?PBD约束求解时间对比表??场景复杂度?约束求解时间(ms)??'Tri?VU—?距离约束?FEM约束?? ̄ ̄38642?19600?28.9776?31.7907??19602?10000?11.4329? ̄?15.7351??12482?6400? ̄?5.91776?10.5489?? ̄ ̄6962?3600?2.98717?[?4.1476??在仿真模型复杂度相同的情况下,距离约束求解效率高于FEM约束,特别??是在简单场景下
FEM更适用于处理复杂场景。除此之外,我们进一步通过变化的迭代次数来??比较距离约束与FEM约束之间求解时间的变化,实验使用规模1.2K面片的布料??模型进行测试,结果如图2.6所示:??20??;z^^二^??:12????I?B??S?????????4??2??0??迭代次数:5?6?7?8?9?10???距离约束一_?FEfV^勺束??图2.6?PBD约束迭代时间对比图??随着迭代次数增长,距离约束的求解时间逐渐与FEM约束求解时间持平。??因此,处理复杂场景时,为了达到收敛进行迭代次数较大的求解,FEM约束将更??加适用。??图2.7?PBD距离约束与弯曲约束仿真结果对比图??2、Twisting:该场景模拟/布料在自转的球上掉落,接触时受摩檫力扭曲旋??23??
本文编号:3064079
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3064079.html