面向电网运行监控的三维人机交互显示控制方法

文档序号:6381357阅读:160来源:国知局
专利名称:面向电网运行监控的三维人机交互显示控制方法
技术领域
本发明涉及一种三维人机交互显示控制方法,尤其涉及一种针对电网运行监控系统的需要,实现三維人机交互的显示控制方法,属于电网调度自动化技术领域。
背景技术
在电网运行监控系统中,调度人员要面对大量的运行设备实时參数,光靠眼睛监视难免出现遗漏和处理不及吋。只有通过设置报警系统,才能及时发现隐患并采取果断措施防止事故的发生。目前,各个发电厂、变电站、变电所、通讯站等都在通过电网运行监控系统实现智能化集成式的管理,并通过报警系统完善和提高电网的安全性和稳定性。国内外现有的报警系统主要还是通过传统的ニ维手段来展示电网数据,例如通过表格、曲线、棒图等方式在ニ维平面中展示数据。用户对电网的调度和交互操作也是在传统的ニ维平面中实现。在ニ维平面中一次只能打开一幅画面,当需要对多幅画面比较查看吋,操作很不方便。另ー方面,现有的电网数据并不能以三维画面形式显示,尤其缺少有效的可视化手段对各种计算结果、分析结果进行高效的展示。尤其是,现有的报警系统不能将ニ维画面转换成三维画面,缺少可视化手段进行信息挖掘与智能告警,对电网的调度和交互操作也不能实时在三维画面中实现。随着计算机图形学技术的发展,三维可视化技术逐渐引入到电网运行监控系统中,为电网调度提供更加方便灵活的人机交互手段。但是,要完成报警信息在三维空间中的显示,需要采用OpenGL语言实现在三维空间中的绘制及操作。采用OpenGL语言直接进行绘制,需要对所有画面进行重新设计布局,开发绘制鼠标操作响应事件,对于已有显示画面不能继承,因此工作量很大
发明内容
针对现有技术所存在的不足,本发明所要解决的技术问题在于提供面向电网运行监控的三維人机交互显示控制方法。该方法可以直接继承已有画面,实现组件在三维空间中的快速绘制。为实现上述的发明目的,本发明采用下述的技术方案一种面向电网运行监控的三维人机交互显示控制方法,包括如下步骤利用双缓存机制在ニ维平面中绘制图像;读取ニ维平面中绘制的图像,并绘制在三维空间中;检测三维空间中的交互事件,判断操作面板中的组件类型;在三维空间与ニ维平面之间传递交互事件,按组件类型处理交互事件;读取ニ维平面中组件绘制的图像,更新三维空间中的对应画面。其中较优地,利用双缓存机制在ニ维平面中绘制图像的步骤进一歩包括根据三维空间的尺寸在内存中生成缓冲区;生成缓冲区中图像绘制的图形句柄;
将组件的图形对象通过图形句柄绘制到缓冲区中。其中较优地,所述利用双缓存机制在二维平面中绘制图像的步骤是通过JavaSwing组件的双缓存机制实现的。其中较优地,所述读取二维平面中绘制的图像,并绘制在三维空间的步骤进一步包括刷新线程实时读取绘制在二维平面中的图像,根据三维空间的尺寸更新画面材质显示三维空间的画面。其中较优地,所述检测三维空间中的交互事件,判断操作面板中组件类型的步骤进一步包括根据视口变换逆矩阵、投影变换逆矩阵和模型变换逆矩阵,将二维平面中的坐标转换为三维空间中的坐标;将三维空间中的坐标投影到二维平面中,计算出相对坐标;调用二维平面中的操作面板,根据二维平面中的操作面板的尺寸计算出二维平面中的坐标;根据二维平面中的坐标判断组件类型。其中较优地,所述组件类型是按钮、单选按钮、复选框、文本框、列表、树、组合框、表格、工具栏中的一种。其中较优地,所述传递交互事件,按组件类型处理交互事件的步骤进一步包括根据交互事件的类型,计算出的相对坐标,二维平面中的操作面板以及组件类型将所述交互事件从三维空间传递到二维平面;转化为对二维平面中组件的交互操作;在二维平面中模拟相应的交互操作;响应交互操作并更新二维平面中绘制的画面。其中较优地,所述读取二维平面中组件绘制的图像,更新三维空间中画面的步骤进一步包括通过刷新线程实时读取二维平面中绘制的图像,以更新材质方式更新三维空间中的画面。本发明所提供的三维人机交互显示控制方法,克服采用OpenGL语言直接绘制相对繁琐的缺点,可以直接继承已有画面,实现组件在三维空间中的快速绘制,从而将多个报警画面引入到三维空间中,解决了报警画面在三维空间中引入的问题。用户可以在三维空间中方便地查看报警画面,并对其中的数据进行比较分析。


图1是本发明所提供的三维空间中人机交互流程的示意图;图2是本发明中组合框的处理流程示意图;图3是组合框中的下拉框的处理流程示意图;图4是表格头部的处理流程示意图;图5是表格实体的处理流程不意图;图6是表格中键盘键入事件的处理流程示意图。
具体实施例方式下面结合附图和具体实施方式
对本发明作进ー步的详细说明。当前,三维展示技术逐渐应用于电网运行监控系统中,但是展示手段相对单一,缺乏与原有ニ维平面的良好兼容,本发明提供的三維人机交互显示控制方法将电网运行监控系统目前拥有的展示画面类型完全引入到三维空间中,实现电网运行信息从静态、ニ维平面、孤立数据的展示方式到动态、三维立体、连续图形的展示方式的转变。本发明提供的三維人机交互显示控制方法,可以应用于电网运行监控系统中的人机交互报警系统中。该人机交互报警系统提供了电カ系统运行行为和运行状态的异常报警,并以各种图像形式显示在屏幕上以引起用户的注意,方便用户及时采取相应的处理措施。在人机交互报警系统中,主要产生以下报警事件1.系统平台级的报警事件实时运行环境(RTE)异常、电カ系统各个节点重要进程处理异常、各个节点的CPU负荷、内存和网络流量异常。2.系统应用级的报警事件数据采集与监控系统(SCADA)中各种状态量的状态变化、各种模拟量的越限和恢复、运算结果和预测结果、下发控制不成功、前置系统的远动通道运行状态变化、远程终端控制系统(RTU )运行状态变化和前置机运行状态变化,与其他能量管理系统(EMS)通信的运行状态故障等。3.硬件设备报警事件节点掉电、打印机故障、重要硬件设备故障等。

