CN104169852A - 对链接曲率的交互式控制 - Google Patents

对链接曲率的交互式控制 Download PDF

Info

Publication number
CN104169852A
CN104169852A CN201380014423.2A CN201380014423A CN104169852A CN 104169852 A CN104169852 A CN 104169852A CN 201380014423 A CN201380014423 A CN 201380014423A CN 104169852 A CN104169852 A CN 104169852A
Authority
CN
China
Prior art keywords
link
node
user
curvature
instruction
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
Application number
CN201380014423.2A
Other languages
English (en)
Other versions
CN104169852B (zh
Inventor
T·德怀尔
N·H·里奇
B·李
S·卡彭代尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN104169852A publication Critical patent/CN104169852A/zh
Application granted granted Critical
Publication of CN104169852B publication Critical patent/CN104169852B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20072Graph-based image processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

链接曲率处理模块使得用户具有控制节点链接图中的链接的曲率的能力。当向用户显示节点链接图时,用户可与该图交互并调整该图中一个或多个链接的曲率,以提升该图的可读性。用户对链接的曲率的修改更改了链接的形状,使得连接到链接的节点的位置不会改变。通过向用户提供这样的控制,用户能够按照用户的偏好定制链接的视觉显示。

Description

对链接曲率的交互式控制
背景
图是通常用于以结构化的方式呈现数据的数据结构。图由节点和链接组成,其中每一节点表示一对象,而链接(也被称为“边”)将源节点连接到目标节点。图通常用在各种应用中以对信息的流程建模、对实体之间的关系建模等等。例如,在社交网络中,图的节点可表示各个人,而边可表示两个人之间的关系。在航线网络中,节点可表示城市,而边的序列可表示从一个城市到另一城市的路线。
节点链接图是用于可视化图的构造,其中图形对象(诸如框或点)描绘节点,而曲线被用于表示两个节点之间的链接。具有大量节点和链接的节点链接图有视觉杂乱的问题。视觉杂乱通常归因于在多个链接彼此重叠使得难以辨别特定的链接或链接的子集的情况下的链接拥塞。
发明内容
提供本概述是为了以简化的形式介绍将在以下具体实施方式中进一步描述的概念选择。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
用户可在进行中与节点链接图交互,以标识该图中需要附加的视觉清晰性的部分。具体地,可按照各种方式分开拥塞的链接,以便提升图的可读性。交互式链接铺展技术使得用户能够通过将链接展开或铺展到用户指定的铺展半径来更改连接到节点的链接的曲率。基于用户指定的铺展半径来确定最小分离角,然后该最小分离角被用于确定相邻链接之间所需的最小分离角。在受链接曲线必须是光滑的并按最小量分开的约束的情况下,计算用于表示链接的光滑曲线以最小化每一链接从其源节点到其目标节点的长度。
交互式链接捆束技术使得用户能够选择应共享经过自动生成的或用户定义的控制点的共同路径的链接子集。用户可直接操纵这些控制点的位置和大小,以进一步细化捆束路径或调整捆束内链接曲线的间距。
交互式链接磁体技术使得用户能够使用可拖曳图形对象(被称为交互式链接磁体)来利用磁性吸引具有匹配该交互式链接磁体的数据属性的链接。磁性吸引在朝向磁体的方向上更改匹配链接的曲率,从而使匹配链接与节点链接图的其余部分分离,以得到更好的可视化。
交互式链接图例(legend)技术使得用户能够控制作为节点链接图的图例的一部分的模型曲线的形状。用户可与模型曲线上的一个或多个控制点交互,以更改与模型曲线相关联的链接的曲率。得到的曲率然后遍及节点链接图传播到与模型曲线相关联的所有链接。
通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显而易见。应该理解,前面的概括说明和下面的详细描述只是说明性的,不会对所要求保护的各方面形成限制。
附图简述
图1示出了向用户提供控制节点链接图内的链接的曲率的能力的示例性系统。
图2示出了示例性的节点链接图。
图3A-3C是示出交互式链接铺展的示例性图示。
图4是示出交互式链接捆束的示例性图示。
图5A-5C是示出交互式链接磁体的示例性图示。
图6A-6B是示出交互式链接图例的示例性图示。
图7是示出交互式链接曲率处理的示例性方法的流程图。
图8是示出交互式链接铺展的第一示例性方法的流程图。
图9是示出交互式链接铺展的第二示例性方法的流程图。
图10A-10B是示出交互式链接铺展的示例性图示。
图11是示出交互式链接捆束的示例性方法的流程图。
图12是示出交互式链接磁体的示例性方法的流程图。
图13是示出交互式链接图例的示例性方法的流程图。
图14A-14c是示出用于更改交互式链接图例中的链接的曲率的交互的示例性图示。
图15是示出操作环境的框图。
图16是示出示例性计算设备的框图。
具体实施方式
各个实施例涉及用于使得用户能够控制节点链接图中的链接的曲率的技术。当向用户显示节点链接图时,用户可与该图交互并调整该图中一个或多个链接的曲率,以提升该节点链接图的可读性。节点链接图中的链接通过仔细构造的控制点被呈现为画作样条的光滑曲线。链接的曲率可被更改,使得该光滑曲线的幅度和/或倾斜角可被放大,而同时连接到该链接的节点保持在同一位置。通过向用户提供这样的控制,用户能够按照用户的偏好定制链接的视觉显示。
各实施例覆盖四种技术:交互式链接铺展;交互式捆束;交互式链接磁体;以及交互式链接图例。每一技术向用户提供了与节点链接图实时交互的不同的能力。交互式链接铺展技术使得用户能够通过将链接展开或铺展到用户指定的铺展半径来更改连接到节点的链接的曲率。曲线控制点被自动定位,以便实现相邻链接之间的用户指定的最小分离角。关于最小分离角计算用于表示链接的光滑曲线,同时最小化每一链接从其源节点到其目标节点的长度。
交互式链接捆束技术使得用户能够选择应共享经过自动生成的或用户定义的控制点的共同路径的链接子集。用户可直接操纵这些控制点的位置和大小,以进一步细化捆束路径或调整捆束内链接曲线的间距。
交互式链接磁体技术使得用户能够使用可拖曳图形对象(被称为交互式链接磁体)来利用磁性吸引具有匹配该交互式链接磁体的数据属性的链接。磁性吸引在朝向磁体的方向上更改匹配链接的曲率,从而使匹配链接与节点链接图的其余部分分离,以得到更好的可视化。
交互式链接图例(legend)技术使得用户能够控制作为节点链接图的图例的一部分的模型曲线的形状。用户可与模型曲线上的一个或多个控制点交互,以更改与模型曲线相关联的链接的曲率。得到的曲率然后遍及节点链接图传播到与模型曲线相关联的所有链接。
注意力现在转向对使得用户能够交互式控制节点链接图中的链接曲率的的示例性系统的讨论。图1示出了示例性系统100的框图,该系统100仅具有交互式链接曲率处理模块102,该模块102接收节点链接图104以及由用户交互模块106检测到的用户动作。基于所检测到的用户动作,交互式链接曲率处理模块102更改一个或多个链接的曲率,并与样条呈现模块118交接以呈现节点链接图104的经修改部分。
交互式链接曲率处理模块102可包括任何一种或多种交互式链接曲率技术,诸如交互式链接铺展模块110、交互式捆束模块112、交互式链接磁体模块114和/或交互式图例模块116。交互式链接曲率处理模块102根据用户动作修改节点链接图104,从而生成按用户偏好定制的经修改的节点链接图108。
系统100可被实现在计算设备上,计算设备可以是能够执行可编程指令的任何类型的电子设备。计算设备可被实现为移动设备、个人数字助理、移动计算设备、智能电话、蜂窝电话、手持式计算机、服务器、服务器阵列或服务器场、web服务器、网络服务器、因特网服务器、工作站、小型机、大型机、巨型机、网络设备、web设备、分布式计算系统、多处理器系统或其组合。
节点链接图104是具有一组节点和一组链接的图。链接是连接两个连接的边。节点链接图104是可被用于表示任何类型的系统,不作为限制诸如是社交网络、与物理系统相关联的状态机、航空运输网络、计算机程序的数据流、通信网络等等的数据结构。参考图2,示出了具有节点的集合(标记为N1-N19)以及将节点彼此连接的链接的节点链接图104。如图2中所示的,节点链接图104示出了在节点链接图104中难以辨别的链接的密集集合。交互式链接曲率处理模块102被配置成提升节点链接图104内链接的视觉表示,从而提升用户对节点链接图104的理解。
应注意,各实施例不限于节点链接图,而各实施例可适用于其它类型的图形表示,不作为限制诸如树形图、树、图等上的链接覆盖。
回过来参考图1,用户可通过用户交互模块106与交互式链接曲率处理模块102交互。用户交互模块106表示用于处理用户输入的任何功能,用户输入可通过任何类型的输入设备或输入设备的组合来接收。
输入设备可以是鼠标、键盘、触摸屏显示器等。用户交互模块106可检测鼠标点击、键击、手势、触摸、语音命令和任何其它类型的用户动作。当在节点链接图104被显示的同时用户动作被检测到时,用户动作被传送给交互式链接曲率处理模块102。
交互式链接铺展模块110可用于在一个或多个节点处扩展相邻链接之间的分开距离,从而提升与特定节点相关联的链接的可读性。参考图3A,示出了具有节点A 122的节点链接图124的一部分,有9条链接进入节点A 122并有4条链接离开该节点。进入该节点的各链接中的若干链接重叠,使得难以理解链接所表示的流。图3B示出了节点链接图126,它具有与铺展的节点A 122相关联的链接,使得每一链接之间存在空间。每一链接之间的空间可被用于节点链接图128中的每一链接插入标签,即标签1-标签9,如图3C中所示。
回过来参考图1,交互式捆束模块112可被用于允许用户选择用户希望在更清楚地辨别链接的布局中查看的链接的子集。图4示出了交互式捆束技术的示例。用户可通过绘制通过所关注的链接的线条来选择链接的子集。交互式捆束模块112生成链接131的布局,其中捆束中的每一链接134、136、138、140、142之间存在角距,这允许每一链接被容易地辨别。如图4中所示,用户所选的链接被示为显示在衰减圈132中,其中每一链接134、136、138、140、142与每一相邻链接分开达距离S。
回过来参考图1,交互式链接磁体模块114使得用户能够控制与相同的特定数据属性相关联的链接的曲率。数据属性可以是与链接的子集相关联的标识符或标签。例如,节点链接图可包含航线路线,其中每一路线由链接的序列组成。路线中的每一链接可与对应于服务该路线的航线承运商的名字的数据属性相关联。用户可能希望更清楚地查看与特定的航线承运商相关联的链接。可使用虚拟磁体来朝向磁体的位置拉出这些链接,使得这些链接可从节点链接图104中的其余链接中辨别出。
图5A示出了具有三个链接152、154、156和节点148、150的节点链接图的一部分。图5B示出了吸引链接158的磁体160的放置,链接158具有同与该磁体相关联的数据属性匹配的数据属性。磁体160的磁场强度在不更改节点148、150的放置的情况下更改链接158的曲率。如图5B中所示,磁力的方向由角度∝示出,磁体的力量将链接从链接的原始位置拉开半径距离r1。半径r2是新曲率到磁体中心的距离。磁体160将链接的曲率更改为由控制点c1-c5定义的曲线,这些控制点被用于生成表示经修改的链接158的样条曲线。
尽管链接磁体被示为具有清晰的中心点的圆形形状,磁场强度由半径表征,但也可使用诸如多段线磁体的其它形状。例如,图5C示出了具有排列成线性格式的两个磁体164、166的线磁体168。每一磁体164、166如上参考图5B所述地操作,向用户提供在节点链接图的较宽广的区域上控制若干链接的曲率的能力。
回过来参考图1,交互式图例模块116允许用户通过更改表示在作为节点链接图的一部分的图例中所示的链接的曲率的模型曲线来控制共享共同属性的链接的子集的曲率。参考图6A,示出了图示某种菌株的反应的节点链接图168。节点链接图168是有向图,其中每一源节点表示基质,而目的地节点是产物。源和目的地节点之间的链接表示菌株。节点链接图168具有示出与节点链接图168中的每一菌株相关联的模型曲线的图例170。存在与表示酿脓链球菌(reptococcus-pyogenes)株系相关联的链接的模型曲线178、与表示智人(mo-sapiens)株系的链接相关联的模型曲线180、和与表示大肠杆菌(cherichia-coli)株系的链接相关联的模型曲线182。
每一模型曲线具有相应的控制点172、174、176。用户可使用与特定菌株相关联的模型曲线上的控制点来更改与同一菌株相关联的所有链接的曲率的幅度和倾斜角。对模型曲线作出的修改然后遍及节点链接图被传播回与关联于该模型曲线的特定菌株相关联的所有链接。图6B示出了遍及整个节点链接图186传播的链接曲率修改。
回过来参考图1,样条呈现模块118可被用于绘制节点链接图中的经修改的链接。链接被构造为可被实现为样条(例如,贝赛尔样条即B样条曲线、基数样条等)的曲线。B样条曲线是连接在一起以形成连续曲线的曲线段的序列。B样条通常由四个控制点和一组多项式方程来定义。样条呈现模块118使用控制点的坐标以及表示曲线的该组多项式方程来构造曲线。
B样条曲线由控制点和结点(knot)向量来定义。结点向量包含一组结点,其中每一结点是曲线上将该曲线细分成曲线段的位置。结点的值被用于在不改变整个曲线的形状的情况下改变特定曲线段的形状。交互式链接曲率处理模块102更改B样条曲线的一个或多个曲线段,以便生成符合用户动作的一个或多个链接的曲率。
为说明目的,参考B样条曲线描述了一些实施例。然而,这些实施例不限于B样条曲线,且可利用其它这样的光滑曲线,不作为限制诸如有二次或三次贝赛尔曲线、均匀或基数样条等。
交互式链接铺展模块110、交互式捆束模块112、交互式链接磁体模块114、交互式图例模块116和样条呈现模块118可以是计算机程序指令的序列,这些指令在被处理器执行时,使得处理器根据所规定的任务执行方法和/或操作。这些模块可被实现为程序代码、程序、过程、模块、代码段、程序栈、中间件、固件、方法、例程等。可执行的计算机程序指令可根据用于指示计算机执行特定功能的预定义的计算机语言、方式或句法来实现。这些指令可以使用任何合适的高级、低级、面向对象、可视、编译、和/或解释编程语言来实现。
交互式链接铺展模块110、交互式捆束模块112、交互式链接磁体模块114和/或交互式图例模块116中的任何一个或组合可被实现为利用计算机图形来可视化图和/或图的软件应用。这样的软件应用的示例可包括但不限于:集成开发环境(IDE)、电子表程序、图形或图编辑器、页面布局或设计软件、web浏览器、演示图形应用、文字处理应用等。
尽管图1中示出的系统100具有按照某种配置的有限数量的元件,但应理解,系统100可以在替换配置中包括更多或更少的元件。而且,在各个实施例中,在此描述的系统100可包括具有多个元件、程序、过程、模块的计算机实现的系统。如此处所使用地,这些术语旨在指代与计算机相关的实体,包括硬件、硬件和软件的组合或软件中的任一个。例如,元件可被实现为在处理器上运行的进程、硬盘驱动器、多个(光和/或磁存储介质的)存储驱动器、对象、可执行代码、执行的线程、程序、和/或计算机。作为说明,在服务器上运行的应用和服务器两者都可以是元件。一个或多个元件可以驻留在执行的进程和/或线程内,且元件可以视给定实现所需而位于一个计算机上和/或被分布在两个或更多计算机之间。各实施例不限于这种方式。
Attention now turns to various exemplary methods.可以理解,除非另外指明,否则代表性的方法不一定要按所呈现的次序或者按任何特定次序来执行。而且,参考这些方法描述的各种活动可按照串行或并行的方式、或串行和并行操作的任何组合执行。视给定的一组设计和性能约束的需要,方法可使用所述实施例或替换实施例的一个或多个硬件元件和/或软件元件来实现。例如,方法可被实现为供逻辑设备(例如,通用或专用计算机)执行的逻辑(例如,计算机程序指令)。
图7示出了用于修改节点链接图中的链接的曲率的示例性方法200的流程图。应注意,方法200可表示由此处所述的一个或多个实施例执行的某些或全部操作,且该方法可包括比图7中所述的操作或多或少的操作。
参考图7,在第一布局中向用户显示节点链接图(框202)。用户交互模块106检测到在节点链接图上执行的用户动作(框204)。基于用户动作,交互式链接曲率方法之一可被激活。如果用户进行了触摸、手势等以铺展节点的链接(框206-是),则交互式链接曲率方法可被执行(框208)。否则(框206-否),如果用户在节点链接图上绘制经过一组链接的线条(框210-是),则交互式链接捆束方法可被执行(框212)。否则(框210-否),如果用户促进了磁体的使用(框214-是),则交互式链接磁体方法可被执行(框216)。否则(框214-否),如果用户与图例中所建模的曲线上的控制点交互(框218-是),则交互式链接图例方法可被执行(框220)。否则(框218-否),该过程等待下一用户动作(框204)。在完成了每一方法(框208、212、216、220)的执行时,向用户显示节点链接图的新布局(框209),且过程等待下一用户动作(框204)。
图8示出了用于执行交互式链接铺展的示例性方法208的流程图。应注意,方法208可表示由此处所述的一个或多个实施例执行的某些或全部操作,且方法可包括比图8中所述的操作或多或少的操作。
在交互式链接铺展中,连接到一节点的相邻链接之间的间距被增加,以便提升连接到特定节点的链接的可读性。相邻链接之间增加的间距允许插入图例或其它标记以便与链接相关联。在一个或多个实施例中,可相邻链接之间的分开距离可被计算为相同大小,即使这会导致增加链接到其目标节点的长度。在其它实施例中,在服从最小化每一链接从焦点节点到其各自的目标节点的长度以及最小化链接交叉的数目的情况下,相邻链接之间的分开距离可被计算为产生所需展开半径所需的最小大小。
对交互式链接铺展模块110的输入可以如下:(1)附连于所选或焦点节点的一组链接;(2)焦点节点的中心点;(3)附连于焦点节点的链接中每一链接的目标节点的中心点;(4)焦点节点中心周围内圈的最小半径r1,用于确定内部曲线段的控制点;(5)附加的同心圆的数量,其中每一圆圈被用于确定附加样条段的控制点;(6)相邻链接之间的最小间距S;和/或(7)同心圆中每一圆圈的最小半径r1-rn。每一同心圆被用于确定附加样条段的控制点。交互式链接铺展模块的输出是表示构成每一链接经修改的曲率的曲线段的控制点。
交互式链接铺展模块110通过确定将从焦点节点的中心到每一目标节点的中心铺设直线的控制点,来确定每一链接的初始放置。这些控制点被置于内圈的圆周上。这些控制点表示从焦点节点到其目标节点的最短距离,或链接的最小长度。
然后以顺时针的次序分析链接。不满足最小分离角的每一链接然后被置于前一链接的链中,而超过最小分离角的那些链接被置于新链中。每一链包含不满足最小间距要求的相邻链接。在访问所有链接之后,可能存在一组链。
然后使用普式(Procrustes)分析铺展每一链中的链接,以满足最小分离角。普式分析是用于找出指示链中每一链接要移动多少来达到最小分离角的刚性尺度和/或旋转不变约束的投影的数学技术。这一投影允许为每一链接确定最佳移动,同时尽可能地少地移动其它链接。普式分析允许对实时执行的移动判断进行快速处理。然而,在铺展之后,在链之间可创建新的重叠,其中链接可被放置得离相邻链接太近。为此,链被重新分析,且可重新应用铺展。
参考图8,用户交互模块106可检测到用户触摸了节点(框222)。用户可使用两个手指的手势来选择一节点,并同时控制封装该节点的圆圈的半径(即,铺展或展开半径)(框222)。参考图10A,示出了可被用于启动节点244上的交互式链接铺展的两个手指的手势。右手246的食指可被用于选择节点244,而左手250的食指可被用于控制初始铺展半径248。
回过来参考图8,相邻链接之间的最小间距和同心圆的数目被确定(框224)。相邻链接之间的最小间距S可以是用户指定以给出合意的最小角的任何间距,但应处于以下范围中:S<=(链接的数目)/(内圈的周长)。内圈的周长是基于用户所提供的铺展半径的。附加的同心圆的数目和维度可以是用户输入,或可按最长链接的长度来自动确定。附加的同心圆中最大的同心圆的半径不会超过离焦点节点最远的目标节点的距离。每一同心圆产生一组控制点,这些控制点被用于生成样条段,当其与来自其它同心圆的控制点组合时形成链接的曲率。
然后确定链接的次序(框226)。在一个或多个实施例中,次序可基于链接的端点自焦点节点的中心的顺时针位置(框226)。接下来,初始控制点被置于内圈的圆周上,其中控制点将产生具有从焦点节点的中心到其目标节点的中心的最短长度的曲线。然后,为每一链接确定分离角,使得最小分离角被满足,同时最小化每一链接从焦点节点的中心到目标节点的中心的长度(框230)。为需要生成附加的控制点的每一附加的同心圆重复框226-230。如果需要附加的圆圈(框232-是),则重复框226-230。当所有的圆圈已被处理(框232-否)时,则每一链接被绘制为经过控制点的光滑曲线(框234)。
图9示出了用于为每一链接确定分离角的步骤。以之前在框226中确定的顺时针次序分析每一链接(框236)。如果链接和相邻链接之间的当前分离角小于所需最小分离角,则该链接被置于以顺时针次序在其之前的链接的链中(框238)。控制点被置于满足最小分离角的当前圆圈的圆周上(框238)。如果链接和相邻链接之间的当前分离角大于最小分离角,则该链接被置于新链中(框240)。在分析了所有链接之后,于是分析每一链。
对每一链(框242),使用普式分析来为链中的每一链接确定满足最小分离角并最小化链接的长度的控制点(框244)。该过程返回到图8。
图10B示出了使用两个同心圆:内圈256,具有半径r1;以及外圈258,具有半径r2来应用于节点252的交互式铺展的示例。链接260可曲率从利用控制点c1、c2、c3、c5的曲线段形成。内圈256上的链接253和255之间的分离角S1满足最小分开距离,而外圈258上的链接259和261之间的分离角S2满足最小分开距离。
注意力现在转向交互式捆束。图11示出了用于执行交互式捆束的示例性方法212的流程图。应当注意,方法212可表示由此处所述的一个或多个实施例执行的某些或全部操作,且方法可包括比图11中所述的操作更多或更少的操作。
参考图4和11,用户可通过放置经过所关注的一组链接的线来指示其捆束该组链接的偏好。可通过来自用户的计算设备的键击、鼠标点击、触摸、手势等等在节点链接图104上标记线。线被用于创建以线的中点为中心的衰减圈132。衰减圈132内的链接用彼此较大的焦距来显示,从而使其对用户更为可见。
当在链接之间存在最小交叉时,链接被更好地观看。为此,交互式捆束模块112确定最小化节点之间出现的链接交叉的数目的进入和离开节点的链接的次序。确定这样的次序的问题是经典的地铁线交叉最小化问题。交互式捆束模块112可利用对地铁线交叉最小化问题的公知解决方案中的任何一个来确定这样的次序(框266)。接下来,呈现每一链接经修改的链接曲率所需的样条被确定(框268)。确定衰减圈的大小的默认值(即,R,衰减圈的半径)和两个相邻链接之间所需的最小间距S。衰减圈132然后可被呈现在用户的显示器上,显示具有经修改的链接曲率的链接(框270)。
用户然后可编辑衰减圈132(框272)。用户可编辑进入衰减圈132的链接,可调整衰减圈132的大小,或可对链接或衰减圈132作出任何其它类型的编辑(框272)。用户对链接和/或衰减圈作出的编辑可更改R和S的值,从而要求交互式捆束模块112重新计算衰减圈132中示出的链接曲率。在这一情况下(框272-是),交互式捆束模块112重复框266-272中示出的处理。当用户没有对经捆束的链接或衰减圈132(框272-否)的进一步编辑时,方法于是返回到图7。
图12示出了交互式链接磁体技术的示例性方法216的流程图。应注意,方法216可表示由此处所述的一个或多个实施例执行的某些或全部操作,且方法可包括比图12中所述的操作或多或少的操作。
链接磁体是模拟物理磁体的行为的视觉化技术。物理磁体具有磁力,磁力将具有铁磁材料的物体拉向它,并排斥由其它类型的材料组成的物体。物理磁体的磁力在自该磁体的中心的给定半径内延续。链接磁体被配置成将与特定数据属性相关联的链接拉向它。链接磁体可具有使其能够吸引链接磁体的半径内的链接的磁场强度。向用户提供指定磁体的磁场强度以及该磁体被吸引的一个或多个数据属性的能力。链接磁体可被实现为可拖曳图形软件,该软件被编程以搜索给定半径内具有共同数据属性的链接以及朝向磁体移动链接的曲率。
参考图12,交互式链接磁体模块114检测置于链接子集上的磁体的使用(框274)。链接磁体然后检测磁体的磁场强度内或所规定的半径内的链接,磁体的磁场强度内或所规定的半径与匹配关联于该链接磁体的数据属性的一数据属性相关联。对这些匹配的链接,交互式链接磁体模块114生成在用户通过链接磁体所运用的方向和距离上呈现每一匹配链接的经修改的曲率所需的控制点(框278)。样条呈现模块118然后向用户呈现具有经修改的曲率形状的匹配链接(框280)。
注意力现在转向交互式链接图例技术。图13示出了交互式链接图例技术的示例性方法216的流程图。应注意,方法218可表示由此处所述的一个或多个实施例执行的某些或全部操作,且方法可包括比图13中所述的操作或多或少的操作。
用户通过修改与节点链接图相关联的图例中所示的所标识的类型的模型曲线的曲率来控制一组链接的曲率(框282)。在一个或多个实施例中,模型曲线可以基于B样条。参考图14A,示出了具有基于B样条的模型曲线的图例288。图例示出了源节点290和目标节点292之间的链接294的模型曲线。通过与曲线上的单个点c1的交互,链接294被用户修改以增加模型曲线的幅度d和倾斜角∝。根据用户在模型曲线上的动作,制定控制点c2-c5以生成新的曲率。然而,因为新的曲率被传播给相同类型的其它链接,由于每一链接各自的源和目的地节点之间变化的距离,对曲率存在强烈的变化。为此,参考图14B描述了模型曲线的另一实施例,该实施例独立于每一链接的源和目的地节点之间的距离保存了链接的幅度和总体形状。
图14B示出了基于具有正弦曲线的模体的交互式模型曲线296。用户可通过与曲线上的两个点c1和c2交互,来控制正弦曲线的幅度和周期性。如图14C中所示的新曲率298可容易地在具有一致的曲率的每一相应的链接上重复,因为它独立于每一链接的相应的源和目的地节点之间的距离。
回过头来参考图13,基于对模型曲线作出的修改,交互式链接图例模块115生成遍及节点链接图更改所标识的类型的链接的曲率所需的必要的几何数据(框284)。这一几何数据然后被用于遍及节点链接图向所标识的类型的链接呈现新曲率(框286)。
注意力现在转向对示例性操作环境的讨论。图15示出了操作环境300。应当注意,操作环境300仅是示例性的而不旨在对各实施例的功能提出任何限制。该实施例可被应用于具有一个或多个客户机302的操作环境300,这些客户机通过通信框架304与一个或多个服务器306通信。操作环境300可以在网络环境、分布式环境、多处理器环境、或能够访问远程或本地存储设备的独立计算设备中配置。
客户端302可被实现为硬件设备、软件模块或其组合。这种硬件设备的示例可包括但不限于计算机(例如,服务器、个人计算机、膝上型计算机等)、蜂窝电话、个人数字助理或任何类型的计算设备等。客户端302还可被实现为具有在单个执行路径中、多个并发的执行路径(例如,线程、进程等)中或以任何其他方式执行的指令的软件模块。
服务器306可被实现为硬件设备、软件模块或其组合。这种硬件设备的示例可包括但不限于计算机(例如,服务器、个人计算机、膝上型计算机等)、蜂窝电话、个人数字助理或任何类型的计算设备等。服务器306还可被实现为具有在单个执行路径中、多个并发的执行路径(例如,线程、进程等)中或以任何其他方式执行的指令的软件模块。
通信框架304促进客户端302和服务器306间的通信。通信框架304可以实现任何公知通信技术,如适用于与分组交换网络(例如,诸如因特网等公共网络、诸如企业内联网等专有网络,等等)、电路交换网络(例如,公共交换电话网)、或分组交换网络和电路交换网络的组合(使用合适的网关和转换器)一起使用的技术。客户端302和服务器306可以包括被设计成可与通信框架304进行互操作的各种类型的标准通信元件,如一个或多个通信接口、网络接口、网络接口卡、无线电装置、无线发射机/接收机、有线和/或无线通信介质、物理连接器等。有线通信介质的示例可以包括导线、电缆、金属线、印刷电路板、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤、所传播的信号等。无线通信介质的示例可以包括声学、射频频谱、红外和其他无线介质。
每一客户端302可耦合到一个或多个客户端数据存储308,该数据存储308存储在该客户端302本地的信息。每一服务器306可耦合到一个或多个服务器数据存储310,该数据存储存储在该服务器306本地的信息。
图16示出了示例性计算设备312的框图。计算设备312可具有一个或多个处理器314、显示器316、网络接口318、存储器320和用户输入接口322。处理器314可以是市场上可购得的任何处理器,且可包括双微处理器和多处理器体系结构。显示器316可以是任何视觉显示单元,包括具有触摸能力的显示器。网络接口318促进了计算设备312和网络之间的有线或无线的通信。用户输入接口322促进计算设备312与诸如键盘、鼠标、触摸屏等输入设备之间的通信。
存储器320可以是可存储可执行过程、应用和数据的任何计算机可读的存储介质。计算机可读介质不属于传播信号,诸如通过载波发射的调制数据信号。它可以是任何类型的存储器设备(例如,随机存取存储器、只读存储器等)、磁存储、易失性存储、非易失性存储、光存储、DVD、CD、软盘驱动器等。存储器320还可包括一个或多个外部存储设备或位于远程的存储设备。存储器320可存储可执行计算机程序指令,在指令被处理器执行时,使得处理器执行根据所描述的实施例的方法和/或操作。可执行的计算机程序指令可根据用于指示计算机执行特定功能的预定义的计算机语言、方式或句法来实现。这些指令可以使用任何合适的高级、低级、面向对象、可视、编译、和/或解释编程语言来实现。
存储器320可包含如下指令和数据:
·操作系统324;
·节点链接图104;
·用户交互模块106;
·交互式链接铺展模块110;
·交互式捆束模块112;
·交互式链接磁体模块114;
·交互式链接图例模块116;
·样条呈现模块118;以及
·各种其它应用和数据326。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (10)

1.一种计算机实现的方法,包括:
在第一视觉布局中显示节点链接图,所述节点链接图具有多个节点和多个链接,每一链接是连接源节点和目标节点的曲线;
检测对所显示的节点连接图的用户动作,所述用户动作指示对与链接的子集相关联的一个或多个链接的曲率的修改;以及
生成第二视觉布局,第二视觉布局用不同于所述第一布局的每一链接的经修改的曲率显示所述子集中的每一链接,经修改的形状在不改变连接到所述子集中每一链接的源节点和目标节点的位置的情况下更改每一链接的曲率。
2.如权利要求1所述的计算机实现的方法,其特征在于,所述检测步骤还包括:
由用户标识所述第一视觉布局中的焦点节点,以及所述焦点节点的铺展半径;以及
基于所述铺展半径展开连接到所述焦点节点的相邻链接之间的距离。
3.如权利要求2所述的计算机实现的方法,其特征在于,进一步包括:
为连接到所述焦点节点的每一链接确定满足用户指定的最小分离角并最小化链接交叉的相邻链接之间的分离角。
4.如权利要求3所述的计算机实现的方法,其特征在于,进一步包括:
在服从所述相邻链接之间的最小用户指定的间距的情况下,最小化从所述焦点节点的中心到目标节点的中心的每一链接的长度。
5.如权利要求3所述的计算机实现的方法,其特征在于,进一步包括:
在相邻链接之间的分离角内插入标签。
6.一种其上存储有处理器可执行指令的计算机可读存储介质,包括:
当在处理器上被执行时向用户显示节点链接图的指令,所述节点链接图具有多个节点和链接,每一链接是将源节点连接到目标节点的曲线;
当在处理器上被执行时检测对所述节点链接图作出的用户动作以激活对所述节点链接图中一个或多个链接的曲率的修改的指令;以及
当在处理器上被执行时在不改变每一链接的源节点的位置和每一链接的目标节点的位置的情况下基于所检测到的用户动作确定一个或多个链接的经修改的曲率的指令。
7.如权利要求6所述的计算机可读存储介质,其特征在于,还包括:
当在处理器上被执行时使得用户能够与所述节点链接图中的链接交互以标识其相邻链接之间的分离角要根据第一用户动作修改的链接捆束的指令。
8.如权利要求7所述的计算机可读存储介质,其特征在于,还包括:
当在处理器上被执行时检测指示对所述链接捆束中的链接的重新安排的第二用户动作的指令;以及
当在处理器上被执行时响应于所述第二用户动作显示所述捆束中所述链接的重新安排的指令。
9.如权利要求6所述的计算机可读存储介质,其特征在于,还包括:
当在处理器上被执行时使得用户能够利用交互式链接磁体来控制匹配与所述交互式链接磁体相关联的数据属性的一个或多个链接的曲率的指令。
10.如权利要求6所述的计算机可读存储介质,其特征在于,还包括:
当在处理器上被执行时使得用户能够控制模型曲线中的一个或多个控制点以更改与所述节点链接图中的所述模型曲线相关联的所有链接的曲率的指令。
CN201380014423.2A 2012-03-15 2013-03-01 对链接曲率的交互式控制 Active CN104169852B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/421,855 2012-03-15
US13/421,855 US8832582B2 (en) 2012-03-15 2012-03-15 Interactive control of the curvature of links
PCT/US2013/028480 WO2013138084A1 (en) 2012-03-15 2013-03-01 Interactive control of the curvature of links

Publications (2)

Publication Number Publication Date
CN104169852A true CN104169852A (zh) 2014-11-26
CN104169852B CN104169852B (zh) 2017-11-07

Family

ID=49158887

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380014423.2A Active CN104169852B (zh) 2012-03-15 2013-03-01 对链接曲率的交互式控制

Country Status (6)

Country Link
US (3) US8832582B2 (zh)
EP (1) EP2825946B1 (zh)
JP (1) JP6126679B2 (zh)
KR (1) KR102092979B1 (zh)
CN (1) CN104169852B (zh)
WO (1) WO2013138084A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150199454A1 (en) * 2014-01-10 2015-07-16 Brigham Young University Concurrent design and analysis of an engineering object
GB2532766A (en) * 2014-11-27 2016-06-01 Ibm Interaction with a graph for device control
US20180173688A1 (en) * 2016-12-15 2018-06-21 Myscript System and method for management of handwritten diagram connectors
US11310121B2 (en) * 2017-08-22 2022-04-19 Moovila, Inc. Systems and methods for electron flow rendering and visualization correction
KR102113508B1 (ko) 2018-07-12 2020-05-22 한국과학기술연구원 촉각피드백 장치

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5363479A (en) 1992-07-02 1994-11-08 Microsoft Corporation System and method for rendering bezier splines
US5619632A (en) 1994-09-14 1997-04-08 Xerox Corporation Displaying node-link structure with region of greater spacings and peripheral branches
US5751931A (en) * 1995-04-18 1998-05-12 Lucent Technologies Inc. Three dimensional graphical display of information
US5798769A (en) 1996-08-15 1998-08-25 Xerox Corporation Method and apparatus for maintaining links between graphic objects in a free-form graphics display system
US6154212A (en) * 1997-11-06 2000-11-28 Lucent Technologies Inc. Method and apparatus for constructing network interfaces
US6377259B2 (en) * 1998-07-29 2002-04-23 Inxight Software, Inc. Presenting node-link structures with modification
US8232995B2 (en) * 1998-07-29 2012-07-31 SAP America, Inc. Local relative layout of node-link structures in space with negative curvature
US6732114B1 (en) 2000-11-01 2004-05-04 Microsoft Corporation System and method for creating a customizable network diagram
JP3790679B2 (ja) * 2001-04-06 2006-06-28 インターナショナル・ビジネス・マシーンズ・コーポレーション グラフデータ視覚化装置、グラフィックス作成方法、プログラム及び記憶媒体
US7110389B2 (en) 2001-11-19 2006-09-19 International Business Machines Corporation Fanning route generation technique for multi-path networks
JP2007317070A (ja) * 2006-05-29 2007-12-06 Itochu Techno-Solutions Corp トポロジーグラフ表示システムおよびコンピュータプログラム
US7656405B1 (en) * 2007-05-10 2010-02-02 At&T Corp. System and method for generating circular layout graphs
US7932907B2 (en) 2007-05-21 2011-04-26 Microsoft Corp. Layered graph layouts with a given aspect ratio
US8826174B2 (en) * 2008-06-27 2014-09-02 Microsoft Corporation Using visual landmarks to organize diagrams
US20110154234A1 (en) 2009-12-18 2011-06-23 Microsoft Corporation Layout projection using non-linear constraints
US8933937B2 (en) 2010-01-22 2015-01-13 Microsoft Corporation Visualizing a layered graph using edge bundling
CN101859224B (zh) * 2010-04-30 2012-04-18 陈铸 一种从数字图片图像中抠取目标对象的方法和系统
JP5343048B2 (ja) 2010-07-29 2013-11-13 日立ビークルエナジー株式会社 蓄電モジュールおよび蓄電装置
US9443334B2 (en) * 2011-05-05 2016-09-13 Microsoft Technology Licensing, Llc Routing edges with ordered bundles

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
WONG N, CARPENDALE S, GREENBERG S: "edgelens:An Interactive Method for Managing Edge Congestion in Graphs", 《INFORMATION VISUALIZATION, 2003. INFOVIS 2003》 *
WONG N, CARPENDALE S: "Supporting Interactive Graph Exploration Using Edge plucking", 《ELECTRONIC IMAGING 2007. INTERNATIONAL SOCIETY FOR OPTICS AND PHOTONICS, 2007》 *

Also Published As

Publication number Publication date
US10635284B2 (en) 2020-04-28
US20130246958A1 (en) 2013-09-19
EP2825946A1 (en) 2015-01-21
US20140337803A1 (en) 2014-11-13
EP2825946A4 (en) 2016-06-15
CN104169852B (zh) 2017-11-07
KR20140136446A (ko) 2014-11-28
KR102092979B1 (ko) 2020-03-24
US8832582B2 (en) 2014-09-09
US20180210638A1 (en) 2018-07-26
US9940005B2 (en) 2018-04-10
JP6126679B2 (ja) 2017-05-10
JP2015521302A (ja) 2015-07-27
EP2825946B1 (en) 2018-12-12
WO2013138084A1 (en) 2013-09-19

Similar Documents

Publication Publication Date Title
Ahmad et al. Design and implementation of cloud-centric configuration repository for DIY IoT applications
US9361068B2 (en) System and method for using development objectives to guide implementation of source code
CN103038760B (zh) 分布式处理器系统中的数据组播的方法、设备及系统
KR102164418B1 (ko) 머신 비전 시스템들을 위한 비주얼 프로그램을 제공하기 위한 장치들, 시스템들 및 방법들
CN104169852A (zh) 对链接曲率的交互式控制
Imran et al. Design and implementation of thermal comfort system based on tasks allocation mechanism in smart homes
CN106155635A (zh) 一种数据处理方法和装置
Yang et al. Extended reality application framework for a digital-twin-based smart crane
CN110377209B (zh) 一种通过拖拽实现可视化流程配置的方法及装置
Scardoni et al. Finding the shortest path with PesCa: a tool for network reconstruction
El Hafi et al. Software development environment for collaborative research workflow in robotic system integration
US20190266183A1 (en) Unbounded list processing
CN109829004A (zh) 基于无人车的数据处理方法、装置、设备以及存储介质
Gebhardt et al. Vista widgets: a framework for designing 3D user interfaces from reusable interaction building blocks
US20120141972A1 (en) Untangled Euler Diagrams
Grappiolo et al. Vitrovo: in vitro assembly search for in vivo adaptive operator guidance: An artificial intelligence framework for highly customised manufacturing
Kapllani et al. Loop Order Analysis of Weft-Knitted Textiles
Sanvordenker Visualization and testing of an autonomously driving truck’s SysML models in a virtual 3D simulation environment
Rettkowski et al. ASIR: application-specific instruction-set router for NoC-based MPSoCs
US20150363096A1 (en) Defining a design plan
Melkonian et al. RHEA: a reactive, heterogeneous, extensible, and abstract framework for dataflow programming
Ribeiro et al. Multiagent mechatronic systems with simulation on the loop
Vinh et al. Knotting task execution based a hand-rope relation
Daszczuk Modeling and Verification of Asynchronous Systems Using Timed Integrated Model of Distributed Systems
US20150178443A1 (en) Computer-implemented method for designing a biological model

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150720

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150720

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant