【技术实现步骤摘要】
粒子映射方法和装置
本专利技术涉及计算机
,特别涉及一种粒子映射方法和装置。
技术介绍
随着计算机技术的发展,终端可以在统一计算设备架构(ComputeUnifiedDeviceArchitecture,CUDA)运算平台中求解流体的平流运动,从而实现对流体运动的模拟,比如,火焰、水流等。而终端在CUDA运算平台中求解流体的平流运动时,往往先需要对流体中的粒子进行映射处理,即,通过确定三维空间中每个网格承受的周围粒子的影响力,从而将流体中的粒子映射到三维空间的网格中。现有技术中,终端的内存空间中存储流体中的每个粒子的粒子数据,粒子数据包括位置信息和预设物理量。其中,预设物理量包括密度、速度和温度中的至少一个。在对流体中的粒子进行映射处理时,终端将当前的三维空间划分为多个立方体,每个立方体包括27个网格,每个网格为以单位长度为边长的单位立方体。终端中同时运行多个线程,通过一个线程对一个立方体中的粒子进行映射处理。对于每个立方体中的每个网格,终端通过一个线程从内存空间中读取粒子集合中的每个粒子的粒子数据,粒子集合包括该网格包括的粒子以及该网格周围的26个网格包括的粒子。终端根据该粒子集合中的每个粒子的位置信息,将该粒子集合中的粒子映射到该网格中,根据该粒子集合包括的每个粒子的位置信息和该网格的位置信息,分别计算该粒子集合包括的每个粒子与该网格之间的权重。终端根据该粒子集合包括的每个粒子与该网格之间的权重,以及,该粒子集合包括的每个粒子的预设物理量,通过以下公式一计算该粒子集合包括的每个粒子的预设物理量对该网格的影响力之和。终端计算该粒子集合包括的每个粒子 ...
【技术保护点】
一种粒子映射方法,其特征在于,所述方法包括:对于三维空间中的第一区域的第一子区域,读取所述第一子区域包括的每个第一粒子的粒子数据,并根据所述每个第一粒子的粒子数据和所述第一子区域的第一中心网格的位置信息,确定所述每个第一粒子对所述第一中心网格的第一影响力之和以及第一权重之和,任一第一粒子的粒子数据包括所述任一第一粒子的位置信息和预设物理量,所述第一区域为所述三维空间中的任一区域,所述第一子区域为所述第一区域中的任一子区域,所述第一子区域包括第一预设数目个网格;从第二存储空间中获取第二子区域中的每个第二粒子对所述第一中心网格的第二影响力之和以及第二权重之和,以及,从第三存储空间中获取第三子区域中的每个第三粒子对所述第一中心网格的第三影响力之和以及第三权重之和,所述第二子区域为所述第一子区域的前一个子区域,所述第三子区域为所述第一子区域的后一个子区域;根据所述第一影响力之和、所述第一权重之和、所述第二影响力之和、所述第二权重之和、所述第三影响力之和以及所述第三权重之和,确定所述第一中心网格的平均影响力;根据所述每个第一粒子的位置信息,将所述每个第一粒子映射到所述第一中心网格中,将所述第一中 ...
【技术特征摘要】
1.一种粒子映射方法,其特征在于,所述方法包括:对于三维空间中的第一区域的第一子区域,读取所述第一子区域包括的每个第一粒子的粒子数据,并根据所述每个第一粒子的粒子数据和所述第一子区域的第一中心网格的位置信息,确定所述每个第一粒子对所述第一中心网格的第一影响力之和以及第一权重之和,任一第一粒子的粒子数据包括所述任一第一粒子的位置信息和预设物理量,所述第一区域为所述三维空间中的任一区域,所述第一子区域为所述第一区域中的任一子区域,所述第一子区域包括第一预设数目个网格;从第二存储空间中获取第二子区域中的每个第二粒子对所述第一中心网格的第二影响力之和以及第二权重之和,以及,从第三存储空间中获取第三子区域中的每个第三粒子对所述第一中心网格的第三影响力之和以及第三权重之和,所述第二子区域为所述第一子区域的前一个子区域,所述第三子区域为所述第一子区域的后一个子区域;根据所述第一影响力之和、所述第一权重之和、所述第二影响力之和、所述第二权重之和、所述第三影响力之和以及所述第三权重之和,确定所述第一中心网格的平均影响力;根据所述每个第一粒子的位置信息,将所述每个第一粒子映射到所述第一中心网格中,将所述第一中心网格的影响力设置为所述平均影响力。2.根据权利要求1所述的方法,其特征在于,所述对于三维空间中的第一区域的第一子区域,读取所述第一子区域包括的每个第一粒子的粒子数据,并根据所述每个第一粒子的粒子数据和所述第一子区域的第一中心网格的位置信息,确定所述每个第一粒子对所述第一中心网格的第一影响力之和以及第一权重之和,包括:从所述第一区域对应的第一存储空间中读取所述第一区域包括的每个粒子的粒子数据;对于所述第一子区域中的第一中心网格,通过第一线程,执行以下步骤:根据所述每个第一粒子的位置信息和所述第一中心网格的位置信息,计算所述每个第一粒子与所述第一中心网格之间的权重;对所述每个第一粒子与所述第一中心网格之间的权重进行求和,得到所述第一权重之和;将所述每个第一粒子与所述第一中心网格之间的权重与所述每个第一粒子的预设物理量进行乘积,得到所述每个第一粒子对所述第一中心网格的影响力;将所述每个第一粒子对所述第一中心网格的影响力进行求和,得到所述第一影响力之和。3.根据权利要求2所述的方法,其特征在于,所述从所述第一区域对应的第一存储空间中读取所述第一区域包括的每个粒子的粒子数据之前,所述方法还包括:根据本端设备包括的每个存储空间的大小,将所述三维空间划分为多个柱状体,每个柱状体包括多个网格;将所述每个柱状体划分为多个区域;为所述第一区域分配所述第一存储空间,将所述第一区域包括的粒子的粒子数据存储到所述第一存储空间中。4.根据权利要求3所述的方法,其特征在于,所述将所述第一区域包括的粒子的粒子数据存储到所述第一存储空间中,包括:根据所述第一存储空间的大小,从内存空间中读取所述第一区域包括的粒子的粒子数据;将读取的粒子数据存储到所述第一存储空间中。5.根据权利要求2-4任一所述的方法,其特征在于,所述第一存储空间为显卡缓存sharedmemory。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述第一影响力之和,以及所述第一权重之和存储到所述第一区域对应的第四存储空间中。7.根据权利要求1所述的方法,其特征在于,所述从第二存储空间中获取第二子区域中的每个第二粒子对所述第一中心网格的第二影响力之和以及第二权重之和,以及,从第三存储空间中获取第三子区域中的每个第三粒子对所述第一中心网格的第三影响力之和以及第三权重之和之前,所述方法还包括:读取所述第二子区域包括的每个第二粒子的粒子数据,根据所述每个第二粒子的粒子数据和所述第一中心网格的位置信息,确定所述每个第二粒子对所述第一中心网格的第二影响力之和以及第二权重之和,将所述第二影响力之和与所述第二权重之和存储至所述第二存储空间中;读取所述第三子区域包括的每个第三粒子的粒子数据,根据所述每个第三粒子的粒子数据和所述第一中心网格的位置信息,确定所述每个第三粒子对所述第一中心网格的第三影响力之和以及第三权重之和,将所述第三影响力之和与所述第三权重之和存储至所述第三存储空间中。8.根据权利要求1所述的方法,其特征在于,所述根据所述第一影响力之和、所述第一权重之和、所述第二影响力之和、所述第二权重之和、所述第三影响力之和以及所述第三权重之和,确定所述第一中心网格的平均影响力,包括:对所述第一影...
【专利技术属性】
技术研发人员:谭健文,
申请(专利权)人:广州酷狗计算机科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。