利索能及
我要发布
收藏
专利号: 2020108957308
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-08-25
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.基于多人重定向的大规模虚拟场景漫游方法,包括如下步骤:

步骤1.计算每个用户在人工势场中所受的力;

每个用户在人工势场中所受到的力包括物理空间边界和其他用户对自己所产生的斥力,计算步骤如下:

11)计算各用户受到物理空间边界的力;首先计算边界产生的斥力矢量,用户越接近边界,其力矢量对用户的影响越大,通过公式(1)计算:其中,下标i表示物理空间中边界的编号,wi即为用户受到边界i的斥力,且为一个向量,表示用户的位置与物理空间边界的距离向量,‖di‖表示用户与边界i的距离,d表示该用户与物理空间中的各边界之间距离的总和再加上该用户与其他用户之间距离的总和;

d由公式(2)来计算:

其中n表示物理空间的边界总数,m表示物理空间中其他用户的数量,下标j表示其他用户的编号,‖hj‖表示该用户与用户j之间的距离;

12)计算各用户受到其他用户的力;其计算方法与计算边界斥力的方法相似;用户之间相互施加的斥力大小会随着他们相对位置的改变而改变;随着用户之间距离的增加,斥力的影响逐渐减小;而且潜在的碰撞往往发生在两用户以能使其相互接近的航向前进时,为在计算时加入了航向因子,该因子通过计算用户移动方向和两个用户位置连线直线角度的余弦平均值得到;与此同时,为了在用户间距离增大时能更快地减少用户间斥力的影响,并在两个用户接近时急剧增大用户间斥力的影响,将衰减指数纳入计算中;综上所述,斥力向量uj由公式(3)计算得到:其中γ代表衰减指数,使得其他用户斥力的影响呈指数下降,k是随着用户之间的相对方向变化而变化的相对航向因子,将被限制到0和1之间,由公式(4)给出:其中θ1和θ2为相对航向角,表示了两用户各自的航向分别与两用户位置连线形成的夹角;

13)计算边界和其他用户对该用户施加力的合力;斥力的合力矢量t由各边界产生的斥力和由用户产生斥力累加,如公式(5):步骤2.计算优先级;

合力矢量t包含两个属性,即矢量的大小和方向;如果合力t值越大,则代表用户更靠近墙壁或其他用户,其碰撞的可能性更大;若合力t的方向与用户朝向之间的角度越大,则用户碰撞的可能性也越大;

根据用户发生碰撞的可能性对用户进行优先级排序,碰撞可能性越低,用户优先级越高,越先引导用户进行碰撞避免;优先级计算由公式(6)给出:其中px表示用户x的优先级,a1,a2是两个参数,t是合力,是用户朝向与合力的夹角;

步骤3.模拟各用户下一步位置的化身并寻找合适的引导点;

模拟各用户下一步位置的化身作为障碍点,可以增强其他用户运动区域对用户的斥力;再根据用户的位置分布寻找合适空白区域作为引导点将用户分散引导;具体步骤如下:

31)根据用户当前运动情况,模拟各用户下一步的位置,并作为障碍点;

32)设置引导点;分析地图,尽可能地将用户向空白区域引导,合理分流;由于空白区域可能是不规则的,因此,引导点的位置选取将远离边界并靠近空白区域的中心;计算规则由公式(7)(8)给出:point(x,y)=b1*D(x,y)1‑b2*D(x,y)2            (7)target=min(point(x,y))                     (8)其中b1,b2为参数,(x,y)是空白区域中的点,D(x,y)1表示该点距离空白区域最小边界的距离,D(x,y)2表示该点到空白区域中心的距离,在空白区域中找到满足使公式(7)结果值最小的坐标点(x,y)即为引导点target;

步骤4.计算总合力,引导用户移动;

将各用户在人工势场中所受物理空间边界、其他用户、障碍点和引导点的力矢量组合成一个新的合力矢量,并依照用户优先级规则依次计算、更新各用户所受合力,引导用户向空旷的物理空间前进,步骤如下:

41)根据各用户的优先级将用户加入优先队列;

42)根据优先队列,将步骤1中边界和其他用户对单个用户施加力的合力再与步骤3中各用户下一个时刻位置化身所产生的斥力以及步骤3中引导点的引力共同合成为单个用户所受合力;最后根据合力的方向前进一步;

不断重复步骤1‑4,实现动态重定向行走。