掌桥专利:专业的专利平台
掌桥专利
首页

基于变形Voronoi树图的层次化可视交互系统及方法

文献发布时间:2023-06-19 12:05:39


基于变形Voronoi树图的层次化可视交互系统及方法

技术领域

本公开属于可视化交互技术领域,尤其涉及一种基于变形Voronoi树图的层次化可视交互系统及方法。

背景技术

本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。

随着各种商用的双屏(Dual-screen)和折叠屏(Flexible screen)智能手机的推出,双面(Dual-surface)设备变得常见。同时,一些跨面(Cross-surface)显示设备,如:智能汽车中大型表面(Large surfaces),教室中的可交互白板(Interactive whiteboard),也逐渐步入日常生活。更广泛的:与计算机相连接的智能眼镜,虚拟现实/增强现实头盔(VR/AR headsets,Virtual reality/Augmented reality headsets)等跨设备(Cross-device)显示也作为近年来的科技热词被大众所熟知。另外,一些非屏幕显示输出的设备(比如按摩椅等)也在公共场所随处可见。

除了上述设备的飞速发展,搭载在设备上信息量和信息类型也呈指数级增加,单屏显示已经很难在满足各种需求的同时兼顾用户体验,比如常见的对于海量层次数据的可视化导航。然而目前可通用于“双输出设备”(本文中的“双输出设备”泛指双屏手机、折叠屏手机等双面设备、跨设备显示的双面设备以及跨设备控制的双输出设备等)的可视化工具集种类有限,尤其在“双输出设备”上基于海量层次化数据的工具集更为稀少。因此,提供一个基于海量层次化数据的可视化交互导航工具集是必要且有用的,这类工具集通常至少包括交互导航界面以及内容(数据)展示模块。

发明人发现,现有技术中存在以下技术问题:

首先,考虑可视化交互导航界面的实现的过程,比较层次数据的主流可视化方法,Voronoi树图将复杂数据层次化,从而提供数据在全局和局部上的视图;可以充分利用设备的表面空间,即使对于非常规的不平整面;具有更优的纵横比(Aspect ratio)和更好的层次化表现。因此它常被用于层次数据的可视化显示。通常,生成Voronoi树图时,每个节点都需要计算带容量约束的重心加权Voronoi图(CCPD,Centroidal power diagram withcapacity constraints)。现有工作仍不能实现对CCPD的实时计算,于是基于海量数据生成的Voronoi树图的可视化界面的实时更新和实时显示成为了一个严峻的挑战。

其次,对于内容展示模块。比较常见的“双输出设备”包括:折叠屏手机,连接计算机的VR/AR设备,连接计算机的投影仪,由计算机控制的全息投影设备,连接计算机的智能家居设备等等。它们大多有一个通性,即拥有一个可输入(鼠标,声控,触控,体感等)的屏幕A,和一个通常不可输入的可输出设备(输出包含屏幕,投影,连接的智能设备等)B(下文为了方便说明,设备B上的数据展示器分别指显示在屏幕、投影上的打开常规数据的应用程序或连接设备B的智能设备,比如“按摩椅”这一非常规数据的数据展示模块即为按摩椅设备;“按摩椅”展示在设备B指设备B连接控制按摩椅设备)。通常,交互导航界面必须显示在可输入的屏幕A;内容展示模块应当与交互导航界面分离,展示在设备B。然而用户需要可输入区域操作数据(这些操作主要取决于数据类型)。因此,如何将不同类型的数据(尤其是非常规数据)对应的操作(尤其是自定义数据操作)与设备B上的数据展示器分离,嵌入到界面A中(比如在屏幕A上点击特定区域从而使呈现在屏幕B的视频播放器完成播放/暂停操作),成为一个亟需解决的问题。

最后,对于界面结构、形态和风格的生成和修改。传统的交互界面,通常将所有用户视作个体,不考虑他们各自的审美需求和喜好。事实上,随着用户审美需求的加强,界面的自适应性以及界面元素的自由度变得重要。而当用户的个性化需求超出个体的艺术创造力时,往往需要借助专业设计人员。因此为设计人员提供方便的模板上传接口从而构建面向用户的可下载的推荐模板库是重要的。而创建新应用场景的需求产生时,编程人员通常只能根据新需求修改源代码并重新发布给用户,这种修改模式对于普通用户和编程人员无疑是不友好的。因此,如何在工具集生成初始界面后,为用户提供可交互的动态界面调整;如何为设计人员提供方便快捷的模块上传接口以及如何为编程人员提供简洁迅速的界面结构的创建和修改方法都是需要解决的有意义的问题。

发明内容

本公开为了解决上述问题,提供了一种基于变形Voronoi树图的层次化可视交互系统及方法,所述方案通过采用基于变形Voronoi树图的导航界面,将不同类型的数据以及相对应的数据操作嵌入到导航界面中,实现了搭载于双屏手机、折叠屏手机等双面设备、跨设备显示中的双面设备以及跨设备控制的双输出设备等设备的可视交互。

根据本公开实施例的第一个方面,提供了一种基于变形Voronoi树图的层次化可视交互系统,包括:

界面生成模块,其被配置为根据给定的层次性数据,提取其树形结构,并结合用户的点击热度以及点击历史,利用变形Voronoi树图算法获得变形Voronoi树图;

导航模块,其被配置为在输入屏幕上对获得的变形Voronoi进行显示,并接收用户操作或查询指令的消息反馈;

操作模块,其被配置为当属性节点被点击时,向导航模块发送指令,利用聚焦和上下文融合的方法更新界面;当数据节点被点击时,向导航模块发送指令,利用聚焦技术更新界面,向展示模块发送指令,并在输出设备展示数据;当进行数据操作时,向展示模块发送指令,并在输出设备对数据进行操作;

展示模块,其被配置为当收到数据打开指令时,在输出设备上展示该数据类型对应的数据展示器;当收到数据操作指令时,向数据展示器发送对应的指令。

进一步的,所述界面生成模块,具体执行以下操作:

对于新创建的表,从表中的层次性数据集中提取其公共属性树,对于这棵树的每一个叶节点,将所有符合该属性的数据节点添加为其子节点;结合用户群体的点击热度以及用户点击历史,对树形结构中的属性节点和数据节点进行权重赋值;将层次性结构树作为变形Voronoi树图算法的输入,生成变形Voronoi树图;

对于表的局部修改,仅计算并更新修改节点父节点的RPCCPD。

进一步的,所述导航模块,具体执行以下步骤:

将输入屏幕的形状设为边界,基于此边界计算变形Voronoi树图根节点的RPCCPD,并在输入屏幕中显示该RPCCPD;

接收操作模块、修改模块和查询模块的指令,对变形Voronoi树图进行修改。

进一步的,所述操作模块,具体执行以下操作:

当某一节点被点击,若为属性节点,则向所述导航模块发送聚焦指令;若为数据节点,则向导航模块发送聚焦指令,同时向展示模块发送数据打开指令;当在数据节点内进行数据操作时,向展示模块发送操作指令。

进一步的,所述展示模块,具体执行以下操作:

通过socket通信接收来自操作模块的指令;

若指令为打开数据,则首先关闭其他数据展示器,再根据数据节点的数据类型启动相应的数据展示器,并按照数据节点字段中保存的该数据的绝对路径打开数据文件;

若指令为数据操作,则根据该数据操作的返回值以及输出设备中预先定义好的操作返回值与操作指令的绑定关系,得到操作指令;将具体的操作指令发送给目前启动的数据展示器,完成相应的操作。

进一步的,所述系统还包括修改模块,其被配置为对界面结构进行修改,并向导航模块发送指令。

根据本公开实施例的第二个方面,提供了一种基于变形Voronoi树图的层次化可视交互方法,包括:

根据给定的层次性数据,提取其树形结构,并结合用户的点击热度以及点击历史,利用变形Voronoi树图算法获得变形Voronoi树图;

在输入屏幕上对获得的变形Voronoi进行显示,并接收用户操作或查询指令的消息反馈;

当属性节点被点击时,向导航模块发送指令,利用聚焦技术更新界面;当数据节点被点击或进行数据操作时,向展示模块发送指令,并在输出设备展示数据或对数据进行操作;

对界面结构进行修改,并向导航模块发送指令;

当收到数据打开指令时,在输出设备上展示该数据类型对应的数据展示器;当收到数据操作指令时,向数据展示器发送对应的指令。

根据本公开实施例的第三个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,所述处理器执行所述程序时实现所述的一种基于变形Voronoi树图的层次化可视交互系统的操作。

根据本公开实施例的第四个方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的一种基于变形Voronoi树图的层次化可视交互系统的操作。

与现有技术相比,本公开的有益效果是:

(1)本公开所述方案提出了一种基于变形Voronoi树图的导航界面,同时所述方案还支持三种不同类型的受众(普通用户、设计人员以及编程人员)分别对该导航界面的形态、元素风格以及结构进行修改并对导航界面进行实时更新;为普通用户提供了可交互的动态界面调整,也为设计人员提供方便快捷的模块上传接口以及为编程人员提供了简洁迅速的界面结构创建和修改方法;

(2)本公开所述方案将不同类型的数据以及相对应的数据操作嵌入到导航界面中,用户在输入屏幕上导航区域内的操作可以映射到另一个输出设备上数据类型对应的数据展示器中;

(3)本公开提出了搭载于双屏手机、折叠屏手机等双面设备、跨设备显示中的双面设备以及跨设备控制的双输出设备等设备的可视交互方法。

本公开附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。

附图说明

构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。

图1(a)为本公开实施例一中所述的折叠屏手机上的可视交互界面;

图1(b)为本公开实施例一中所述的全息投影上的可视交互界面;

图2为本公开实施例一中所述的交互方法流程框架示意图;

图3(a)为本公开实施例一中所述的数据库中历史文物信息示意图;

图3(b)为本公开实施例一中所述的数据库中历史文物公共属性提取示意图;

图3(c)为本公开实施例一中所述的数据库中用户信息示意图;

图4(a)至图4(c)分别为本公开实施例一中所述的CCPD,从CCPD提取最大正六边形,RPCCPD;

图5为本公开实施例一中所述的导航界面初始状态;

图6(a)为本公开实施例一中所述的并行计算的部分RPCCPD;

图6(b)为本公开实施例一中所述的节点"区域"的RPCCPD;

图6(c)为本公开实施例一中所述的节点"区域"对"西南"和"华中"分别进行聚焦操作的RPCCPD;

图7(a)和图7(b)分别为本公开实施例一中所述的对应对节点"区域"中点击节点"西南"前后导航界面示意图;

图8(a)和图8(b)分别为本公开实施例一中所述的对视频格式数据的操作以及对应的显示;

图8(c)和图8(d)分别为本公开实施例一中所述的对模型格式数据的操作以及对应的显示;

图8(e)和图8(f)分别为本公开实施例一中所述的对按摩椅数据的操作以及对应硬件设备;

图9(a)和图9(b)分别为本公开实施例一中所述的对应普通用户对节点形态的操作前后示意图;

图10(a)和图10(b)分别为本公开实施例一中所述的对应普通用户对界面元素的更改前后示意图;

图11(a)和图11(b)分别为本公开实施例一中所述的对应编程人员对修改数据库前后示意图;

图11(c)和图11(d)分别为本公开实施例一中所述的对应编程人员对修改数据库对应的可视化树形结构前后示意图;

图11(e)和图11(f)分别为本公开实施例一中所述的对应编程人员对修改数据库对应的导航界面前后示意图。

具体实施方式

下面结合附图与实施例对本公开做进一步说明。

应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。

实施例一:

本实施例的目的是提供一种基于变形Voronoi树图的层次化可视交互系统。

本公开所述方案基于树形结构的层次数据(树形节点分为属性节点和数据节点。通常,属性节点为非叶节点,数据节点为叶节点),同时,将数据操作方式添加为数据节点的一个字段。将Voronoi树图生成算法中CCPD节点的区域(cell)修改为从该cell中所能提取的面积最大的正N边形(在本专利中,我们以正六边形为例),我们将这种新的图形称为RPCCPD(Regular polygon extracted from centroidal power diagram with capacityconstraints),将节点为RPCCPD的Voronoi树图算法称为变形Voronoi树图算法。在生成变形Voronoi树图时,不需从顶到底的依次计算每个节点的RPCCPD,而是将一个固定大小的正六边形设为所有节点的边界,并行计算所有节点的RPCCPD,在显示的时候通过偏移放缩实时计算其真实的RPCCPD。

初始化结束后提供一个界面窗口,屏A显示基于变形Voronoi树图算法生成的交互导航界面,设备B用于展示导航指向的内容展示模块。当用户在屏A上点击属性节点(为了简化,导航界面中的“节点”代表节点在RPCCPD中的cell)时,系统结合聚焦(即聚焦和上下文融合方法,所述聚焦和上下文融合方法:聚焦即在用户点击某节点时,首先清空该节点父节点边界内绘制的内容,然后调整该节点的父节点的RPCCPD权重分配,增加该节点的权重,使得该节点的面积达到父节点面积的80%;上下文融合即降低该节点的兄弟节点的权重,使得这些节点面积减少但不消失,同时显示该节点的所有子节点,从而保持上下文信息)技术,在屏A上显示该属性节点的子节点(属性节点或数据节点);当用户在屏A中点击数据节点时,设备B在数据展示器(比如视频播放器,图片显示器等)展示该数据的具体形态(比如视频,图片,模型等等);当用户在屏A在数据节点上进行操作(绘制在正六边形边的操作栏,或是正六边形内的多指触控,或是数据节点的操作子节点)时,设备B展示对该数据进行相应操作后的结果。

对于界面风格的修改,用户可以通过拖拽等操作,对每个节点的形态进行移动、缩放和旋转。用户也可以修改其他界面元素(比如,背景图片,颜色,字体等等)。同时设计人员可以通过工具集提供界面元素素材并上传为界面模板,供用户下载使用。对于新的界面结构的创建仅需要在数据库中新建一张表并计算一次变形Voronoi树图;而对于界面结构的局部修改仅需更新数据库中相应表的元组字段,工具集会实时更新导航界面并显示在用户的屏A上。这个过程既不需要编码人员重新编程,也不需要重新计算整个变形Voronoi树图,仅仅计算修改后节点的父节点的RPCCPD即可。

为了实现上述目的,本公开采用如下技术方案:

一种基于变形Voronoi树图的可视交互系统,包括界面生成模块,导航模块、操作模块、修改模块和展示模块,其中:

界面生成模块,根据给定的层次型数据集,提取其公共属性树,并向属性树的叶节点添加数据节点为子节点。向叶节点的数据节点绑定默认数据操作或添加自定义数据操作,形成新树。对于每个属性节点,节点的权重表示用户群对于该属性的点击量。通过变形Voronoi树图算法,并行计算所有节点的RPCCPD,得到变形Voronoi树图。界面生成模块一般部署在云上,通过并行加快计算过程,减少用户计算机性能的要求。

导航模块,根据给定的变形Voronoi树图,按照屏A的屏幕形状和大小作为边界,计算并显示根节点基于此边界的RPCCPD。然后等待操作模块或查询模块的反馈。

操作模块,当用户点击属性节点时,导航模块基于聚焦技术,调整该节点所在RPCCPD的权重分配,使该节点面积增加而其兄弟节点cell面积减少(但不消失)。同时显示该属性节点的子节点(即该节点的RPCCPD);当用户点击数据节点时,该节点cell同样依据聚焦技术被放大,并在六边形内显示操作栏或操作指示,同时向展示模块发送打开该数据的指令;当用户点击操作栏或按照操作指示进行操作时,会向展示模块发送该数据节点字段下的操作指令。

修改模块,主要面向三类目标受众。对于普通用户来说,用户可以通过单指、多指滑动等操作,对每个节点的形态进行移动、缩放和旋转。界面也为用户提供了其他界面元素(比如,背景图片,颜色,字体等等)的修改页面,同时为有一定计算机基础的人提供了更改本地配置文件的修改方式。对于设计人员,可以通过工具集上传界面元素素材并保存到界面模板库,供用户下载使用。对于编程人员,新界面结构的创建仅需要在数据库中新建一张表;对于界面结构的局部修改也仅需要更新数据库中相应表的内容。除了直接修改数据库,工具集也提供了对树形结构的可视化和可交互的修改来增删元组和字段。一个元组的字段包括:节点标识号(id)、节点名、节点类型、祖先节点路径、点击量、点击返回值、数据路径。其中对于数据节点来说,“点击返回值”是一段Json文本,其中包含了该数据节点所包含的操作,以及相应操作对应的返回值。上述导航模块,操作模块以及修改模块都集成程序A中,这段程序是固定不可修改的。其中导航模块作为可视化界面显示在屏幕A上,另外两个模块在后台运行。

展示模块,集成在部署在设备B上的程序B。在程序B中,程序人员通过数据库表中常见的数据类型(视频、图片等)实现数据展示器,通过不常见的数据类型(按摩椅等)连接硬件设备,并通过数据节点的不同节点返回值绑定数据展示器中的不同操作。展示模块通过socket通信接收程序A发送的指令。当收到操作模块发送的数据打开指令时,根据数据类型打开该数据(比如,使用视频播放器播放视频数据,使用3D模型显示软件展示模型数据,连接按摩椅等等);当收到操作模块发送的数据操作指令时,经过处理向数据展示器发送对应的指令,从而完成对数据的操作。

进一步的,所述界面生成模块,具体执行如下步骤:

(1.1)对于新创建的表,转(1.2);否则,对于表的局部修改,转(1.5);

(1.2)对于给定的层次性数据集,提取其公共属性树。若只有一类公共属性树(比如,年代),则直接得到一颗树;若有多种公共属性树(比如,文物数据的属性包括年代,材质,地域等)并将各个属性作为根节点构建多颗树,最后将这些根节点设为新的根节点的子节点,得到一颗新树。对于这棵树的每一个叶节点(属性节点),将所有符合该属性的数据节点添加为其子节点。

(1.3)结合用户群体的点击热度以及用户点击历史,即对树形结构中的属性节点和数据节点进行权重赋值。对于同一层的属性节点,相互之间的权重比例等于用户对这些属性点击量的比例。对于同一层的数据节点,用户浏览过的节点的权重会下降,而未浏览过的节点的权重会上升。

(1.4)生成变形Voronoi树图。将层次性结构树作为变形Voronoi树图算法的输入,生成变形Voronoi树图。

其中,所述步骤(1.4)中,具体步骤包括:

(1.4.1)将赋完权重的层次性结构树作为变形Voronoi树图算法的输入;

(1.4.2)将一个固定大小的正六边形设为节点边界,并行计算所有节点的RPCCPD;

(1.4.3)通过聚焦技术,对于每一个节点,提前模拟点击该节点,并基于点击后的权重分配计算RPCCPD。即调整聚焦的节点所在RPCCPD(即其父节点的RPCCPD)的权重分配,使权重更改后计算出的RPCCPD中该节点面积增至其父节点cell面积的80%,而其兄弟节点cell面积减少(但不消失)。此过程的所有RPCCPD的计算过程也是并行的。

(1.4.4)对于每一个节点,保存其RPCCPD以及聚焦操作后的RPCCPD;

(1.5)当表结构发生更改或者元组字段进行更改时,对于所有修改的节点的父节点,重新并行计算并更新其RPCCPD。比如,如果修改一个节点的权重,则重新计算其父节点按照新的权重分配计算的RPCCPD;如果增删一个节点,则重新计算其父节点增删一个站点后的RPCCPD;如果修改一个数据节点的数据操作,则无需重新计算;

进一步的,所述导航模块,具体执行如下步骤:

(2.1)将自定义形状(默认为屏A形状)设为边界,计算变形Voronoi树图根节点的RPCCPD,在屏A显示该RPCCPD;

(2.2)等待操作模块、修改模块和查询模块的指令,修改变形Voronoi树图;

所述步骤(2.2)中,具体步骤包括:

(2.2.1)当收到操作模块的聚焦指令时,显示对节点聚焦操作后节点所在的RPCCPD。若该节点为属性节点,则显示该属性节点的子节点(即该节点经偏移缩放处理后的RPCCPD);

所述步骤(2.2.1)中,具体步骤包括:

(2.2.1.1)从操作模块收到聚焦指令,同时会收到该聚焦指令指向的节点;

(2.2.1.2)对该节点聚焦操作后的RPCCPD在(1.3.3)时存储于该节点的父节点中。在画布中清除其父节点原先的RPCCPD,再对该节点聚焦操作后的RPCCPD进行偏移缩放操作(通过1.3.3中提到的六边形的中心坐标c和该节点父节点六边形的中心坐标p计算平移向量

(2.2.1.3)若该节点为数据节点,则显示该属性节点经偏移缩放处理(如2.2.1.2)后的RPCCPD;

(2.2.2)当收到修改模块中普通用户发出的指令时;

所述步骤(2.2.2)中,具体步骤包括:

(2.2.2.1)当指令为修改节点形态时,根据对指令指向的节点平移,缩放和旋转等操作指令以及相应的操作度量。对该节点的cell进行相应度量的平移,缩放和旋转。同时保存到本地缓存文件,供下次读入;

(2.2.2.2)当指令为修改界面元素时,根据相应的界面元素,调用本地缓存的元素文件(比如,背景图片)或者修改相应属性(比如,颜色或字体大小);

进一步的,所述操作模块,具体执行如下步骤:

(3.1)用户点击某一节点,若为属性节点,转(3.2);若为数据节点,转(3.3)。用户在数据节点内进行数据操作时,转(3.4);

(3.2)该节点为属性节点,向导航模块发送聚焦指令;

(3.3)该节点为数据节点,向导航模块发送聚焦指令,同时向展示模块发送数据打开指令;

(3.4)若进行数据操作时,向展示模块发送操作指令;

进一步的,所述修改模块,具体执行如下步骤:

(4.1)判断用户类型,若用户为普通用户,转(4.2);若用户为设计人员,转(4.3);否则,若用户为编程人员,转(4.4);

(4.2)若用户进行节点形态移动,转(4.2.1);若用户进行界面元素修改,转(4.2.2);

(4.2.1)用户移动节点形态,通过触控操作。通过用户触摸的点可以判断要操作的节点。单指按住节点中央(节点中央定义为与节点中心点的距离小于节点六边形半径一半的区域)拖动,向导航模块发送平移指令;双指按住节点反方向伸展或收缩,向导航模块发送缩放指令;单指按住节点边缘顺时针/逆时针滑动,向导航模块发送旋转指令;

(4.2.2)用户通过选项页面修改界面元素,并向导航模块发送界面元素修改指令;

(4.3)设计人员将普通图片格式或矢量图格式的背景图片、六边形背景和特殊图标以及字体颜色、大小等素材通过工具集打包上传到对象存储器OSS并保存为模板;

(4.4)编程人员通过工具集在数据库中新建表或修改已有表的元组和字段。通过在可视化树形结构中增减节点以及修改节点的属性,在数据库表中增减元组以及修改元组的字段;

进一步的,所述展示模块,具体执行如下步骤:

(5.1)通过socket通信接收来自操作模块的指令。若指令为打开数据,转(5.2);若指令为数据操作,转(5.3);

(5.2)若指令为打开数据,则首先关闭其他数据展示器,再根据数据节点的数据类型启动相应的数据展示器,并打开数据节点字段中保存的该数据的绝对路径下的数据文件;

(5.3)若指令为数据操作,则根据该数据操作的返回值以及程序B中预先定义好的操作返回值与操作指令的绑定关系,得到操作指令。将具体的操作指令发送给目前启动的数据展示器,完成相应的操作;

进行步骤(1.1),给定如图3(a)所示的历史文物数据集;

进行步骤(1.2),提取5种公共属性(材质,年代,功用,来源,区域),并将各个属性作为根节点构建多颗树,最后将这些根节点设为新的根节点的子节点,得到一颗新树,如图3(b)所示。其中,节点level字段代表从根节点到该节点的节点路径id;

进行步骤(1.3),结合用户群体的点击热度以及用户点击历史,将图3(b)中节点hot字段设置为用户群体对该属性节点的点击热度,将图3(c)中用户节点clicked字段设置为用户浏览过的数据节点id。将图3(a)中的树形结构作为变形Voronoi树图算法的输入。其中,属性节点的权重为图3(b)中节点hot字段值,数据节点的权重默认为1,图3(c)中当前用户clicked字段中出现过的数据节点的权重设为0.1;

进行步骤(1.4.2),将一个固定大小的正六边形设为节点边界,并行计算所有节点的RPCCPD,如图6(a);

图4(a)为有5个站点(权重相同)的CCPD,图4(b)为从CCPD的5个cell中提取出的5个最大正六边形,图4(c)为用正六边形替代原cell作为新cell的RPCCPD;

进行步骤(1.4.3),对于每一个节点,如图6(c)中的节点“西南”和节点“华中”,模拟点击该节点,并根据聚焦技术分配权重,重新计算RPCCPD并保存到该节点的父节点“区域”中,如图6(b);

进行步骤(1.4.4),对于每一个节点,保存其RPCCPD以及聚焦操作后的RPCCPD;

进行步骤(2.1),将自定义形状(默认为屏A形状)设为边界,计算变形Voronoi树图根节点的RPCCPD,在屏A显示该RPCCPD;

如图5所示,初始界面仅显示变形Voronoi树图根节点(包含5个子节点)的RPCCPD,该RPCCPD的边界为屏幕尺寸大小的矩形。

对于普通用户点击属性节点“西南”时,如图7(a);

进行步骤(3.1),用户点击节点“西南”,向导航模块发送聚焦指令;

进行步骤(2.2.1.1),对属性节点“西南”进行聚焦操作;

进行步骤(2.2.1.2),在画布中清除其父节点“区域”原先的RPCCPD,再对该节点聚焦操作后的RPCCPD进行偏移缩放操作(通过1.3.3中提到的六边形的中心坐标c和该节点父节点六边形的中心坐标p计算平移向量

进行步骤(2.2.1.3),若为属性节点,显示该属性节点经偏移缩放处理(如2.2.1.2)后的RPCCPD;

如图7(b),为点击节点“西南”后根据聚焦技术对其父节点“区域”的8个子节点的权重重新赋值后生成的新RPCCPD图。其中节点“西南”cell的面积增加,其兄弟节点“华中”,“华北”,“华南”,“华东”,“西北”,“东北”,“港澳台”面积缩小。由于节点“西南”为属性节点,所以同时显示节点“西南”经偏移缩放处理后的RPCCPD(节点“西南”的原RPCCPD见图6(a));

对于普通用户点击数据节点时,如图8(a)所示的视频类型数据节点;

进行步骤(2.2.1),(2.2.2);

进行步骤(2.2.3),在节点边缘显示播放控制条、音量控制条等操作栏;

同时通过socket通信向展示模块发送数据打开指令;

进行步骤(5.2),首先关闭已经打开的其他数据类型展示器,再启动展示模块程序B内置的视频播放器,并根据该视频数据节点字段保存的绝对路径打开该视频文件;

当普通用户进行数据操作时,如图8(b)所示的模型类型数据节点的操作;

通过该模型类型数据节点字段保存的数据操作及其对应的返回值,若用户进行平移(双指按住同方向移动),旋转(单指按住移动),放缩(双指按住反方向移动)操作时,向展示模块发送这些操作对应的返回值(0,1,2);

进行步骤(5.3),根据程序B中预先定义好的操作返回值与操作指令的绑定关系,将操作返回值(0,1,2)翻译为平移,旋转,缩放在展示器中对应的指令发送给当前的模型展示器,从而完成相应的操作;

以上视频、模型等数据类型属于常见数据类型,其操作返回值以及对应的数据展示器都已封装好。对于特殊数据类型,如图8(c)所示的按摩椅数据节点,则需要编程人员在数据库中定义按摩椅数据节点的操作以及操作返回值,同时在程序B中连接按摩椅硬件,并将操作返回值与按摩椅硬件接口相关联;

当普通用户进行按摩椅数据节点操作时,比如点击操作按钮“启动”,向展示模块发送“启动”对应的自定义返回值(3)。进行步骤(5.3),程序B将返回值(3)翻译为按摩椅启动指令发送给按摩椅硬件,从而完成按摩椅设备的启动。

当用户进行节点形态修改时,如图9(a);

进行步骤(4.2),通过用户触摸的点可以判断要操作的节点。单指按住节点中央拖动,向导航模块发送平移指令;双指按住节点反方向伸展或收缩,向导航模块发送缩放指令;单指按住节点边缘顺时针/逆时针滑动,向导航模块发送旋转指令;

进行步骤(2.2.2.1),根据对指令指向的节点平移,缩放和旋转等操作指令以及相应的操作度量。对该节点的cell进行相应度量的平移,缩放和旋转,如图9(b)。同时保存到本地缓存文件,供下次读入;

当用户进行节点界面元素修改时,原元素风格如图10(a);

进行步骤(4.2.2),用户通过左上角的菜单栏选择更改背景图片、字体颜色、字体大小等等,或者在模板库中下载设计人员上传的界面模板,向导航模块发送界面元素修改指令;

进行步骤(2.2.2.2),根据相应的界面元素,调用本地缓存或从模板库下载的元素文件(比如,背景图片)或者修改相应属性(比如,颜色或字体大小),如图10(b);

当设计人员进行界面模板设计上传时;

进行步骤(4.3),设计人员将普通图片格式或矢量图格式的背景图片、六边形背景和特殊图标以及字体颜色、大小等素材通过工具集打包上传到对象存储器OSS并保存为模板;

当编程人员创建新的界面结构时;

进行步骤(4.4),编程人员在数据库中新建表或通过工具里中可视化树形结构中创建节点并设置节点的属性;

进行步骤(1.2);

当编程人员修改已有界面结构时;

进行步骤(4.4),编程人员在数据库中修改已有表的元组和字段或通过可视化树形结构中增减节点以及修改节点的属性实现在数据库表中增减元组以及修改元组的字段;

进行步骤(1.5),当表结构发生更改或者元组字段进行更改时,对于所有修改的节点的父节点,重新并行计算并更新其RPCCPD。比如,如果修改一个节点的权重,则重新计算其父节点按照新的权重分配计算的RPCCPD;如果增删一个节点,则重新计算其父节点增删一个站点后的RPCCPD;如果修改一个数据节点的数据操作,则无需重新计算;

图11给出一个添加节点的例子:如图11(a)为修改前的数据库,图11(b)为修改后的数据库;图11(c)为修改前的可视化树形结构,图11(d)为修改后的可视化树形结构;图11(e)为修改前的导航界面,图11(f)为修改后的导航界面;

上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。

实施例二:

本实施例的目的是提供一种基于变形Voronoi树图的层次化可视交互方法。

一种基于变形Voronoi树图的层次化可视交互方法,包括:

根据给定的层次性数据,提取其树形结构,并结合用户的点击热度以及点击历史,利用变形Voronoi树图算法获得变形Voronoi树图;

在输入屏幕上对获得的变形Voronoi进行显示,并接收用户操作或查询指令的消息反馈;

当属性节点被点击时,向导航模块发送指令,利用聚焦技术更新界面;当数据节点被点击时,向导航模块发送指令,利用聚焦技术更新界面,向展示模块发送指令,并在输出设备展示数据或对数据进行操作;当进行数据操作时,向展示模块发送指令,并在输出设备展示数据或对数据进行操作;

当收到数据打开指令时,在输出设备上展示该数据类型对应的数据展示器;当收到数据操作指令时,向数据展示器发送对应的指令。

进一步的,所述方法还包括根据用户类型对界面结构进行修改,并向导航模块发送指令,其具体步骤在实施例一中已经详细说明,故此处不再赘述。

在更多实施例中,还提供:

一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例一中所述系统的操作。为了简洁,在此不再赘述。

应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。

一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一中所述系统的操作。

实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。

本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。

上述实施例提供的一种基于变形Voronoi树图的层次化可视交互系统及方法可以实现,具有广阔的应用前景。

以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。

相关技术
  • 基于变形Voronoi树图的层次化可视交互系统及方法
  • 一种基于Voronoi树图的信息检索可视化系统及方法
技术分类

06120113159895