一种运动中船舶三维模型在航道中的碰撞检测方法

文档序号:9376913阅读:369来源:国知局
一种运动中船舶三维模型在航道中的碰撞检测方法
【技术领域】
[0001]本发明涉及水运中的虚拟现实技术,具体涉及一种运动中船舶三维模型在航道中的碰撞检测方法,本发明属于计算机图形技术领域。
【背景技术】
[0002]随着计算机图形、虚拟现实、计算机视觉等技术的发展,以及数码相机、视频成像等设备的普及,计算机处理、记录和显示三维物体已经成为现实并广泛地服务于各个领域。为此,各种三维模型重建技术应运而生。然而,在船舶的建模相关方面,碰撞检测的相关算法还不算太成熟。

【发明内容】

[0003]为了解决现有技术的不足,本发明利用包围盒技术,提供了一种运动中船舶三维模型在航道中的碰撞检测方法。本发明的目的在于能够更好的判断三维船舶的动态运行中碰撞检测的情况。
[0004]为了实现上述目标,本发明采用如下的技术方案:
[0005]—种运动中船舶三维模型在航道中的碰撞检测技术,包括如下步骤:
[0006]步骤一:.获取航道中所有船舶的详细参数,存入数据结构中;所述参数包括船舶的位置、前进速度、长、宽、高、船头朝向。
[0007]步骤二:构造每个船舶的包围盒。
[0008]步骤2a:根据船舶的长、宽、高构造船舶的包围盒大小。
[0009]步骤2b:将包围盒的参数存入对应船舶的数据结构中。
[0010]步骤三:根据速度和包围和大小判断船只的碰撞情况、及其预测两只船只是否会发生碰撞O
[0011]步骤3a:选择需要判断的两只船舶,读取其参数。
[0012]步骤3b:根据相对位置,通过长、宽、高所构建的包围盒向四周发出射线,判断两者之间是否有交点。
[0013]步骤3c:如果没有交点,则不会相交。
[0014]步骤3c:如果有交点,判断交点距离和目标所在距离的大小,如果小则发生碰撞,并进行处理;如果大则不发生碰撞。
[0015]步骤3d:根据两只船舶的速度与朝向,根据一定的时间系数,来预测在未来某一时刻时,两只船是否在同一位置。
[0016]步骤3f:如果在同一位置,则发生碰撞,并将两只船舶的信息加入碰撞预测列表。
[0017]步骤3g:如果不在则不发生碰撞。
[0018]步骤3h:重新选择场景中的一组船舶,进行相同的操作,直至场景中每两只船舶都经过碰撞判定和碰撞检测。遍历碰撞预测列表,对列表中的每一组船舶进行相应的处理操作。
[0019]本发明的有益之处在于:本发明的运动中船舶三维模型在航道中的碰撞检测方法,运行效率高,便于碰撞的检测,能够预测以后是否会发生碰撞,能够很好的融合到相关的领域中,为三维建模的观测及交互提供了方便。
【附图说明】
[0020]图1是本发明中运动中船舶三维模型在航道中的碰撞检测方法流程图;
[0021]图2是本发明中船舶参数化配置示意图;
[0022]图3是两船的碰撞检测图;
[0023]图4是预测运动中的两船是否碰撞图一;
[0024]图5是预测运动中的两船是否碰撞图二;
[0025]图6是预测运动中的两船是否碰撞图二;
[0026]图7是预测运动中的两船是否碰撞图四;
[0027]图8是预测运动中的两船是否碰撞图五;
[0028]图9是多个船舶在航道中进行碰撞检测图。
【具体实施方式】
[0029]以下结合附图和具体实施例对本发明作具体的介绍。
[0030]如图1所示,一种运动中船舶三维模型在航道中的碰撞检测方法,包括如下步骤:
[0031]步骤一:.获取航道中所有船舶的详细参数,存入数据结构中;所述参数包括船舶的位置、前进速度、长、宽、高、船头朝向。
[0032]步骤二:构造每个船舶的包围盒。
[0033]步骤2a:根据船舶的长、宽、高构造船舶的包围盒大小。
[0034]步骤2b:将包围盒的参数存入对应船舶的数据结构中。
[0035]步骤三:根据速度和包围和大小判断船只的碰撞情况、及其预测两只船只是否会发生碰撞O
[0036]相关步骤如下:
[0037]步骤3a:选择需要判断的两只船舶,读取其参数。
[0038]步骤3b:根据相对位置,通过长、宽、高所构建的包围盒向四周发出射线,判断两者之间是否有交点。
[0039]步骤3c:如果没有交点,则不会相交;
[0040]步骤3d:如果有交点,判断交点距离和目标所在距离的大小,如果小则发生碰撞,如果大则不发生碰撞。
[0041]步骤3e:根据两只船舶的速度与朝向,根据一定的时间系数,来预测在未来某一时刻时,两只船舶是否在同一位置;
[0042]步骤3f:如果在同一位置,则发生碰撞,并将两只船舶的信息加入碰撞预测列表;
[0043]步骤3g:如果不在则不发生碰撞;
[0044]步骤3h:重新选择场景中的一组船,进行相同的操作,直至场景中每两只船都经过碰撞判定和碰撞预测,遍历碰撞预测列表,对列表中的每一组船舶进行相应的处理操作。
[0045]船舶参数化配置可以是在VC++平台下通过对船舶模型的参数进行获取,如图2分别对船舶模型参数长(L)、宽(W)、高(H)、速度(V)进行获取,完成相关数据结构的构建。
[0046]如图3所示是碰撞检测的具体实现,船I的包围盒分别为长(L1),宽(W1),高(H1),从船头、两侧发出射线,判断是否与船2的包围盒有相交的情况,如有则发生碰撞,如果没有则没有碰撞。
[0047]图4、图5、图6、图7、图8所示是预测运动中的两船是否发生碰撞,在图3的基础上,如果两船没有发生碰撞,则计算两船的速度差V = V1-V2,转向的夹角为Θ = 01-02相距的距离为S,计算船头的射线是否会相交,如果不相交,则说明平行,则比较速度,如果速度v〈0,则后面的船只较快,如果W1I2,即船I的宽度大于船2的宽度,则将要发生碰撞,否则不相撞。如果V〉= 0,则后面船只不可能赶上前面船只,则不发生相撞。如果相交,计算船I到达交点的时间为L=S ^v1,计算船2到达交点的时间为t2= s 2/v2,当Ot2时,t =
如果船I在t时间内到达相交点时,S2= tXv2,s2>L2,则说明船2在时间t内走过的路程大于船身长,则不会发生碰撞,反之则会发生碰撞。
[0048]图9是在多个船舶在航道中进行碰撞检测,每一分钟获取所有船舶的信息存入数据结构,对一个船舶进行分析,预测O到5分钟内的碰撞可能情况,首先将同向行驶的船舶速度大于该船舶的船只剔除、然后将相向行驶的船舶速度与该船舶的速度进行相加、计算5分钟内走的路程,如果路程小于两船的距离,则剔除,将剩下的船只通过上述两船碰撞检测预测的方法进行判断,可得出结论,优化了时间和存储空间。
[0049]以上显示和描述了本发明的基本原理、主要特征和优点。本行业的技术人员应该了解,上述实施例不以任何形式限制本发明,凡采用等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。
【主权项】
1.一种运动中船舶三维模型在航道中的碰撞检测方法,其特征在于,包括如下步骤: 步骤一获取航道中所有船舶的详细参数,存入数据结构中;所述参数包括船舶的位置、前进速度、长、宽、高、船头朝向; 步骤二:构造每个船舶的包围盒; 步骤三:根据速度和包围和大小判断船只的碰撞情况、及其预测两只船只是否会发生碰撞。2.根据权利要求1所述的一种运动中船舶三维模型在航道中的碰撞检测方法,其特征在于,所述步骤二包括: 步骤2a:根据船舶的长、宽、高构造船舶的包围盒大小; 步骤2b:将包围盒的参数存入对应船舶的数据结构中。3.根据权利要求1所述的一种运动中船舶三维模型在航道中的碰撞检测方法,其特征在于,所述步骤三包括: 步骤3a:选择需要判断的两只船舶,读取其系数; 步骤3b:根据相对位置,通过长、宽、高所构建的包围盒向四周发出射线,判断两者之间是否有交点; 步骤3c:如果没有交点,则不会相交; 步骤3d:如果有交点,判断交点距离和目标所在距离的大小,如果小则发生碰撞,并进行处理;如果大则不发生碰撞; 步骤3e:根据两只船舶的速度与朝向,根据一定的时间系数,来预测在未来某一时刻时,两只船舶是否在同一位置; 步骤3f:如果在同一位置,则发生碰撞,并将两只船舶的信息加入碰撞预测列表; 步骤3g:如果不在则不发生碰撞; 步骤3h:重新选择场景中的一组船,进行相同的操作,直至场景中每两只船舶都经过碰撞判定和碰撞预测,遍历碰撞预测列表,对列表中的每一组船舶进行相应的处理操作。
【专利摘要】本发明公开了一种运动中船舶三维模型在航道中的碰撞检测方法,包括如下步骤:步骤一:获取航道中所有船舶的详细参数,存入数据结构中;所述参数包括船舶的位置、前进速度、长、宽、高、船头朝向;步骤二:构造每个船舶的包围盒;步骤三:根据速度和包围和大小判断船只的碰撞情况、及其预测两只船只是否会发生碰撞。本发明能够对航道现场中船舶的运行状况进行直观、实时地三维动态碰撞检测分析及预测,系统运行效率高,并能服务于运营船舶的远程管理和控制,对航道管理呈现具有重要意义。
【IPC分类】G06T17/00
【公开号】CN105096381
【申请号】CN201510402150
【发明人】邓子越, 何坤金, 韩磊, 陶友贤, 刘向雨, 谢昱勃
【申请人】河海大学常州校区
【公开日】2015年11月25日
【申请日】2015年7月9日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1