CN104462688A - 一种电网信息设备运行仿真系统 - Google Patents
一种电网信息设备运行仿真系统 Download PDFInfo
- Publication number
- CN104462688A CN104462688A CN201410742656.0A CN201410742656A CN104462688A CN 104462688 A CN104462688 A CN 104462688A CN 201410742656 A CN201410742656 A CN 201410742656A CN 104462688 A CN104462688 A CN 104462688A
- Authority
- CN
- China
- Prior art keywords
- triangle
- bounding box
- node
- working environment
- obb
- 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
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
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
Abstract
本发明公开了一种基于改进的AABB-OBB碰撞检测算法的电网信息设备运行仿真系统,用户从输入输出终端输入工作环境信息和交互控制信息,将所述工作环境信息和交互控制信息传送到工作环境仿真服务器,工作环境仿真服务器利用所述工作环境信息和交互控制信息对电网信息设备运行的工作环境进行三维场景的生成和相应的交互控制处理,将处理后的数据发送到监控服务器审核后保存到存储服务器,同时在输入输出终端中显示工作环境的虚拟视图供用户进行交互操作。本发明的碰撞检测过程,充分发挥了AABB包围盒和OBB包围盒两者的优势,在保证检测速度的情况下,大大提高了检测精度。
Description
技术领域
本发明涉及电网信息设备运行模拟仿真技术,尤其涉及一种电网信息设备运行仿真系统。
背景技术
近年来,由于业务应用系统的相继投入,应用系统服务器的数量在不断增加,相应的网络设备也在不断地增加,造成机房面积不够,设备耗电量增加,机房荷载也在增加。此外,目前电力系统的培训仍停留在理论讲述培训、手册培训等比较落后的阶段,这些方式培训周期长、资金投入大、学员体验性差,多采用教室授课、课件和图片配合演示或者找独立的设备进行小范围操作,但很多设备是带电运行,存在危险性和不确定性,设备的损坏率高,则学员在学习过程中不能进行有效的实际操作。因此,有必要建立一种有效的电网信息设备运行仿真系统,使得学员能够真实地模拟实际工作环境,熟悉环境和设备,操作那些复杂且不能出错的设备,进而受训人员的工作技能能够尽快满足电网信息设备专业操作人员的要求,降低新手操作的失误率,同时在实际环境演练时可少配置很多相关设备,减小硬件设备的购买需要。
发明内容
本发明提供一种电网信息设备运行仿真系统,用户从输入输出终端输入工作环境信息和交互控制信息,将所述工作环境信息和交互控制信息传送到工作环境仿真服务器,工作环境仿真服务器利用所述工作环境信息和交互控制信息对电网信息设备运行的工作环境进行三维场景的生成和相应的交互控制处理,将处理后的数据发送到监控服务器审核后保存到存储服务器,同时在输入输出终端中显示工作环境的虚拟视图供用户进行交互操作。
为解决上述技术问题,本发明的电网信息设备运行仿真系统包括工作环境仿真服务器、存储服务器、监控服务器、输入输出终端,其特征在于:
工作环境仿真服务器和存储服务器分别通过网络与输入输出终端连接,存储服务器还连接到工作环境仿真服务器,存储服务器通过监控节点连接监控服务器,监控服务器还连接到工作环境仿真服务器;
用户从输入输出终端输入工作环境信息和交互控制信息,将所述工作环境信息和交互控制信息传送到工作环境仿真服务器,工作环境仿真服务器利用所述工作环境信息和交互控制信息对电网信息设备运行的工作环境进行三维场景的生成和相应的交互控制处理,将处理后的数据发送到监控服务器审核后保存到存储服务器,同时在输入输出终端中显示工作环境的虚拟视图供用户进行交互操作。
其中,工作环境仿真服务器是经虚拟化处理后的高性能服务器,其上创建有多台独立的虚拟机,每台虚拟机拥有独立的CPU、内存、硬盘、光驱、网卡、显卡,每个网卡配置各自的IP,通过虚拟交换机和物理网络相连,并且每个虚拟计算机安装有不同的操作系统,可通过虚拟化管理平台或远程桌面来管理虚拟计算机。
其中,在用户端以设备虚拟机方式展现,设备池POOL中以挂载的方式进行设备的初始化及加载,用户侧提出设备请求后即动态在设备POOL中创建一个新连接,同时完成虚拟设备信息的初始化和相关业务数据的加载,在用户操作使用完此设备后,立即释放此连接并回收相关的资源,设备基础库实现所有硬件设备、网络设备的基础数据的存储,以XML文件或DB的形式进行硬件数据的格式定义和持久化。
其中,利用所述工作环境信息建立场景模型数据库,所述场景模型数据库的基本节点包括组节点、物体节点、面节点和点节点,利用节点将整个场景中的所有模型按照逻辑结构组织为倒置的层次树状结构。
其中,在所述交互控制处理的碰撞检测中,首先为物体建立混合包围盒二叉树,所述混合包围盒二叉树设计为2层结构,其顶层采用AABB,其余层均采用OBB,顶层简单的AABB快速排除不可能发生碰撞的物体对,下层的OBB进一步精确地测试可能发生碰撞的物体对,实时碰撞检测阶段,采用任务树的方法对2棵层次包围盒树实现同步深度优先遍历,任务树的同一层子任务之间可并行执行,在遍历过程中进行AABB-AABB和OBB-OBB 2种同类包围盒之间的相交测试。
其中,采用自顶向下的方法构造所述混合包围盒二叉树,其核心思想是建立几何对象的包围盒,利用分裂面把几何对象划分为2个不相交的子集分别作为新的根节点并为它们建立包围盒,对新的根节点进一步划分,直到各个子节点为基本几何图元为止,具体构造过程如下:
S1:为根节点构造AABB,将几何对象作为根节点,根据其所包含的基本几何图元的坐标值求出几何对象的AABB包围盒;
S2:确定分裂轴,判断该节点包含的元素是否为基本图元,若是则直接作为叶子节点并为其构造OBB包围盒,否则选取最长轴作为分离轴;
S3:用中值法确定分裂点,以经过分裂点且与分裂轴垂直的面为分裂面,将该节点的所有元素分为2个不相交的子集;
S4:把2个子集分别作为根节点,为它们构建OBB包围盒,返回S2,递归执行,直至所有的基本图元均成为叶子节点,形成一棵混合包围盒平衡二叉树。
其中,构建OBB包围盒的具体步骤如下:
S1:设三角形集第i个三角形面片的三个顶点矢量为xi、yi、zi,n为包围盒的三角面片数,μ为顶点分布的均值,则μ为
S2:由上式的顶点分布的均值μ可得出协方差矩阵C
其中, Cjk是3×3的协方差矩阵中的元素;
S3:求出矩阵的特征向量,确定OBB包围盒局部坐标的三个轴向。由于C是对称矩阵,其特征向量相互垂直,将三个特征向量单位化后,设定它们为OBB包围盒的局部坐标的三个轴向(d0,d2,d2);
S4:将三角面片所有顶点分别向三个轴向(d0,d1,d2)投影,三个轴向上的最大最小投影距离差为OBB包围盒的大小
u0=max(Project(d0,vi))
u1=max(Project(d1,vi))
u2=max(Project(d2,vi))
w0=min(Project(d0,vi))
w1=min(Project(d1,vi))
w2=min(Project(d2,vi))
S5:计算OBB包围盒的中心centre
S6:将对象所有定点投影在三个轴向上,计算出在三个轴向上的最大值和最小值,来确定OBB的大小。
其中,所述任务树的方法包括,2个物体的碰撞检测通过同时遍历这2个物体的包围盒二叉树来实现,将遍历2棵包围盒树的过程定义为一棵任务树,一个任务即为2个物体包围盒树中2个节点之间的碰撞检测,任务树的单重遍历即可实现对2棵包围盒树同步深度优先遍历,任务树的子任务数之间是或的关系,只要其中一个子任务树中检测出相交,则2个物体必发生碰撞,若遍历完整棵任务树还未出现相交,则可判定2个物体未发生碰撞。
其中,所述任务树的方法包括,首先进行顶层根节点AABB包围盒之间相交测试,若AABB包围盒相交,则进行下一层子节点之间的OBB包围盒相交测试。
其中,设a和b是2棵待检测的包围盒二叉树的根节点,a->left和a->right表示根节点a的左右2个子节点,b->left和b->right表示根节点b的左右2个子节点,则所述任务树的遍历方法如下:
S1:2个根节点a和b进行碰撞检测,2个根节点的AABB包围盒进行检测,若2个节点的AABB不相交则可判定2个物体之间未发生碰撞,否则进入S2;
S2:如果a和b均为非叶子节点,则进入S3进行a->left与b->left、a->left与b->right、a->right与b->left、a->right与b->right的碰撞检测;如果a是叶子节点,b是非叶子节点,则进入S3进行a与b->left、a与b->right的碰撞检测;如果a是非叶子节点,b是叶子节点,则进入S3进行a->left与b、a->right与b的碰撞检测;如果a和b均为叶子节点,则进行精确碰撞检测,返回碰撞结果;
S3:2个节点进行OBB相交测试,若不相交,则可判定2个物体在这2个节点未发生碰撞,否则返回S2。
精确碰撞检测包括两个阶段,第一阶段的精确碰撞检测过程如下:将多边形投影到XOY平面,得到一个平面多边形,如果多边形相交,必然有一条直线同时与两个多边形都相交,根据这个原理,基于两个中心点投影点做两条平行的轴线,如果相交则必然发生在两条轴线之间,设定误差值ρ,在两条平行于y轴的轴线之间做n条等分线,如果存在第m条等分线与其中两个多边形相交于点(X1,Y1)和点(X2,Y2),其中n、m为自然数且m小于等于n,如果|Y1-Y2|<ρ,则发生碰撞,进入第二阶段的精确碰撞检测,即基本图元之间的精确碰撞检测。
基本图元为三角形或四面体,当基本图元为四面体时,由于四面体是由四个三角形构成,将四面体的相交测试化简为三角形的相交测试,则所述基本图元之间的精确碰撞检测实质上是三角形之间的相交检测,设空间两个三角形分别为T1(V0,V1,V2)和T2(U0,U1,U2),则三角形与三角形间的相交测试过程如下:
其中,基本图元为三角形或四面体,当基本图元为四面体时,由于四面体是由四个三角形构成,将四面体的相交测试化简为三角形的相交测试,三角形间的相交测试流程如图4所示,设空间两个三角形分别为T1(V0,V1,V2)和T2(U0,U1,U2),则三角形与三角形间的相交测试过程如下:
S1:分别计算三角形T1所在的平面方程N1和三角形T2所在的平面方程N2;
S2:分别计算三角形T1的三个顶点到平面N2的距离dv0、dvl、dv2和三角形T2的三个顶点到平面N1的距离du0、dul、du2;
S3:如果V0、V1、V2三个点都位于N2的同一侧,那么三角形TI和T2不相交,或者U0、U1、U2三个点都位于N1的同一侧,三角形T1和T2也不相交;
S4:如果dv0*dvl=0和dv0*dv2=0同时成立或者du0*dul=0和du0*du2=0同时成立,则三角形n和T2共面,转到平面中两个三角形的相交测试子过程中去;
S5:如果dv0、dv1、dv2中有一个为0,而另外两个符号相同,则三角形T1中必有一个顶点位于三角形T2所在平面上,此时问题转化为判断平面内一个点与三角形的关系。如果点在三角形T2内或边上,那么三角形Tl和T2相交,否则不相交;
S6:如果dv0、dvl、dv2中有两个为0,则三角形Tl必有一条边位于三角形T2的平面上,此时问题转化为判断平面内一条线段与一个三角形之间的关系;
S7:除去上面几种情况,三角形Tl与三角形T2所在平面相交,求得相交线段,此时问题转化成判断平面中线段是否与三角形相交。
本发明的有益效果是:区别于现有技术,本发明的电网信息设备运行仿真系统能够满足安全培训需求,能够模拟各种电网信息设备、线路环境,电力职工通过使用该系统,能够熟悉每个专业的操作规范和安全注意事项,从而在日常工作中最大限度地减少事故的发生。其中,工作环境仿真服务器采用虚拟化技术,虚拟化技术可充分利用服务器的硬件资料,节约硬件成本,减少服务器的数量,较好地解决了机房问题,同时也解决了服务器应用系统备份的宿主机的问题,还可利用虚拟服务器将全部应用服务器进行备份。此外,本发明对碰撞检测的过程进行了优化,建立碰撞检测对象的AABB-OBB混合包围盒树,采用任务树方法对包围盒树进行遍历,从而获得检测结果,充分发挥了AABB包围盒和OBB包围盒两者的优势,在保证检测速度的情况下,提高了检测精度,精确碰撞检测的双重阶段检测进一步提高了检测精度。
附图说明
图1本发明的电网信息设备运行仿真系统的构成示意图
图2AABB-OBB混合包围盒树示意图
图3几何对象A和B的碰撞检测任务树示意图
图4三角形相交测试流程
具体实施方式
本发明提供的电网信息设备运行仿真系统的构成如图1所示,该系统包括工作环境仿真服务器1、存储服务器2、监控服务器3、输入输出终端5。
其中,工作环境仿真服务器1和存储服务器2分别通过网络4与多个输入输出终端5连接,存储服务器2还连接到工作环境仿真服务器1,存储服务器2通过监控节点连接监控服务器3,监控服务器3还连接到工作环境仿真服务器1。
用户从输入输出终端输入工作环境信息和交互控制信息,将所述工作环境信息和交互控制信息传送到工作环境仿真服务器,工作环境仿真服务器利用所述工作环境信息和交互控制信息对电网信息设备运行的工作环境进行三维场景的生成和相应的交互控制处理,将处理后的数据发送到监控服务器审核后保存到存储服务器,同时在输入输出终端中显示工作环境的虚拟视图供用户进行交互操作。
输入输出终端可以包括供用户输入信息和控制命令的键盘、鼠标等输入装置,还可以包括诸如液晶显示器(LCD)的显示装置。
其中,工作环境仿真服务器是经虚拟化处理后的高性能服务器,其上创建有多台独立的虚拟机,每台虚拟机拥有独立的CPU、内存、硬盘、光驱、网卡、显卡,每个网卡配置各自的IP,通过虚拟交换机和物理网络相连,并且每个虚拟计算机安装有不同的操作系统,可通过虚拟化管理平台或远程桌面来管理虚拟计算机。
在用户端以设备虚拟机方式展现,设备池POOL中以挂载的方式进行设备的初始化及加载,用户侧提出设备请求后即动态在设备POOL中创建一个新连接,同时完成虚拟设备信息的初始化和相关业务数据的加载,在用户操作使用完此设备后,立即释放此连接并回收相关的资源,设备基础库实现所有硬件设备、网络设备的基础数据的存储,以XML文件或DB的形式进行硬件数据的格式定义和持久化。
采用建模工具完成三维场景的生成,利用工作环境信息建立场景模型数据库,场景模型数据库的基本节点包括组节点、物体节点、面节点和点节点,利用节点将整个场景中的所有模型按照逻辑结构组织为倒置的层次树状结构。
建立模型数据库后,初始化实现对模型的调用、显示和控制的三维引擎,包括:设置三维图形像素格式,确定每个缓冲器的位数;初始化通道视口大小、光照模型的各个参数、背景颜色、视点坐标;创建帧缓存并设置名称;创建相机、通道和光照模型,给光照模型赋值;创建场景,将光照模型加入场景,确定相机位置,并将相机与场景连接;为通道赋值确定尺寸、擦除色,并将场景和相机与通道连接;将通道加入帧缓存。在初始化工作完成后,动态导入三维模型,然后为每一个对象(即三维模型)设置一个对象回调函数,在回调函数中编写具体的控制代码,通过回调函数来实现每一帧动画的绘制,当对象释放时,回调函数也随即结束。
交互控制处理包括碰撞检测、三维物体运动控制、三维对象拾取。
所谓碰撞,就是在某一时刻、空间中的几个物体中,存在一对或多对物体间所占有的空间处于发生重叠的临界点。在交互过程中,为了模拟的真实性,必须采用多种方法对用户的交互行为以及虚拟世界中的物体运动加以限制。碰撞检测是一种常用的方法,如对建筑物的碰撞检测可避免出现穿墙而过,对移动物体的碰撞检测可避免物体融合现象的发生,从而达到现实世界中的真实效果。碰撞检测是虚拟现实中动态物体与静态物体之间或动态物体与动态物体之间的交互基础。
平移、旋转、缩放是最基本的运动模式,在交互控制中,对实体和视点所进行的操作都可以转化为平移、旋转以及缩放等几何变换的组合。通过三维空间中物体的几何变换,可以对物体进行快速变换,从而获得在交互过程中物体的动态显示效果。
三维对象拾取功能可以通过物体名称进行拾取,也可以通过射线探测的碰撞检测方法实现,通过射线探测的碰撞检测方法如下:根据虚拟环境中使用的矩阵对投影射线做反变换并与模型进行相交测试来拾取物体。其过程是在屏幕上用鼠标点击某处,得到鼠标点击点的屏幕坐标,再通过视区变换得到投影点的坐标,于是得到一条以视点为起点并经过投影点的射线,将该射线做投影变换、观察变换后如果与场景中的某模型相交,则表示拾取到该模型。
轴向包围盒(AABB)定义为各条边都平行于坐标轴且包含该对象的的最小方长方体。计算出组成对象的所有几何元素中顶点的x、y、z坐标的最小值和最大值便可确定对象的AABB包围盒。AABB包围盒间的相交测试也比较简单,当两个AABB包围盒在三个坐标轴上的投影区间均相交时,它们才相交。根据这一特性,可以将三维求交化简化为一维求交问题。由于两物体AABB包围盒相交必须在三个坐标轴上投影均相交,因此AABB间的相交测试最多只要做6次比较运算。AABB包围盒计算简单,但紧密性差。
方向包围盒(OBB)定义为方向任意的且包含该对象的最小长方体。由于其包围盒方向的任意性,虽然提高了包围盒的紧密性,但这也提高了其相交测试的复杂性。OBB的相交测试关键在于确定最优方向来构建最小的包围盒。OBB间的相交测试基于分离轴理论。若两个OBB在某条轴线上的投影区间不相交,则这条轴称为分离轴。判定这两个OBB不相交,只需得出两个OBB间存在一条分离轴即可。计算OBB的相交测试需要存储两个OBB的6个坐标轴向和3个轴向与另3个轴向叉乘得到的9个向量总共15个分离轴。依次在这些分离轴上,检查两个OBB的投影区间是否相交。判断两个OBB相交即判断它们在15个方向上的投影区间是否均相交,判断两个OBB是否相交最多只要做15次比较运算。
在本发明的碰撞检测中,首先为物体建立混合包围盒二叉树,所述混合包围盒二叉树设计为2层结构,其顶层采用AABB,其余层均采用OBB,顶层简单的AABB快速排除不可能发生碰撞的物体对,下层的OBB进一步精确地测试可能发生碰撞的物体对,几何对象Object的AABB-OBB包围盒二叉树如图2所示,实时碰撞检测阶段,采用任务树的方法对2棵层次包围盒树实现同步深度优先遍历,任务树的同一层子任务之间可并行执行,在遍历过程中进行AABB-AABB和OBB-OBB 2种同类包围盒之间的相交测试。
采用自顶向下的方法构造混合包围盒二叉树,其核心思想是建立几何对象的包围盒,利用分裂面把几何对象划分为2个不相交的子集分别作为新的根节点并为它们建立包围盒,对新的根节点进一步划分,直到各个子节点为基本几何图元为止,具体构造过程如下:
S1:为根节点构造AABB,将几何对象作为根节点,根据其所包含的基本几何图元的坐标值求出几何对象的AABB包围盒;
S2:确定分裂轴,判断该节点包含的元素是否为基本图元,若是则直接作为叶子节点并为其构造OBB包围盒,否则选取最长轴作为分离轴;
S3:用中值法确定分裂点,以经过分裂点且与分裂轴垂直的面为分裂面,将该节点的所有元素分为2个不相交的子集;
S4:把2个子集分别作为根节点,为它们构建OBB包围盒,返回S2,递归执行,直至所有的基本图元均成为叶子节点,形成一棵混合包围盒平衡二叉树。
其中,构建OBB包围盒的具体步骤如下:
S1:设三角形集第i个三角形面片的三个顶点矢量为xi、yi、zi,n为包围盒的三角面片数,μ为顶点分布的均值,则μ为
S2:由上式的顶点分布的均值μ可得出协方差矩阵C
其中, Cjk是3×3的协方差矩阵中的元素;
S3:求出矩阵的特征向量,确定OBB包围盒局部坐标的三个轴向。由于C是对称矩阵,其特征向量相互垂直,将三个特征向量单位化后,设定它们为OBB包围盒的局部坐标的三个轴向(d0,d1,d2);
S4:将三角面片所有顶点分别向三个轴向(d0,d1,d2)投影,三个轴向上的最大最小投影距离差为OBB包围盒的大小
u0=max(Project(d0,vi))
u1=max(Project(d1,vi))
u2=max(Project(d2,vi))
w0=min(Project(d0,vi))
w1=min(Project(d1,vi))
w2=min(Project(d2,vi))
S5:计算OBB包围盒的中心centre
S6:将对象所有定点投影在三个轴向上,计算出在三个轴向上的最大值和最小值,来确定OBB的大小。
其中,任务树的方法包括,2个物体的碰撞检测通过同时遍历这2个物体的包围盒二叉树来实现,将遍历2棵包围盒树的过程定义为一棵任务树,一个任务即为2个物体包围盒树中2个节点之间的碰撞检测,任务树的单重遍历即可实现对2棵包围盒树同步深度优先遍历,任务树的子任务数之间是或的关系,只要其中一个子任务树中检测出相交,则2个物体必发生碰撞,若遍历完整棵任务树还未出现相交,则可判定2个物体未发生碰撞。各个自任务之间是相互独立的,因此每个层次上的子任务可以并行执行。A、B2个物体的碰撞检测任务树如图3所示,a和b是2棵待检测的包围盒二叉树的根节点,a->left和a->right表示根节点a的左右2个子节点,b->left和b->right表示根节点b的左右2个子节点。
首先进行顶层根节点AABB包围盒之间相交测试,若AABB包围盒相交,则进行下一层子节点之间的OBB包围盒相交测试,任务树的遍历方法如下:
S1:2个根节点a和b进行碰撞检测,2个根节点的AABB包围盒进行检测,若2个节点的AABB不相交则可判定2个物体之间未发生碰撞,否则进入S2;
S2:如果a和b均为非叶子节点,则进入S3进行a->left与b->left、a->left与b->right、a->right与b->left、a->right与b->right的碰撞检测;如果a是叶子节点,b是非叶子节点,则进入S3进行a与b->left、a与b->right的碰撞检测;如果a是非叶子节点,b是叶子节点,则进入S3进行a->left与b、a->right与b的碰撞检测;如果a和b均为叶子节点,则进行精确碰撞检测,返回碰撞结果;
S3:2个节点进行OBB相交测试,若不相交,则可判定2个物体在这2个节点未发生碰撞,否则返回S2。
精确碰撞检测包括两个阶段,第一阶段的精确碰撞检测过程如下:将多边形投影到XOY平面,得到一个平面多边形,如果多边形相交,必然有一条直线同时与两个多边形都相交,根据这个原理,基于两个中心点投影点做两条平行的轴线,如果相交则必然发生在两条轴线之间,设定误差值ρ,在两条平行于y轴的轴线之间做n条等分线,如果存在第m条等分线与其中两个多边形相交于点(X1,Y1)和点(X2,Y2),其中n、m为自然数且m小于等于n,如果|Y1-Y2|<ρ,则发生碰撞,进入第二阶段的精确碰撞检测,即基本图元之间的精确碰撞检测。
基本图元之间的相交检测是碰撞检测的最后环节,基本图元为三角形或四面体,当基本图元为四面体时,由于四面体是由四个三角形构成,将四面体的相交测试化简为三角形的相交测试,则所述基本图元之间的精确碰撞检测实质上是三角形之间的相交检测,三角形间的相交测试流程如图4所示,设空间两个三角形分别为T1(V0,V1,V2)和T2(U0,U1,U2),则三角形与三角形间的相交测试过程如下:
S1:分别计算三角形T1所在的平面方程N1和三角形T2所在的平面方程N2;
S2:分别计算三角形T1的三个顶点到平面N2的距离dv0、dvl、dv2和三角形T2的三个顶点到平面N1的距离du0、dul、du2;
S3:如果V0、V1、V2三个点都位于N2的同一侧,那么三角形TI和T2不相交,或者U0、U1、U2三个点都位于N1的同一侧,三角形T1和T2也不相交;
S4:如果dv0*dvl=0和dv0*dv2=0同时成立或者du0*dul=0和du0*du2=0同时成立,则三角形n和T2共面,转到平面中两个三角形的相交测试子过程中去;
S5:如果dv0、dv1、dv2中有一个为0,而另外两个符号相同,则三角形T1中必有一个顶点位于三角形T2所在平面上,此时问题转化为判断平面内一个点与三角形的关系。如果点在三角形T2内或边上,那么三角形Tl和T2相交,否则不相交;
S6:如果dv0、dvl、dv2中有两个为0,则三角形Tl必有一条边位于三角形T2的平面上,此时问题转化为判断平面内一条线段与一个三角形之间的关系;
S7:除去上面几种情况,三角形Tl与三角形T2所在平面相交,求得相交线段,此时问题转化成判断平面中线段是否与三角形相交。
本发明中,工作环境仿真服务器采用虚拟化技术,虚拟化技术可充分利用服务器的硬件资料,节约硬件成本,减少服务器的数量,较好地解决了机房问题,同时也解决了服务器应用系统备份的宿主机的问题,还可利用虚拟服务器将全部应用服务器进行备份。此外,本发明对碰撞检测的过程进行了优化,建立碰撞检测对象的AABB-OBB混合包围盒树,采用任务树方法对包围盒树进行遍历,从而获得检测结果,充分发挥了AABB包围盒和OBB包围盒两者的优势,在保证检测速度的情况下,提高了检测精度,精确碰撞检测的双重阶段检测进一步提高了检测精度。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (12)
1.一种电网信息设备运行仿真系统,该系统包括工作环境仿真服务器、存储服务器、监控服务器、输入输出终端,其特征在于:
工作环境仿真服务器和存储服务器分别通过网络与输入输出终端连接,存储服务器还连接到工作环境仿真服务器,存储服务器通过监控节点连接监控服务器,监控服务器还连接到工作环境仿真服务器;
用户从输入输出终端输入工作环境信息和交互控制信息,将所述工作环境信息和交互控制信息传送到工作环境仿真服务器,工作环境仿真服务器利用所述工作环境信息和交互控制信息对电网信息设备运行的工作环境进行三维场景的生成和相应的交互控制处理,将处理后的数据发送到监控服务器审核后保存到存储服务器,同时在输入输出终端中显示工作环境的虚拟视图供用户进行交互操作。
2.如权利要求1所述的电网信息设备运行仿真系统,其中,工作环境仿真服务器是经虚拟化处理后的高性能服务器,其上创建有多台独立的虚拟机,每台虚拟机拥有独立的CPU、内存、硬盘、光驱、网卡、显卡,每个网卡配置各自的IP,通过虚拟交换机和物理网络相连,并且每个虚拟计算机安装有不同的操作系统,可通过虚拟化管理平台或远程桌面来管理虚拟计算机。
3.如权利要求2所述的电网信息设备运行仿真系统,其中,在用户端以设备虚拟机方式展现,设备池POOL中以挂载的方式进行设备的初始化及加载,用户侧提出设备请求后即动态在设备POOL中创建一个新连接,同时完成虚拟设备信息的初始化和相关业务数据的加载,在用户操作使用完此设备后,立即释放此连接并回收相关的资源,设备基础库实现所有硬件设备、网络设备的基础数据的存储,以XML文件或DB的形式进行硬件数据的格式定义和持久化。
4.如权利要求1所述的电网信息设备运行仿真系统,其中,利用所述工作环境信息建立场景模型数据库,所述场景模型数据库的基本节点包括组节点、物体节点、面节点和点节点,利用节点将整个场景中的所有模型按照逻辑结构组织为倒置的层次树状结构。
5.如权利要求1所述的电网信息设备运行仿真系统,其中,在所述交互控制处理的碰撞检测中,首先为物体建立混合包围盒二叉树,所述混合包围盒二叉树设计为2层结构,其顶层采用AABB,其余层均采用OBB,顶层简单的AABB快速排除不可能发生碰撞的物体对,下层的OBB进一步精确地测试可能发生碰撞的物体对,实时碰撞检测阶段,采用任务树的方法对2棵层次包围盒树实现同步深度优先遍历,任务树的同一层子任务之间可并行执行,在遍历过程中进行AABB-AABB和OBB-OBB 2种同类包围盒之间的相交测试。
6.如权利要求5所述的电网信息设备运行仿真系统,其中,采用自顶向下的方法构造所述混合包围盒二叉树,其核心思想是建立几何对象的包围盒,利用分裂面把几何对象划分为2个不相交的子集分别作为新的根节点并为它们建立包围盒,对新的根节点进一步划分,直到各个子节点为基本几何图元为止,具体构造过程如下:
S1:为根节点构造AABB,将几何对象作为根节点,根据其所包含的基本几何图元的坐标值求出几何对象的AABB包围盒;
S2:确定分裂轴,判断该节点包含的元素是否为基本图元,若是则直接作为叶子节点并为其构造OBB包围盒,否则选取最长轴作为分离轴;
S3:用中值法确定分裂点,以经过分裂点且与分裂轴垂直的面为分裂面,将该节点的所有元素分为2个不相交的子集;
S4:把2个子集分别作为根节点,为它们构建OBB包围盒,返回S2,递归执行,直至所有的基本图元均成为叶子节点,形成一棵混合包围盒平衡二叉树。
7.如权利要求6所述的电网信息设备运行仿真系统,其中,构建OBB包围盒的具体步骤如下:
S1:设三角形集第i个三角形面片的三个顶点矢量为xi、yi、zi,n为包围盒的三角面片数,μ为顶点分布的均值,则μ为
S2:由上式的顶点分布的均值μ可得出协方差矩阵C
其中, Cjk是3×3的协方差矩阵中的元素;
S3:求出矩阵的特征向量,确定OBB包围盒局部坐标的三个轴向。由于C是对称矩阵,其特征向量相互垂直,将三个特征向量单位化后,设定它们为OBB包围盒的局部坐标的三个轴向(d0,d1,d2);
S4:将三角面片所有顶点分别向三个轴向(d0,d1,d2)投影,三个轴向上的最大最小投影距离差为OBB包围盒的大小
u0=max(Project(d0,vi))
u1=max(Project(d1,vi))
u2=max(Project(d2,vi))
w0=min(Project(d0,vi))
w1=min(Project(d1,vi))
w2=min(Project(d2,vi))
S5:计算OBB包围盒的中心centre
S6:将对象所有定点投影在三个轴向上,计算出在三个轴向上的最大值和最小值,来确定OBB的大小。
8.如权利要求5所述的电网信息设备运行仿真系统,其中,所述任务树的方法包括,2个物体的碰撞检测通过同时遍历这2个物体的包围盒二叉树来实现,将遍历2棵包围盒树的过程定义为一棵任务树,一个任务即为2个物体包围盒树中2个节点之间的碰撞检测,任务树的单重遍历即可实现对2棵包围盒树同步深度优先遍历,任务树的子任务数之间是或的关系,只要其中一个子任务树中检测出相交,则2个物体必发生碰撞,若遍历完整棵任务树还未出现相交,则可判定2个物体未发生碰撞。
9.如权利要求8所述的电网信息设备运行仿真系统,其中,所述任务树的方法包括,首先进行顶层根节点AABB包围盒之间相交测试,若AABB包围盒相交,则进行下一层子节点之间的OBB包围盒相交测试。
10.如权利要求9所述的电网信息设备运行仿真系统,其中,设a和b是2棵待检测的包围盒二叉树的根节点,a->left和a->right表示根节点a的左右2个子节点,b->left和b->right表示根节点b的左右2个子节点,则所述任务树的遍历方法如下:
S1:2个根节点a和b进行碰撞检测,2个根节点的AABB包围盒进行检测,若2个节点的AABB不相交则可判定2个物体之间未发生碰撞,否则进入S2;
S2:如果a和b均为非叶子节点,则进入S3进行a->left与b->left、a->left与b->right、a->right与b->left、a->right与b->right的碰撞检测;如果a是叶子节点,b是非叶子节点,则进入S3进行a与b->left、a与b->right的碰撞检测;如果a是非叶子节点,b是叶子节点,则进入S3进行a->left与b、a->right与b的碰撞检测;如果a和b均为叶子节点,则进行精确碰撞检测,返回碰撞结果;
S3:2个节点进行OBB相交测试,若不相交,则可判定2个物体在这2个节点未发生碰撞,否则返回S2。
11.如权利要求10所述的电网信息设备运行仿真系统,其中,所述精确碰撞检测包括两个阶段,第一阶段的精确碰撞检测过程如下:将多边形投影到XOY平面,得到一个平面多边形,如果多边形相交,必然有一条直线同时与两个多边形都相交,根据这个原理,基于两个中心点投影点做两条平行的轴线,如果相交则必然发生在两条轴线之间,设定误差值ρ,在两条平行于y轴的轴线之间做n条等分线,如果存在第m条等分线与其中两个多边形相交于点(X1,Y1)和点(X2,Y2),其中n、m为自然数且m小于等于n,如果|Y1-Y2|<ρ,则发生碰撞,进入第二阶段的精确碰撞检测,即基本图元之间的精确碰撞检测。
12.如权利要求11所述的电网信息设备运行仿真系统,其中,基本图元为三角形或四面体,当基本图元为四面体时,由于四面体是由四个三角形构成,将四面体的相交测试化简为三角形的相交测试,则所述基本图元之间的精确碰撞检测实质上是三角形之间的相交检测,设空间两个三角形分别为T1(V0,V1,V2)和T2(U0,U1,U2),则三角形与三角形间的相交测试过程如下:
S1:分别计算三角形T1所在的平面方程N1和三角形T2所在的平面方程N2;
S2:分别计算三角形T1的三个顶点到平面N2的距离dv0、dvl、dv2和三角形T2的三个顶点到平面N1的距离du0、dul、du2;
S3:如果V0、V1、V2三个点都位于N2的同一侧,那么三角形TI和T2不相交,或者U0、U1、U2三个点都位于N1的同一侧,三角形T1和T2也不相交;
S4:如果dv0*dvl=0和dv0*dv2=0同时成立或者du0*dul=0和du0*du2=0同时成立,则三角形n和T2共面,转到平面中两个三角形的相交测试子过程中去;
S5:如果dv0、dv1、dv2中有一个为0,而另外两个符号相同,则三角形T1中必有一个顶点位于三角形T2所在平面上,此时问题转化为判断平面内一个点与三角形的关系。如果点在三角形T2内或边上,那么三角形Tl和T2相交,否则不相交;
S6:如果dv0、dvl、dv2中有两个为0,则三角形Tl必有一条边位于三角形T2的平面上,此时问题转化为判断平面内一条线段与一个三角形之间的关系;
S7:除去上面几种情况,三角形Tl与三角形T2所在平面相交,求得相交线段,此时问题转化成判断平面中线段是否与三角形相交。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410742656.0A CN104462688B (zh) | 2014-12-05 | 2014-12-05 | 一种电网信息设备运行仿真系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410742656.0A CN104462688B (zh) | 2014-12-05 | 2014-12-05 | 一种电网信息设备运行仿真系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104462688A true CN104462688A (zh) | 2015-03-25 |
CN104462688B CN104462688B (zh) | 2017-10-17 |
Family
ID=52908718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410742656.0A Expired - Fee Related CN104462688B (zh) | 2014-12-05 | 2014-12-05 | 一种电网信息设备运行仿真系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104462688B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105741044A (zh) * | 2016-02-03 | 2016-07-06 | 童燕军 | 一种审计调查系统及其方法 |
CN105844672A (zh) * | 2016-04-19 | 2016-08-10 | 华东师范大学 | 一种多关节模型的快速连续碰撞检测的方法 |
WO2017036244A1 (zh) * | 2015-09-06 | 2017-03-09 | 中国电力科学研究院 | 配电网数字仿真系统 |
CN108573112A (zh) * | 2018-05-08 | 2018-09-25 | 北京特种工程设计研究院 | 基于数字化仿真的航天测试发射二维布局分析方法 |
CN110895503A (zh) * | 2018-09-12 | 2020-03-20 | 传线网络科技(上海)有限公司 | 一种应用的性能监控方法及客户端 |
CN111251335A (zh) * | 2020-03-24 | 2020-06-09 | 桂林电子科技大学 | 基于包围盒算法的高精度机械臂碰撞检测方法 |
CN114283639A (zh) * | 2022-01-10 | 2022-04-05 | 立人实业(广东)集团有限公司 | 一种远程教育控制系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163381A (zh) * | 2011-03-17 | 2011-08-24 | 山东电力研究院 | 无人机电力巡线仿真培训系统 |
CN103093661A (zh) * | 2013-01-09 | 2013-05-08 | 湖州电力局 | 一种用于配网运检互动化仿真实训装置及方法 |
-
2014
- 2014-12-05 CN CN201410742656.0A patent/CN104462688B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163381A (zh) * | 2011-03-17 | 2011-08-24 | 山东电力研究院 | 无人机电力巡线仿真培训系统 |
CN103093661A (zh) * | 2013-01-09 | 2013-05-08 | 湖州电力局 | 一种用于配网运检互动化仿真实训装置及方法 |
Non-Patent Citations (2)
Title |
---|
CHAOQIANG TU ET AL.: "Study On Collision Detection Algorithm of Hybrid Bounding Box", 《2009 FIRST INTERNATIONAL WORKSHOP ON EDUCATION TECHNOLOGY AND COMPUTER SCIENCE》 * |
涂超强: "虚拟手术中碰撞检测算法的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017036244A1 (zh) * | 2015-09-06 | 2017-03-09 | 中国电力科学研究院 | 配电网数字仿真系统 |
US10922452B2 (en) | 2015-09-06 | 2021-02-16 | China Electric Power Research Institute Company Limited | Digital simulation system of power distribution network |
CN105741044A (zh) * | 2016-02-03 | 2016-07-06 | 童燕军 | 一种审计调查系统及其方法 |
CN105844672A (zh) * | 2016-04-19 | 2016-08-10 | 华东师范大学 | 一种多关节模型的快速连续碰撞检测的方法 |
CN108573112A (zh) * | 2018-05-08 | 2018-09-25 | 北京特种工程设计研究院 | 基于数字化仿真的航天测试发射二维布局分析方法 |
CN110895503A (zh) * | 2018-09-12 | 2020-03-20 | 传线网络科技(上海)有限公司 | 一种应用的性能监控方法及客户端 |
CN110895503B (zh) * | 2018-09-12 | 2024-04-12 | 阿里巴巴(中国)有限公司 | 一种应用的性能监控方法及客户端 |
CN111251335A (zh) * | 2020-03-24 | 2020-06-09 | 桂林电子科技大学 | 基于包围盒算法的高精度机械臂碰撞检测方法 |
CN114283639A (zh) * | 2022-01-10 | 2022-04-05 | 立人实业(广东)集团有限公司 | 一种远程教育控制系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104462688B (zh) | 2017-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104462688A (zh) | 一种电网信息设备运行仿真系统 | |
CN104461690B (zh) | 一种电力设备运行仿真系统 | |
CN104765280B (zh) | 无人机三维立体显控综合训练系统 | |
CN111192354A (zh) | 一种基于虚拟现实的三维仿真方法及系统 | |
CN101281654A (zh) | 一种基于八叉树的大规模复杂三维场景处理方法 | |
KR20180020725A (ko) | 공간 기반 증강현실을 위한 콘텐츠 저작 장치 및 그 방법 | |
CN110415521A (zh) | 交通数据的预测方法、装置和计算机可读存储介质 | |
CN102426424A (zh) | 基于分布式架构的临近空间飞行器视景仿真方法 | |
CN112530005B (zh) | 一种三维模型直线结构识别与自动修复方法 | |
KR20090003079A (ko) | 가상 페인팅 훈련 시스템 및 방법 | |
CN108053463A (zh) | 基于muse仿真平台的火电厂三维模拟技术方法 | |
Li et al. | Immersive virtual reality as a tool to improve bridge teaching communication | |
Zhang et al. | Enhancing Learning and Teaching for Architectural Engineering Students Using Virtual Building Design and Construction. | |
Gimeno et al. | Multiuser augmented reality system for indoor exhibitions | |
CN204374948U (zh) | 一种电力设备运行仿真系统 | |
CN112667072A (zh) | 大学生职业行为习惯养成训练虚拟系统及方法 | |
CN104112017A (zh) | 一种基于3dmax脚本模型导出的实现方法 | |
Lau et al. | A virtual container terminal simulator for the design of terminal operation | |
CN115983139A (zh) | 一种建筑群地震坠物场景混合现实展示方法及装置 | |
Chandramouli et al. | Desktop VR centered project based learning in ET courses using a low-cost portable VR system | |
CN204374959U (zh) | 一种电力设备运行仿真系统 | |
Zang et al. | Virtual reality and the application in virtual experiment for agricultural equipment | |
CN106599501A (zh) | 一种基于ogre引擎的大型船舶柴油主机虚拟现实系统 | |
Chen et al. | Research and application of immersive virtual reality system based on 3D geographic information system | |
Zhang | Application of 3D Digital Technology in Virtual Laboratory Training |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171017 Termination date: 20181205 |