人机交互报警系统启动后,接收到电网发过来的告警通知消息,对消息进行处理,并存储在数据库中。人机交互报警系统在储存数据的同时在报警画面上进行显示,包括逻辑号、报警内容、时间、报警级别等。ー个故障可能伴随多个告警信息,用户可以同时查看多个告警信息进行分析判断,快速准确地判断出故障发生的原因,区分故障根源告警和故障现象告警。用户可以根据屏幕上的告警信息对人机交互报警系统实施交互操作,查看告警位置等更为详细的信息,对多幅画面比较查看。如图1所示,人机交互报警系统实时从电网获取数据,根据获取的电网数据并利用Java Swing组件的双缓存机制在ニ维平面中绘制图像,并在三维空间中渲染显示;用户可以和该人机交互报警系统进行交互操作,并根据交互操作信息处理和更新三维空间显示的画面。为了实现三维空间中的显示,本发明提供的三維人机交互显示控制方法具体包括人机交互报警系统首先在内存中通过临时文件(Bufferlmage)生成缓冲区;根据获得的实时数据,在该临时文件中绘制画面;读取该缓冲区在ニ维平面中绘制的图像(此时绘制的初始图像不在人机交互报警系统的屏幕上进行显示),并绘制在三维空间中。读取缓冲区中的实时画面信息,以更新画面材质形式(根据平面的宽度和高度进行裁剪)将该临时文件中读取的画面信息渲染并在三维空间显示。此时用户可以根据自己的实际需要对人机交互装置显示的三维画面交互操作。检测并收集用户的交互操作信息,并根据当前的交互操作事件将其转换为ニ维平面中的交互操作信息,获得ニ维平面中绘制的操作面板;根据当前获得交互操作的坐标信息判断操作面板中组件的类型。根据不同类型的组件进行不同的处理,实现对ニ维平面中组件的操作;做出相应的操作响应并实时更新画面。下面对上述三維人机交互显示控制方法展开详细的说明。在本发明中,人机交互报警系统实时从电网获取数据,根据获取的电网数据利用Java Swing组件的双缓存机制,根据三维空间平面的宽度和高度在内存中通过临时文件生成一个缓冲区。进一步地,该人机交互报警系统生成缓冲区中图像绘制的图形句柄;根据获得的实时数据,将组件的图形对象通过图形句柄在临时文件中逐一绘制画面(此时绘制的初始图像不在人机交互报警系统的屏幕上进行显示)。人机交互报警系统读取上述缓冲区在二维平面中绘制的图像,并绘制在三维空间中。该人机交互报警系统通过刷新线程实时读取绘制在二维平面中的实时画面信息,以更新画面材质形式(根据平面的宽度和高度进行裁剪)将该临时文件中读取的画面信息渲染并在三维空间显示。在人机交互报警系统读取二维平面中绘制的图像并绘制在三维空间后,用户可以根据自己的实际需要对人机交互设备显示的三维画面进行交互操作(交互操作有多种,在此不一一赘述)。人机交互报警系统进一步检测和收集用户的交互操作信息,并根据当前的交互操作做出相应的操作响应并实时更新画面。具体地说,该人机交互报警系统检测到二维平面中的交互操作事件后,首先依次根据视口变换逆矩阵、投影变换逆矩阵和模型变换逆矩阵将二维平面(即屏幕)中的坐标转换为三维空间中的坐标;再次将三维空间中的坐标投影到二维平面中计算出相对坐标;再通过接口调用二维平面中的操作面板,根据二维平面中操作面板的宽度和高度计算出二维平面中的坐标;最后根据坐标值在操作面板上递归查找组件类型,判断组件类型。组件可以是按钮、单选按钮、复选框、文本框、列表、树、组合框、表格、工具栏中的任意一种。人机交互报警系统根据组件的类型进行不同的处理,处理的组件包括按钮、单选按钮、复选框、文本框、列表、组合框、表格、树、工具栏等。其中针对表格组件,要对表格的头部、表格的实体、表格的滚动条分别处理。在对上述各组件进行处理的过程中,根据交互事件的类型、计算出的相对坐标、二维平面中的控制面板以及组件类型,通过事件传递机制将交互事件从三维空间传递到二维平面;将交互事件转化为对二维平面中组件的交互操作;在二维平面中模拟相应的交互操作;响应交互操作并更新二维平面中绘制的画面。此处所说的传递交互事件例如包括响应鼠标的操作事件,即三维空间中的画面监听到鼠标事件后,将鼠标操作点在屏幕上的坐标经一系列变换转换为二维平面中的相对坐标,根据二维平面中的操作面板以及二维平面中鼠标的相对坐标进行相应鼠标操作事件的处理。下面分别以对组合框、组合框中弹出的下拉框、表格头部、表格实体、表格中键盘输入、树组件、工具栏的交互操作为例,在三维空间中对各种组件的操作事件传递到二维平面后,人机交互报警系统对各种交互事件的处理展开详细的说明。实施例1 :用户对组合框在人机交互报警系统中执行交互操作如图2所示,当用户在人机交互报警系统执行对组合框的交互操作时,在三维空间中将该交互事件传递到二维平面。对于组合框的处理过程,不能实现直接在二维平面中的操作效果;需要模拟点击组合框操作的过程,包括以下步骤I)首先绘制组合框按下的效果;然后判断是否有下拉框弹出,若没有下拉框,则生成新的下拉框;若有下拉框,则为再次点击,将下拉框设为空收回下拉框。2)下拉框弹出后,要将组合框内的列表项正确显示在下拉框中,计算下拉框的高度。首先获得组合框中列表的项数;根据组合框的边距和下拉框的边距计算边框高度;然后由组合框组件的高度减去边框的高度计算得到组合框中列表项的高度。3)计算出列表项的高度后,根据列表项的高度和列表项的个数计算弹出的下拉框的高度,并对弹出的下拉框的高度进行设置。4)下拉框的高度设置后,将下拉框设为可见,并将组合框设为焦点组件。实施例2 :用户对组合框中的下拉框在人机交互报警系统中执行交互操作如图3所示,当用户在人机交互报警系统执行对组合框中弹出的下拉框执行鼠标选中交互操作时,在三维空间中将该交互事件传递到二维平面。对于组合框中弹出的下拉框的鼠标选中事件的处理过程,包括以下步骤I)根据组合框的位置和下拉框所在的根组件,计算下拉框的显示位置。2)判断鼠标点击的位置是否在下拉框的范围,若不在范围内则将下拉框设为空,收回下拉框。3 )若鼠标在下拉框的范围内,判断鼠标的位置移动到下拉框中的列表项的哪一项,对鼠标移动到的项设置选中该项。4)判断鼠标是否点击该选中的下拉项。如果点击到,则在组合框中设置选中该项,并将下拉框设置为空,收回下拉框,完成对组合框的操作。实施例3 :用户对表格头部在人机交互报警系统中执行交互操作如图4所示,当用户在人机交互报警系统执行对表格头部的交互操作时,在三维空间中将该交互事件传递到二维平面。对于表格头部的处理过程,包括以下步骤I)判断鼠标操作是否为左键单击,如果是,则根据鼠标点击坐标得到表格中被鼠标点击的列号。2)根据鼠标点击的表格列号,找到表格模型中对应的列号。3)将表格中被鼠标点击的对应列的数据按照与表格中该列数据原有顺序的相反顺序进行排序。实施例4 :用户对表格实体在人机交互报警系统中执行交互操作如图5所示,当用户在人机交互报警系统执行对表格实体的交互操作时,在三维空间中将该交互事件传递到二维平面。对于表格实体的处理过程,对于文本域要模拟二维平面中输入的键盘事件的处理过程,包括以下步骤I)根据鼠标点击的坐标获得鼠标点击的表格的行数和列数。2)得到鼠标点击的表格的行数和列数后,清除表格中之前选择的表格单元,并设置鼠标点击的单元格为选中状态。3)改变表格要编辑的单元格的行号和列号,启动该单元格的编辑。4)如果被编辑的表格单元不为空且为文本,将文本域的光标设置为可见,并将文本设置为新的焦点组件。5)完成表格内容的编辑工作。实施例5 :用户表格中键盘输入在人机交互报警系统中执行交互操作如图6所示,当用户在人机交互报警系统执行对表格中键盘输入的交互操作时,在三维空间中将该交互事件传递到二维平面。对于表格中键盘输入的处理过程,需要模拟直接在二维平面中进行表格的操作的处理过程,包括以下步骤I)判断是否为退格键,如果是退格键,判断插入符与标记的位置,计算删除的字符个数,根据删除的字符个数进行表格中文本中的字符的删除。2)对上下左右键进行处理,首先获得限制光标位置导航的过滤器;然后根据插入符的位置及移动的方向,计算光标在ニ维平面中移动的位置,通过位置导航过滤器获得光标的下一个可见的位置,并进行光标位置的设置。3)对删除键进行处理,判断插入符与标记的位置,计算删除的字符个数,根据删除字符的个数进行表格中文本中的字符的删除。4)对键盘输入进行处理,判断是否按下某个键,得到按下键值,字母或数字。5)通过输入映射将输入的文本映射为ー个对象,通过动作映射将该对象映射为ー个动作行为。6)判断上述的动作行为是否为空,如不为空,则调用键盘响应事件,完成文本的输入。实施例6 :用户对树组件在人机交互报警系统中执行交互操作当用户在人机交互报警系统执行对树组件的交互操作时,在三维空间中将该交互事件传递到ニ维平面。对于树组件的处理过程,在ニ维平面中直接模拟对树的操作及响应,包括以下步骤I)首先获得鼠标点击到的树组件,并找到鼠标点击坐标处的树路径对象。2)如果当前树组件展开了路径标识的节点,则折叠由指定路径标识的节点;否则将指定路径标识的节点展开。3)选择指定路径标识的节点,将树组件设置为新的焦点组件。4)调用树组件被点 击后右侧画面的响应事件。实施例7 :用户对工具栏在人机交互报警系统中执行交互操作当用户在人机交互报警系统执行对工具栏的交互操作时,在三维空间中将该交互事件传递到ニ维平面。对于工具栏的处理过程,在ニ维平面中直接模拟对于工具栏的操作及响应过程,包括以下步骤I)获得工具栏中组件的个数,在工具栏中找到鼠标点击位置处的组件,并找到该组件的索引。2)判断找到的组件是否为按钮,如果为按钮,模拟按钮被按下去的状态,并将其设为焦点组件。3)调用鼠标点击按钮的响应事件。在本发明中,三维空间中的画面操作传递到ニ维平面并完成相应的交互处理后,通过刷新线程实时读取ニ维平面中绘制的图像,并以更新材质的方式在三维空间中的画面进行绘制,从而完成画面操作的实时更新同歩。综上,本发明的实施例中在三维空间实现了 Java Swing组件的显示及操作,不需要对每一幅画面都重新设计开发,对于已有的ニ维平面中实现的报警系统画面可以直接继承,并可以在三维空间中显示及操作,实现组件在三维空间中的快速绘制,从而将多个报警画面引入到三维空间中。对于未实现的画面,在ニ维平面中进行布局,采用Java Swing组件的双缓存机制实现在ニ维平面中的绘制,通过本发明实现在三维空间中的显示及操作,相比于直接在三维空间中进行绘制的方法简单快捷。上面对本发明所提供的三維人机交互显示控制方法进行了详细的说明。对本领域的一般技术人员而言,在不背离本发明实质精神的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将承担相应的法律责任。
权利要求
1.一种三维人机交互显示控制方法,其特征在于包括如下步骤利用双缓存机制在二维平面中绘制图像;读取二维平面中绘制的图像,并绘制在三维空间中;检测三维空间中的交互事件,判断操作面板中的组件类型;在三维空间与二维平面之间传递交互事件,按组件类型处理交互事件;读取二维平面中组件绘制的图像,更新三维空间中的对应画面。
2.如权利要求1所述的三维人机交互显示控制方法,其特征在于所述利用双缓存机制在二维平面中绘制图像的步骤进一步包括根据三维空间的尺寸在内存中生成缓冲区;生成缓冲区中图像绘制的图形句柄;将组件的图形对象通过图形句柄绘制到缓冲区中。
3.如权利要求1所述的三维人机交互显示控制方法,其特征在于所述利用双缓存机制在二维平面中绘制图像的步骤是通过JavaSwing组件的双缓存机制实现的。
4.如权利要求1所述的三维人机交互显示控制方法,其特征在于所述读取二维平面中绘制的图像,并绘制在三维空间的步骤进一步包括刷新线程实时读取绘制在二维平面中的图像,根据三维空间的尺寸更新画面材质显示三维空间的画面。
5.如权利要求1所述的三维人机交互显示控制方法,其特征在于所述检测三维空间中的交互事件,判断操作面板中的组件类型的步骤进一步包括根据视口变换逆矩阵、投影变换逆矩阵和模型变换逆矩阵,将二维平面中的坐标转换为三维空间中的坐标;将三维空间中的坐标投影到二维平面中,并计算出相对坐标;调用二维平面中的操作面板,根据二维平面中的操作面板的尺寸计算出二维平面中的坐标;根据二维平面中的坐标判断组件类型。
6.如权利要求1所述的三维人机交互显示控制方法,其特征在于所述组件类型是按钮、单选按钮、复选框、文本框、列表、树、组合框、表格、工具栏中的任意一种。
7.如权利要求1所述的三维人机交互显示控制方法,其特征在于所述传递交互事件, 按组件类型处理交互事件的步骤进一步包括根据交互事件的类型、计算出的相对坐标、二维平面中的操作面板以及组件类型将所述交互事件从三维空间传递到二维平面;将所述交互事件转化为对二维平面中组件的交互操作;在二维平面中模拟相应的交互操作;响应交互操作并更新二维平面中绘制的画面。
8.如权利要求1所述的交互方法,其特征在于所述读取二维平面中组件绘制的图像, 更新三维空间中的对应画面的步骤进一步包括通过刷新线程实时读取二维平面中绘制的图像,以更新材质方式更§ 三维空间中的对应画面。
全文摘要
本发明公开了一种面向电网运行监控的三维人机交互显示控制方法,包括如下步骤利用双缓存机制在二维平面中绘制图像;读取二维平面中绘制的图像,并绘制在三维空间中;检测三维空间中的交互事件,判断操作面板中的组件类型;在三维空间与二维平面之间传递交互事件,按组件类型处理交互事件;读取二维平面中组件绘制的图像,更新三维空间中的对应画面。本发明克服采用OpenGL语言直接绘制相对繁琐的缺点,可以直接继承已有画面,实现组件在三维空间中的快速绘制,从而将多个报警画面引入到三维空间中,解决了报警画面在三维空间中引入的问题。
文档编号G06T19/00GK103035031SQ20121045930
公开日2013年4月10日 申请日期2012年11月15日 优先权日2012年11月15日
发明者赵林, 杨立波, 习新魁, 张亮, 孙湃, 张国强, 胡绍鑫, 赵鹏, 孙丽卿, 李一鹏, 王丽丽, 马斌, 程大闯, 王亚军, 刘艳 申请人:北京科东电力控制系统有限责任公司, 河北省电力公司, 国家电网公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1