CN117197408A - 基于osgEarth3D仿真环境标牌自动避让方法、装置、介质及设备 - Google Patents
基于osgEarth3D仿真环境标牌自动避让方法、装置、介质及设备 Download PDFInfo
- Publication number
- CN117197408A CN117197408A CN202311195801.3A CN202311195801A CN117197408A CN 117197408 A CN117197408 A CN 117197408A CN 202311195801 A CN202311195801 A CN 202311195801A CN 117197408 A CN117197408 A CN 117197408A
- Authority
- CN
- China
- Prior art keywords
- visible
- model
- target
- rectangle
- osgearth3d
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 94
- 238000000034 method Methods 0.000 title claims abstract description 43
- 239000007787 solid Substances 0.000 claims description 48
- 238000004590 computer program Methods 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 14
- 230000000694 effects Effects 0.000 abstract description 12
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000009877 rendering Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 230000009466 transformation Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- WABPQHHGFIMREM-UHFFFAOYSA-N lead(0) Chemical compound [Pb] WABPQHHGFIMREM-UHFFFAOYSA-N 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本申请涉及一种基于osgEarth 3D仿真环境标牌自动避让方法、装置、介质及设备,其中方法包括:获取osgEarth 3D仿真环境中可见实体模型的第一外接矩形,并获取所述osgEarth 3D仿真环境中所述可见实体模型对应的目标标牌的第二外接矩形,所述目标标牌为显示所述可见实体模型的属性并且正对终端的屏幕的标牌;根据所述第一外接矩形和所述第二外接矩形的位置关系,判断所述可见实体模型与所述目标标牌是否碰撞;若是,则确定所述目标标牌重新显示的目标位置,并将所述目标标牌移动至所述目标位置。本申请具有的提升解决标牌遮挡实体模型问题的效率效果。
Description
技术领域
本申请涉及标牌避让技术领域,具体涉及一种基于osgEarth 3D仿真环境标牌自动避让方法、装置、介质及设备。
背景技术
随着计算机图形学和计算机仿真技术的蓬勃发展,视景仿真技术在航空领域发挥的作用越来越重要。其中,飞行视景仿真***应用较为广泛,飞行视景仿真***既可以实时显示飞行器的状态,又可以模拟充满危险的实验,而飞行视景仿真***则是需要osgEarth配合渲染,osgEarth作为一款的三维渲染引擎,不仅能够渲染并显示三维仿真场景,还能够给用户提供相关的操作界面进行人机交互控制。在osgEarth渲染大型的飞行视景仿真***中,重点构造战机,战舰,无人机等实体模型,同时osgEarth渲染过程中,为了用户直观的区分不同实体模型的角色,会为每个实体模型绘制标牌,显示实体模型的属性。
针对上述中的相关技术,发明人认为存在有以下缺陷: osgEarth的三维仿真场景搭建完成后,基于实体模型的仿真数据,驱动实体模型在三维仿真场景中推演显示过程中,会出现标牌遮挡实体模型的情况,影响仿真推演的效果,通常采用的方式为:人员手动调整标牌的位置来解决标牌遮挡实体模型的问题,但是手工调整的方式效率较低。
发明内容
为了提升解决标牌遮挡实体模型问题的效率,本申请提供一种基于osgEarth 3D仿真环境标牌自动避让方法、装置、介质及设备。
在本申请的第一方面提供了一种基于osgEarth 3D仿真环境标牌自动避让方法,具体包括:
获取osgEarth 3D仿真环境中可见实体模型的第一外接矩形,并获取所述osgEarth 3D仿真环境中所述可见实体模型对应的目标标牌的第二外接矩形,所述目标标牌为显示所述可见实体模型的属性并且正对终端的屏幕的标牌;
根据所述第一外接矩形和所述第二外接矩形的位置关系,判断所述可见实体模型与所述目标标牌是否碰撞;
若是,则确定所述目标标牌重新显示的目标位置,并将所述目标标牌移动至所述目标位置。
通过采用上述技术方案,确定可见实体模型的第一外接矩形和对应目标标牌的第二外接矩形,从而将可见实体模型和目标标牌从3D仿真环境中转换到二维平面上,从而较为便捷地根据第一外接矩形和第二外接矩形的位置关系,准确判断可见实体模型和对应的目标标牌是否发生碰撞,如果发生碰撞,说明目标标牌对遮挡此可见实体模型,影响仿真推演效果,那么确定目标标牌重新显示的目标位置,即,避免遮挡而需要移动到的位置。最后,自动将此目标标牌移动到此目标位置,从而避免人员手动移动标牌,实现提升解决标牌遮挡实体模型问题的效率。
可选的,所述获取osgEarth 3D仿真环境中可见实体模型的第一外接矩形,具体包括:
获取osgEarth 3D仿真环境中各实体模型的包围盒;
将各所述包围盒的三维顶点坐标转换为屏幕坐标,并根据每个所述实体模型的屏幕坐标,确定各所述实体模型的屏幕外接矩形;
判断各所述实体模型是否在视口中可见,若可见,则将可见的实体模型对应的屏幕外接矩形确定为可见实体模型的第一外接矩形,所述视口为观察实体模型时所看到的屏幕区域。
通过采用上述技术方案,确定osgEarth 3D仿真环境中各个实体模型的包围盒的三维顶点坐标,将其转换为屏幕坐标,进而确定实体模型在屏幕上的屏幕外接矩形,从而实现将各个实体模型投影到2D屏幕的效果。由于仅限于终端的屏幕上显示的实体模型会对仿真推演效果产生影响,因此从各个实体模型中筛选出可见的实体模型,最后将可见的实体模型的屏幕外接矩形,确定为可见实体模型的第一外接矩形,从而方便后续可见实体模型的碰撞检测。
可选的,所述判断各所述实体模型是否在视口中可见,具体包括:
判断各所述实体模型的屏幕坐标是否处于视口范围内;
若处于所述视口范围内,则确定对应的实体模型在视口中可见;
若未处于所述视口范围内,则确定对应的实体模型在视口中不可见。
通过采用上述技术方案,如果实体模型的屏幕坐标处在视口范围中,说明此实体模型在终端的屏幕上可以被看到,那么确定此实体模型是可见,反之,则是不可见,从而实现快速准确地确定可见的实体模型。
可选的,所述判断各所述实体模型是否在视口中可见,若可见之后还包括:
将可见的实体模型和对应的屏幕外接矩形添加至预设的模型链表中,并继续判断下一个实体模型是否在视口中可见;
若可见,重复执行所述将可见的实体模型和对应的屏幕外接矩形添加至预设的模型链表中的步骤,直到所有实体模型遍历完成;
所述将可见的实体模型对应的屏幕外接矩形确定为可见实体模型的第一外接矩形,具体包括:
从所述模型链表中任选一个目标实体模型,将所述目标实体模型的屏幕外接矩形确定为可见实体模型的第一外接矩形。
通过采用上述技术方案,将所有实体模型中可见的实体模型和对应的屏幕外接矩形均添加到模型链表中,从而方便对可见的实体模型进行管理和处理。进一步地,从模型链表中选择一个目标实体模型,确定为可见实体模型的第一外接矩形,从而方便更好地进行可见的实体模型的碰撞测试。
可选的,所述根据所述第一外接矩形和所述第二外接矩形的位置关系,判断所述可见实体模型与所述目标标牌是否碰撞,具体包括:
判断所述第一外接矩形与所述第二外接矩形是否相交;
若相交,则确定所述可见实体模型与所述目标标牌发生碰撞。
通过采用上述技术方案,如果第一外接矩形与第二外接矩形的位置关系为相交,说明对应的可见实体模型与目标标牌在osgEarth 3D仿真环境中发生碰撞,从而实现较为简单快速地完成碰撞检测。
可选的,所述确定所述目标标牌重新显示的目标位置,具体包括:
确定所述第一外接矩形与所述第二外接矩形的相交矩形;
将所述相交矩形的宽度确定为目标距离,并将所述目标标牌沿发生碰撞的相反方向移动所述目标距离后所处的位置确定为目标位置。
通过采用上述技术方案,如果确定发生碰撞,那么将第一外接矩形与第二外接矩形的相交矩形的宽度确定为目标距离,即,避让可见实体模型而移动的距离,接着根据目标距离,可以快速地确定目标标牌避让后的位置,方便后续目标标牌自动避让。
可选的,所述获取所述osgEarth 3D仿真环境中所述可见实体模型对应的目标标牌的第二外接矩形,具体包括:
确定所述osgEarth 3D仿真环境中所述可见实体模型对应的目标标牌中显示内容的所占面积的尺寸;
根据所述尺寸,生成所述目标标牌的第二外接矩形。
通过采用上述技术方案,由于目标标牌中具有可见实体模型的属性的显示内容,并且目标标牌是正对屏幕,因此根据显示内容的所占面积,可以确定显示内容的尺寸,进而相应地可以确定第二外接矩形的尺寸,最终快速准确地的确定目标标牌在屏幕上的外接矩形。
在本申请的第二方面提供了一种基于osgEarth 3D仿真环境标牌自动避让装置,具体包括:
矩形获取模块,用于获取osgEarth 3D仿真环境中可见实体模型的第一外接矩形,并获取所述osgEarth 3D仿真环境中所述可见实体模型对应的目标标牌的第二外接矩形,所述目标标牌为显示所述可见实体模型的属性并且正对终端的屏幕的标牌;
碰撞检测模块,用于根据所述第一外接矩形和所述第二外接矩形的位置关系,判断所述可见实体模型与所述目标标牌是否碰撞;
碰撞避让模块,用于若是,则确定所述目标标牌重新显示的目标位置,并将所述目标标牌移动至所述目标位置。
通过采用上述技术方案,矩形获取模块获取osgEarth 3D仿真环境中可见实体模型的第一外接矩形和对应目标标牌的第二外接矩形,接着由碰撞检测模块根据第一外接矩形和第二外接矩形的位置关系,快速确定可见实体模型与目标标牌是否碰撞,最后由碰撞避让模块在确定碰撞后,确定目标标牌重新显示的目标位置,并将目标标牌移动至所述目标位置,从而实现自动调整目标标牌的位置,提升解决标牌遮挡实体模型问题的效率。
综上所述,本申请包括以下至少一种有益技术效果:
确定可见实体模型的第一外接矩形和对应目标标牌的第二外接矩形,从而将可见实体模型和目标标牌从3D仿真环境中转换到二维平面上,从而较为便捷地根据第一外接矩形和第二外接矩形的位置关系,准确判断可见实体模型和对应的目标标牌是否发生碰撞,如果发生碰撞,说明目标标牌对遮挡此可见实体模型,影响仿真推演效果,那么确定目标标牌重新显示的目标位置,即,避免遮挡而需要移动到的位置。最后,自动将此目标标牌移动到此目标位置,从而避免人员手动移动标牌,实现提升解决标牌遮挡实体模型问题的效率。
附图说明
图1是本申请实施例提供的一种基于osgEarth 3D仿真环境标牌自动避让方法的流程示意图;
图2是本申请实施例提供的一种视景仿真效果的示意图;
图3是本申请实施例提供的另一种基于osgEarth 3D仿真环境标牌自动避让方法的流程示意图;
图4是本申请实施例提供的一种基于osgEarth 3D仿真环境标牌自动避让装置的结构示意图。
附图标记说明:11、矩形获取模块;12、碰撞检测模块;13、碰撞避让模块。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
在本申请实施例的描述中,“示性的”、“例如”或者“举例来说”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B这三种情况。另外,除非另有说明,术语“多个”的含义是指两个或两个以上。例如,多个***是指两个或两个以上的***,多个屏幕终端是指两个或两个以上的屏幕终端。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
参见图1,本申请实施例公开了一种基于osgEarth 3D仿真环境标牌自动避让方法的流程示意图,可依赖于计算机程序实现,也可运行于基于冯诺依曼体系的基于osgEarth3D仿真环境标牌自动避让装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,具体包括:
S101:获取osgEarth 3D仿真环境中可见实体模型的第一外接矩形,并获取osgEarth 3D仿真环境中可见实体模型对应的目标标牌的第二外接矩形。
在一个可实现的实施方式中,获取osgEarth 3D仿真环境中各实体模型的包围盒;
将各包围盒的三维顶点坐标转换为屏幕坐标,并根据每个实体模型的屏幕坐标,确定各所述实体模型的屏幕外接矩形;
判断各实体模型是否在视口中可见,若可见,则将可见的实体模型对应的屏幕外接矩形确定为可见实体模型的第一外接矩形。
具体的,osgEarth是一款可规模化的地景渲染工具箱,它可以将地理空间数据(如地形、卫星图像和矢量数据)集成到3D地球模型中。可见实体模型为终端的显示器的屏幕上可以看到的osgEarth 3D仿真环境中的三维实体模型。第一外接矩形为可见实体模型在2D屏幕上对应的矩形。第二外接矩形为目标标牌的三维模型在2D屏幕上对应的矩形,屏幕外接矩形为实体模型在2D屏幕上对应的矩形。其中,实体模型为osgEarth工具在3D仿真环境中所构建的三维仿真模型,在进行仿真推演的动态过程中,3D仿真环境中的各个实体模型不会全部在终端的屏幕上可见,而是逐渐依次在终端的屏幕可见。
通过osgEarth的扩展库osgEarth::Features,可以获取到当前osgEarth 3D仿真环境中的各个实体模型的包围盒,其中,包围盒(Bounding Box)是一种几何体,用于包围三维模型。接着将各个包围框的三维顶点坐标,即顶点的世界坐标转换为屏幕坐标,其中,屏幕坐标(Screen Coordinate)为一种用于描述在屏幕上的位置的坐标,屏幕坐标系的坐标轴的起点为屏幕的左下角,水平向右为X轴正方向,垂直向上为Y轴正方向。屏幕坐标通常以像素为单位,用于描述屏幕上的点、线、形状、图像等的位置和布局。
在本申请实施中,主要通过osgEarth工具提供的osg::Vec3d screen函数,将各个实体模型顶点的世界坐标转换为屏幕坐标。接着根据每个实体模型的屏幕坐标输入到预设的cv::Rect函数中,即可确定每个实体模型对应的屏幕外接矩形。
最后需要判断各个实体模型是否在视口中可见,具体步骤为:判断各实体模型的屏幕坐标是否处于视口范围内;
若处于视口范围内,则确定对应的实体模型在视口中可见;
若未处于视口范围内,则确定对应的实体模型在视口中不可见。
根据每个实体模型的屏幕坐标是否处于终端的视口范围(屏幕范围)内,如果屏幕坐标处在屏幕范围内,说明此实体模型在视口上可见,即在终端的屏幕上可见。反之,则不可见。例如,屏幕范围为x轴:0-800,y轴:0-600。实体模型A的屏幕坐标为(200, 150),200在0到800之间,150在0到600之间,确定屏幕坐标在屏幕范围内,实体模型A在屏幕上可见。其中,视口为观察实体模型时所看到的屏幕区域,即终端的屏幕。
如果实体模型在视口中可见,那么将此可见的实体模型确定为可见实体模型,此可见的实体模型的屏幕外接矩形确定为可见实体模型的第一外接矩形。
第一外接矩形确定后,进一步地,确定此可见实体模型对应的目标标牌的第二外接矩形。其中,如图2所示,目标标牌为osgEarth 3D仿真环境中显示此可见实体模型的属性并且正对终端的屏幕的标牌。例如,可见实体模型为战机三维仿真模型,那么战机三维仿真模型附近会设置有对应的目标标牌,用来显示战机三维仿真模型所处的经度、纬度、高度,所具备的速度、航向以及对应机型等。
一种可行的确定第二外接矩形的方式为:确定osgEarth 3D仿真环境中可见实体模型对应的目标标牌中显示内容的所占面积的尺寸;
根据尺寸,生成所述目标标牌的第二外接矩形。
进一步地,由于目标标牌是正对终端的屏幕,因此与第一外接矩形的确定方式不同,无需将对应的世界坐标转换为屏幕坐标,直接可根据目标标牌中显示内容确定第二外接矩形的尺寸。通过getBoundingClientRect函数来确定显示内容的尺寸,进而确定第二外接矩形的尺寸,在其它实施例中,也可以通过PIL库来计算显示内容的尺寸,进而确定第二外接矩形的尺寸。最后通过预设的drawRectangle函数,根据确定的尺寸,生成目标标牌对应的第二外接矩形。
S102:根据第一外接矩形和第二外接矩形的位置关系,判断可见实体模型与目标标牌是否碰撞。
在一个可实现的实施方式中,判断第一外接矩形与第二外接矩形是否相交;
若相交,则确定可见实体模型与目标标牌发生碰撞。
具体的,第一外接矩形和第二外接矩形确定后,对第一外接矩形和第二外接矩形进行IOU计算,得到IOU值,IOU(Intersection over Union)是一种常用的衡量两个矩形相交程度的指标,它计算了两个矩形交集与并集的比值。如果IOU值大于预设值,确定第一外接矩形和第二外接矩形相交,进而确定此可见实体模型与对应的目标标牌在osgEarth 3D仿真环境中动态推演时会发生碰撞。在本申请实施例中,预设值可以为0.5,在其他实施例中,预设值也可以为0.6。反之,如果IOU值小于预设值,确定第一外接矩形和第二外接矩形不相交,进而确定可见实体模型与对应的目标标牌不会发生碰撞。在其它实施例中,还可以通过Python的几何库shapely确定第一外接矩形和第二外接矩形是否相交。
S103:若是,则确定目标标牌重新显示的目标位置,并将目标标牌移动至目标位置。
在一个可实现的实施方式中,确定第一外接矩形与第二外接矩形的相交矩形;
将相交矩形的宽度确定为目标距离,并将目标标牌沿发生碰撞的相反方向移动目标距离后所处的位置确定为目标位置;
具体的,如果确定此可见实体模型与对应的目标标牌发生碰撞,那么确定第一外接矩形与第二外接矩形的相交区域,在本申请实施例中,由于在osgEarth 3D仿真环境中可见实体模型对应的第一外接矩形为水平放置的矩形,以便于显示和处理,因此相交区域为相交矩形。
接着通过预设的get_rectangle_width函数获取相交矩形的宽度,并将此宽度确定为目标距离。并且将目标标牌的第二外接矩形的四个顶点的屏幕坐标沿发生碰撞的相反方向移动目标距离,得到全新的四个屏幕坐标,进而确定目标标牌重新显示的目标位置。
最后将预设的osg::MatrixTransform节点作为此目标标牌的父节点,并且将osg::MatrixTransform节点的变换矩阵设置为平移矩阵,实现将此目标标牌移动到此目标位置上,从而使得在此可见实体模型与目标标牌发生碰撞时,自动调整目标标牌的位置,实现目标标牌自动避让的效果,进而避免目标标牌遮挡可见实体模型,影响仿真推演的效果。
需要说明的是,在其他实施例中,目标标牌调整到目标位置,避让对应的可见实体模型的实现方式还可以为:通过引线链接的方式,在可见实体模型与对应的目标标牌发生碰撞时,自动调整目标标牌到目标位置,实现自动避让。其中,引线链接是一种将目标标牌与目标位置进行关联的方式,通过引线链接,可以将目标标牌与地图上的点线面等要素关联。此为现有技术,在此不再赘述。
在一个可实现的实施方式中,确定相交矩形后,如果相交矩形与第一外接矩形相同,说明此时第二外接矩形包含第一外接矩形,则确定第二外接矩形除去第一外接矩形的宽度后的两个剩余宽度,选择两个剩余宽度中最小剩余宽度,将目标距离确定为第一外接矩形的宽度与最小剩余宽度之和,目标位置在靠近最小剩余宽度一侧,从而使得目标标牌移动较小的距离,缩短避让的时长。
参见图3,本申请实施例公开了另一种基于osgEarth 3D仿真环境标牌自动避让方法的流程示意图,可依赖于计算机程序实现,也可运行于基于冯诺依曼体系的基于osgEarth 3D仿真环境标牌自动避让装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,具体包括:
S201:获取osgEarth 3D仿真环境中各实体模型的包围盒。
S202:将各包围盒的三维顶点坐标转换为屏幕坐标,并根据每个实体模型的屏幕坐标,确定各实体模型的屏幕外接矩形。
具体的,可参考步骤S101-S102,在此不再赘述。
S203:判断各实体模型是否在视口中可见,若可见,将可见的实体模型和对应的屏幕外接矩形添加至预设的模型链表中,并继续判断下一个实体模型是否在视口中可见。
具体的,如果判断实体模型在视口中可见,那么将此可见的实体模型和对应的屏幕外接矩形添加到预设的模型链表中。其中,模型链表(Model Linked List)是一种数据结构模型,它可以将多个模型组合成一个链表,以便进行管理和操作。每个模型可以看作是链表中的一个节点,每个节点保存了该模型的信息以及指向下一个节点的指针。通过使用模型链表,可以在程序中方便地遍历和管理多个模型,例如进行渲染、碰撞检测、修改等操作。同时,模型链表也可以实现动态添加和删除模型,以适应程序运行时的需求变化。在计算机图形学、游戏开发、虚拟现实等领域中,模型链表被广泛使用。
将当前可见的实体模型和对应的屏幕外接矩形添加到模型链表中后,继续判断下一个实体模型在视口中是否可见。
S204:若可见,重复执行所述将可见的实体模型和对应的屏幕外接矩形添加至预设的模型链表中的步骤,直到所有实体模型遍历完成。
具体的,如果下一个实体模型在视口中可见,那么重复执行将可见的实体模型和对应的屏幕外接矩形添加到模型链表中,并继续选取下一个实体模型继续判断是否在视口中可见,如果可见,便添加到模型链表中,不断重复此操作,直到所有实体模型均被遍历。最后模型链表中存储有多个当前在屏幕上可见的实体模型和对应的屏幕外接矩形。
需要说明的是,由于后续需要进行可见的实体模型和对应的目标标牌进行碰撞检测,从各个实体模型中筛选出可见的实体模型后,添加到模型链表中可以更好地在对可见的实体模型进行管理,方便每个可见的实体模型与对应的目标标牌进行碰撞检测。
S205:从模型链表中任选一个目标实体模型,将目标实体模型的屏幕外接矩形确定为可见实体模型的第一外接矩形。
具体的,从模型链表中的多个可见的实体模型任选一个可见的实体模型作为目标实体模型,将目标实体模型确定为可见实体模型,将目标实体模型对应的屏幕外接矩形确定为可见实体模型的第一外接矩形。
S206:获取osgEarth 3D仿真环境中可见实体模型对应的目标标牌的第二外接矩形。
在一个可实现的实施方式中,在判断可见实体模型与对应的目标标牌是否发生碰撞之前,判断此可见实体模型是否为null,因为可见实体模型为null,通常需要处理或抛出异常,选择下一个可见实体模型,以避免在程序中进行非法操作。如果判断不为null,那么继续正常进行碰撞检测。具体是通过null判断语句进行判断。
S207:根据第一外接矩形和第二外接矩形的位置关系,判断可见实体模型与目标标牌是否碰撞。
S208:若是,则确定目标标牌重新显示的目标位置,并将目标标牌移动至目标位置。
具体的,可参考步骤S101-S103,在此不再赘述。
在其它实施例中,步骤S208之后,当此可见实体模型对应的目标标牌避让完成后,继续再从模型链表中再次任选一个未被选择的目标实体模型,将其对应的屏幕外接矩形确定为第一外接矩形,继续进行下一个可见实体模型与对应目标标牌的碰撞检测,进而确定是否需要进行避让。
本申请实施例基于osgEarth 3D仿真环境标牌自动避让方法的实施原理为:确定可见实体模型的第一外接矩形和对应目标标牌的第二外接矩形,从而将可见实体模型和目标标牌从3D仿真环境中转换到二维平面上,从而较为便捷地根据第一外接矩形和第二外接矩形的位置关系,准确判断可见实体模型和对应的目标标牌是否发生碰撞,如果发生碰撞,说明目标标牌对遮挡此可见实体模型,影响仿真推演效果,那么确定目标标牌重新显示的目标位置,即,避免遮挡而需要移动到的位置。最后,自动将此目标标牌移动到此目标位置,从而避免人员手动移动标牌,实现提升解决标牌遮挡实体模型问题的效率。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图4,为本申请实施例提供的一种基于osgEarth 3D仿真环境标牌自动避让装置的结构示意图。该应用于基于osgEarth 3D仿真环境标牌自动避让装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置1包括矩形获取模块11、碰撞检测模块12和碰撞避让模块13。
矩形获取模块11,用于获取osgEarth 3D仿真环境中可见实体模型的第一外接矩形,并获取osgEarth 3D仿真环境中可见实体模型对应的目标标牌的第二外接矩形;
碰撞检测模块12,用于根据第一外接矩形和第二外接矩形的位置关系,判断可见实体模型与目标标牌是否碰撞;
碰撞避让模块13,用于若是,则确定目标标牌重新显示的目标位置,并将目标标牌移动至目标位置。
可选的,矩形获取模块11,具体用于:
获取osgEarth 3D仿真环境中各实体模型的包围盒;
将各包围盒的三维顶点坐标转换为屏幕坐标,并根据每个实体模型的屏幕坐标,确定各实体模型的屏幕外接矩形;
判断各实体模型是否在视口中可见,若可见,则将可见的实体模型对应的屏幕外接矩形确定为可见实体模型的第一外接矩形,视口为观察实体模型时所看到的屏幕区域。
可选的,矩形获取模块11,还具体用于:
判断各实体模型的屏幕坐标是否处于视口范围内;
若处于视口范围内,则确定对应的实体模型在视口中可见;
若未处于视口范围内,则确定对应的实体模型在视口中不可见。
可选的,矩形获取模块11,具体还用于:
将可见的实体模型和对应的屏幕外接矩形添加至预设的模型链表中,并继续判断下一个实体模型是否在视口中可见;
若可见,重复执行将可见的实体模型和对应的屏幕外接矩形添加至预设的模型链表中的步骤,直到所有实体模型遍历完成;
可选的,矩形获取模块11,还具体用于:
从模型链表中任选一个目标实体模型,将目标实体模型的屏幕外接矩形确定为可见实体模型的第一外接矩形。
可选的,碰撞检测模块12,具体用于:
判断第一外接矩形与第二外接矩形是否相交;
若相交,则确定可见实体模型与目标标牌发生碰撞。
可选的,碰撞避让模块13,具体用于
确定第一外接矩形与第二外接矩形的相交矩形;
将相交矩形的宽度确定为目标距离,并将目标标牌沿发生碰撞的相反方向移动目标距离后所处的位置确定为目标位置。
可选的,矩形获取模块11,具体用于:
确定osgEarth 3D仿真环境中可见实体模型对应的目标标牌中显示内容的所占面积的尺寸;
根据尺寸,生成目标标牌的第二外接矩形。
需要说明的是,上述实施例提供的一种基于osgEarth 3D仿真环境标牌自动避让装置在执行基于osgEarth 3D仿真环境标牌自动避让方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的一种基于osgEarth 3D仿真环境标牌自动避让装置与一种基于osgEarth 3D仿真环境标牌自动避让方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
本申请实施例还公开一种计算机可读存储介质,并且,计算机可读存储介质存储有计算机程序,其中,计算机程序被处理器执行时,采用了上述实施例的一种基于osgEarth3D仿真环境标牌自动避让方法。
其中,计算机程序可以存储于计算机可读介质中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间件形式等,计算机可读介质包括能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM)、随机存取存储器(RAM)、电载波信号、电信信号以及软件分发介质等,需要说明的是,计算机可读介质包括但不限于上述元器件。
其中,通过本计算机可读存储介质,将上述实施例的一种基于osgEarth 3D仿真环境标牌自动避让方法存储于计算机可读存储介质中,并且,被加载并执行于处理器上,以方便上述方法的存储及应用。
本申请实施例还公开一种电子设备,计算机可读存储介质中存储有计算机程序,计算机程序被处理器加载并执行时,采用了上述一种基于osgEarth 3D仿真环境标牌自动避让方法。
其中,电子设备可以采用台式电脑、笔记本电脑或者云端服务器等电子设备,并且,电子设备设备包括但不限于处理器以及存储器,例如,电子设备还可以包括输入输出设备、网络接入设备以及总线等。
其中,处理器可以采用中央处理单元(CPU),当然,根据实际的使用情况,也可以采用其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以采用微处理器或者任何常规的处理器等,本申请对此不做限制。
其中,存储器可以为电子设备的内部存储单元,例如,电子设备的硬盘或者内存,也可以为电子设备的外部存储设备,例如,电子设备上配备的插接式硬盘、智能存储卡(SMC)、安全数字卡(SD)或者闪存卡(FC)等,并且,存储器还可以为电子设备的内部存储单元与外部存储设备的组合,存储器用于存储计算机程序以及电子设备所需的其他程序和数据,存储器还可以用于暂时地存储已经输出或者将要输出的数据,本申请对此不做限制。
其中,通过本电子设备,将上述实施例的一种基于osgEarth 3D仿真环境标牌自动避让方法存储于电子设备的存储器中,并且,被加载并执行于电子设备的处理器上,方便使用。
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
Claims (10)
1.一种基于osgEarth 3D仿真环境标牌自动避让方法,其特征在于,所述方法包括:
获取osgEarth 3D仿真环境中可见实体模型的第一外接矩形,并获取所述osgEarth 3D仿真环境中所述可见实体模型对应的目标标牌的第二外接矩形,所述目标标牌为显示所述可见实体模型的属性并且正对终端的屏幕的标牌;
根据所述第一外接矩形和所述第二外接矩形的位置关系,判断所述可见实体模型与所述目标标牌是否碰撞;
若是,则确定所述目标标牌重新显示的目标位置,并将所述目标标牌移动至所述目标位置。
2.根据权利要求1所述的基于osgEarth 3D仿真环境标牌自动避让方法,其特征在于,所述获取osgEarth 3D仿真环境中可见实体模型的第一外接矩形,具体包括:
获取osgEarth 3D仿真环境中各实体模型的包围盒;
将各所述包围盒的三维顶点坐标转换为屏幕坐标,并根据每个所述实体模型的屏幕坐标,确定各所述实体模型的屏幕外接矩形;
判断各所述实体模型是否在视口中可见,若可见,则将可见的实体模型对应的屏幕外接矩形确定为可见实体模型的第一外接矩形,所述视口为观察实体模型时所看到的屏幕区域。
3.根据权利要求2所述的基于osgEarth 3D仿真环境标牌自动避让方法,其特征在于,所述判断各所述实体模型是否在视口中可见,具体包括:
判断各所述实体模型的屏幕坐标是否处于视口范围内;
若处于所述视口范围内,则确定对应的实体模型在视口中可见;
若未处于所述视口范围内,则确定对应的实体模型在视口中不可见。
4.根据权利要求2所述的基于osgEarth 3D仿真环境标牌自动避让方法,其特征在于,所述判断各所述实体模型是否在视口中可见,若可见之后还包括:
将可见的实体模型和对应的屏幕外接矩形添加至预设的模型链表中,并继续判断下一个实体模型是否在视口中可见;
若可见,重复执行所述将可见的实体模型和对应的屏幕外接矩形添加至预设的模型链表中的步骤,直到所有实体模型遍历完成;
所述将可见的实体模型对应的屏幕外接矩形确定为可见实体模型的第一外接矩形,具体包括:
从所述模型链表中任选一个目标实体模型,将所述目标实体模型的屏幕外接矩形确定为可见实体模型的第一外接矩形。
5.根据权利要求1所述的基于osgEarth 3D仿真环境标牌自动避让方法,其特征在于,所述根据所述第一外接矩形和所述第二外接矩形的位置关系,判断所述可见实体模型与所述目标标牌是否碰撞,具体包括:
判断所述第一外接矩形与所述第二外接矩形是否相交;
若相交,则确定所述可见实体模型与所述目标标牌发生碰撞。
6.根据权利要求5所述的基于osgEarth 3D仿真环境标牌自动避让方法,其特征在于,所述确定所述目标标牌重新显示的目标位置,具体包括:
确定所述第一外接矩形与所述第二外接矩形的相交矩形;
将所述相交矩形的宽度确定为目标距离,并将所述目标标牌沿发生碰撞的相反方向移动所述目标距离后所处的位置确定为目标位置。
7.根据权利要求1所述的基于osgEarth 3D仿真环境标牌自动避让方法,其特征在于,所述获取所述osgEarth 3D仿真环境中所述可见实体模型对应的目标标牌的第二外接矩形,具体包括:
确定所述osgEarth 3D仿真环境中所述可见实体模型对应的目标标牌中显示内容的所占面积的尺寸;
根据所述尺寸,生成所述目标标牌的第二外接矩形。
8.一种基于osgEarth 3D仿真环境标牌自动避让装置,其特征在于,包括:
矩形获取模块(11),用于获取osgEarth 3D仿真环境中可见实体模型的第一外接矩形,并获取所述osgEarth 3D仿真环境中所述可见实体模型对应的目标标牌的第二外接矩形;
碰撞检测模块(12),用于根据所述第一外接矩形和所述第二外接矩形的位置关系,判断所述可见实体模型与所述目标标牌是否碰撞;
碰撞避让模块(13),用于若是,则确定所述目标标牌重新显示的目标位置,并将所述目标标牌移动至所述目标位置。
9.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器加载并执行时,采用了权利要求1-7中任一项所述的方法。
10.一种电子设备,包括存储器、处理器及存储在存储器中并能够在处理器上运行的计算机程序,其特征在于,所述处理器加载并执行计算机程序时,采用了权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311195801.3A CN117197408B (zh) | 2023-09-15 | 2023-09-15 | 基于osgEarth 3D仿真环境标牌自动避让方法、装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311195801.3A CN117197408B (zh) | 2023-09-15 | 2023-09-15 | 基于osgEarth 3D仿真环境标牌自动避让方法、装置、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117197408A true CN117197408A (zh) | 2023-12-08 |
CN117197408B CN117197408B (zh) | 2024-07-16 |
Family
ID=88986733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311195801.3A Active CN117197408B (zh) | 2023-09-15 | 2023-09-15 | 基于osgEarth 3D仿真环境标牌自动避让方法、装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117197408B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103258007A (zh) * | 2013-04-16 | 2013-08-21 | 中国科学院地理科学与资源研究所 | 一种利用冲突检测机制的地图标注方法及装置 |
WO2014110502A1 (en) * | 2013-01-11 | 2014-07-17 | The Regents Of The University Of Michigan | Monitoring proximity of objects at construction jobsites via three-dimensional virtuality in real-time |
CN107908925A (zh) * | 2017-11-17 | 2018-04-13 | 中国电子科技集团公司第十四研究所 | 一种旋转增量占位式动目标标牌自动避让方法 |
CN110796903A (zh) * | 2019-08-09 | 2020-02-14 | 中国民用航空总局第二研究所 | 一种标牌避让方法 |
CN111613097A (zh) * | 2020-06-04 | 2020-09-01 | 成都民航空管科技发展有限公司 | 一种空管自动化***标牌避让的方法及*** |
CN113448476A (zh) * | 2021-07-26 | 2021-09-28 | 中国电子科技集团公司第十四研究所 | 一种多目标标牌的交互显示方法 |
-
2023
- 2023-09-15 CN CN202311195801.3A patent/CN117197408B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014110502A1 (en) * | 2013-01-11 | 2014-07-17 | The Regents Of The University Of Michigan | Monitoring proximity of objects at construction jobsites via three-dimensional virtuality in real-time |
CN103258007A (zh) * | 2013-04-16 | 2013-08-21 | 中国科学院地理科学与资源研究所 | 一种利用冲突检测机制的地图标注方法及装置 |
CN107908925A (zh) * | 2017-11-17 | 2018-04-13 | 中国电子科技集团公司第十四研究所 | 一种旋转增量占位式动目标标牌自动避让方法 |
CN110796903A (zh) * | 2019-08-09 | 2020-02-14 | 中国民用航空总局第二研究所 | 一种标牌避让方法 |
CN111613097A (zh) * | 2020-06-04 | 2020-09-01 | 成都民航空管科技发展有限公司 | 一种空管自动化***标牌避让的方法及*** |
CN113448476A (zh) * | 2021-07-26 | 2021-09-28 | 中国电子科技集团公司第十四研究所 | 一种多目标标牌的交互显示方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117197408B (zh) | 2024-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108389245B (zh) | 动画场景的渲染方法、装置、电子设备和可读存储介质 | |
CN113077548B (zh) | 针对物体的碰撞检测方法、装置、设备和存储介质 | |
CN110428504B (zh) | 文本图像合成方法、装置、计算机设备和存储介质 | |
CN112541049B (zh) | 高精地图处理方法、装置、设备、存储介质和程序产品 | |
CN113362420B (zh) | 道路标注生成方法、装置、设备以及存储介质 | |
EP3842765A2 (en) | Method and apparatus for displaying point of information of map, device, and readable storage medium | |
EP3109829A1 (en) | Apparatus and method for verifying the integrity of transformed vertex data in graphics pipeline processing | |
CN106846431B (zh) | 一种支持多表现形式的统一Web图形绘制*** | |
CN112580213B (zh) | 电场线的显示图像的生成方法和装置、存储介质 | |
CN114187357A (zh) | 一种高精地图的生产方法、装置、电子设备及存储介质 | |
CN117197408B (zh) | 基于osgEarth 3D仿真环境标牌自动避让方法、装置、介质及设备 | |
US20230169680A1 (en) | Beijing *** netcom science technology co., ltd. | |
CN115797182B (zh) | 一种特征图插值方法、装置、设备和存储介质 | |
US20230206573A1 (en) | Method of learning a target object by detecting an edge from a digital model of the target object and setting sample points, and method of augmenting a virtual model on a real object implementing the target object using the learning method | |
CN107703537B (zh) | 一种炮检点在三维地表上的展示方法及装置 | |
US20240153128A1 (en) | Method of detecting collision of objects, device, and storage medium | |
EP4227907A1 (en) | Object annotation information presentation method and apparatus, and electronic device and storage medium | |
US20200242819A1 (en) | Polyline drawing device | |
CN112988932B (zh) | 高精地图标注方法、装置、设备、可读存储介质及产品 | |
CN115170765A (zh) | 一种模型处理***、方法及装置 | |
CN114564268A (zh) | 一种设备管理方法、装置、电子设备和存储介质 | |
CN113570256A (zh) | 应用于城市规划的数据处理方法、装置、电子设备及介质 | |
CN109887078B (zh) | 天空绘制方法、装置、设备和介质 | |
CN114170381A (zh) | 三维路径展示方法、装置、可读存储介质及电子设备 | |
GB2238215A (en) | Computer display system with a three dimensional cursor shadow |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |