CN102129344A - 经由用户姿势识别的布局约束操纵 - Google Patents

经由用户姿势识别的布局约束操纵 Download PDF

Info

Publication number
CN102129344A
CN102129344A CN2011100262871A CN201110026287A CN102129344A CN 102129344 A CN102129344 A CN 102129344A CN 2011100262871 A CN2011100262871 A CN 2011100262871A CN 201110026287 A CN201110026287 A CN 201110026287A CN 102129344 A CN102129344 A CN 102129344A
Authority
CN
China
Prior art keywords
user
posture
diagrammatic sketch
constraint
path
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
CN2011100262871A
Other languages
English (en)
Other versions
CN102129344B (zh
Inventor
F·O·温特尼茨
K·R·罗恩
T·G·杜耶
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 CN102129344A publication Critical patent/CN102129344A/zh
Application granted granted Critical
Publication of CN102129344B publication Critical patent/CN102129344B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • 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/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • 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
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

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)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本文中描述了姿势识别的布局约束操纵。本文中描述了用于使图表系统的用户能够选择示图的元素并对其应用布局约束的系统和方法。根据本文中所描述的某些实施例,该系统和方法向用户提供用于以比由常规图表系统所提供的界面更快速、更简单且更直观的方式执行这些任务的手段。例如,根据在本文中描述的至少一个实施例,获得单个用户姿势,且选择示图中将对其应用布局约束的元素以及选择布局约束的步骤都是基于该单个用户姿势来执行的。

Description

经由用户姿势识别的布局约束操纵
技术领域
本发明涉及一种用于使图表系统的用户能够选择示图的元素并对其应用布局约束的系统和方法。
背景技术
存在使得用户能够创作和编辑图形示图的计算机实现的图表系统。为了便于创作诸如复杂网络图或图形等复杂示图,某些图表系统包括称为自动布局的特征。根据此特征,图表系统基于指定将被包括在示图中的元素以及其间的任何关系的数据、以及管理诸如示图元素的大小和位置之类的某些布局考虑的一组规则和算法来生成示图。
一些支持自动布局的图表系统还支持用户定义布置约束。布局约束指定示图中的某些元素之间的永久布局关系。布局约束提供用户藉由其可修改或微调示图而无需显式地定位示图元素的手段。当用户定义关于示图元素的布局约束时,图表系统设立示图元素之间的永久布局关系,在后继交互中维持该永久布局关系。维持布局约束直至用户显式地移除它之时。布局约束包括但不限于控制示图元素的对齐、示图元素的分布、以及示图元素之间的间隔的约束。
与支持用户定义布局约束的某些常规图表系统相关联的用户界面的局限在于,为了应用布局约束,用户必须先选择约束所涉及的元素,并且随后必须分开地选取应用哪种类型的约束。
发明内容
文本中描述了用于使图表系统的用户能够选择示图的元素并对其应用布局约束的系统和方法。根据本文中所描述的某些实施例,该系统和方法向用户提供用于以比由常规图表系统所提供的界面更快速、更简单且更直观的方式执行这些任务的手段。例如,根据将在本文中描述的至少一个实施例,获得单个用户姿势,且选择示图中将对其应用布局约束的元素以及选择布局约束的步骤都是基于该单个用户姿势来执行的。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用于限定要求保护的主题的范围。另外,值得注意的是,本发明并不限于在本文献的具体实施方式和/或其他其它部分中描述的具体实施例。这些实施例在此描述仅出于示例的目的给出。基于本文中包含的教示,其它的实施例对于相关领域的技术人员来说将是显而易见的。
附图说明
合并在此并作为说明书一部分的附图与说明书一起示出了本发明的实施例,且进一步用于解释本发明的原理的作用,并且使相关领域的技术人员能够实现并使用本发明。
图1是便于经由用户姿势识别操纵用户定义布局约束的示例图表系统的框图。
图2是示出根据一示例实施例的图表模块中的组件的框图。
图3是描绘根据示例实施例用于经由用户姿势识别操纵用户定义布局约束的方法的流程图。
图4是描绘一种用于基于经由一个或多个用户输入设备接收到的输入标识用户姿势的方法的流程图。
图5描绘呈现到显示设备的示例性示图的一部分。
图6描绘图5的示例性示图中由用户姿势定义的路径已被映射到其的一部分,其中该路径贯穿示图的元素。
图7描述在已对被贯穿的元素应用水平对齐约束之后图5和6的示例性示图的一部分。
图8是描述用于基于由用户姿势定义的路径贯穿示图的一个或多个元素的方式选择将应用于示图元素的布局约束的方法的流程图。
图9描述呈现到显示设备的示例性示图中由用户姿势定义的路径已被映射到其的一部分,其中该路径贯穿示图的元素的方式指示对角线对齐约束将被应用于被贯穿的元素。
图10描述在已对被贯穿的元素应用对角线对齐约束之后图9的示例性示图的一部分。
图11描述呈现到显示设备的示例性示图中由用户姿势定义的路径已被映射到其的一部分,其中该路径贯穿示图的元素的方式指示水平对齐约束将被应用于被贯穿的元素。
图12描述在已对被贯穿的元素应用水平对齐约束之后图11的示例性示图的一部分。
图13描述呈现到显示设备的示例性示图中由用户姿势定义的路径已被映射到其的一部分,其中该路径贯穿示图的元素的方式指示垂直对齐约束将被应用于被贯穿的元素。
图14描述在已对被贯穿的元素应用垂直对齐约束之后图13的示例性示图的一部分。
图15描述呈现到显示设备的示例性示图中由用户姿势定义的路径已被映射到其的一部分,其中该路径贯穿示图的元素的方式指示环形对齐约束将被应用于被贯穿的元素。
图16描述在已对被贯穿的元素应用环形对齐约束之后图15的示例性示图的一部分。
图17描绘呈现到显示设备的示例性示图中由用户姿势定义的路径已被映射到其的一部分,其中该路径形成包围示图的各个元素的形状。
图18描述在已对被包围的元素应用编组约束之后图17的示例性示图的一部分。
图19描述呈现到显示设备的示例性示图中由用户姿势定义的路径已被映射到其的一部分,其中该路径贯穿示图的元素的方式指示水平对齐约束将被应用于被贯穿的元素。
图20描述在已对被贯穿的元素应用水平对齐约束之后图19的示例性示图的一部分,该水平对齐约束是通过对齐被贯穿的元素的端口来实现的。
图21是描绘用于使用用户姿势来将涉及第一组示图元素的布局约束与第二组示图元素进行关联的方法的流程图。
图22示出了可用于实现实施例的各个方面的示例性计算机系统。
根据以下阐述的详细描述并结合附图,本发明的特征和优点将变得更明显,在所有附图的描述中,相同的附图标记通篇标识相对应的元素。在附图中,相同的附图标记通常指示相同的、功能相似的、和/或结构相似的元素。元素首次出现的附图由相应附图标记中最左边的数字来指示。
具体实施方式
I.介绍
以下详细描述涉及解说了本发明的示例性实施例的附图。然而,本发明的范围不限于这些实施例,而由所附权利要求来定义。因此,那些超出附图中所示的实施例,诸如示例的实施例的修改版,也仍然被本发明所覆盖。
说明书中提到的“一个实施例”、“一实施例”、“示例实施例”等指示所描述的实施例可包括具体特征、结构或特性,但并不是每个实施例都必须包含该具体特征、结构或特性。此外,这类短语也并不一定指代相同实施例。此外,当结合实施例描述具体特征、结构或特性时,应当理解在相关领域的技术人员的知识范围内能够结合其他实施例来实现具体特征、结构或特性,无论是否被显式地描述。
II.用于经由用户姿势识别操纵布局约束的示例系统和方法
图1是便于经由用户姿势识别操纵用户定义布局约束的示例图表系统100的框图。如图1中所示的,图表系统100包括基于处理器的计算平台102、连接到计算平台102的显示设备104、以及也连接到计算平台102的一个或多个用户输入设备106。图表系统100旨在宽泛地表示出于用户的利益能在其上执行软件的任何基于处理器的系统。作为示例而非限制,图表系统100可包括台式计算系统、膝上型计算机、平板计算机、视频游戏系统、个人数字助理(PDA)、智能电话、或便携式媒体播放器。随后将在本文参照图22来描述可用于实现图表系统100的基于处理器的计算机系统的特定示例。
如图1中进一步所示的,计算平台102至少包括处理单元112、存储器114、显示设备接口116、以及一个或多个用户输入设备接口118。这些组件经由通信基础结构120互连,通信基础结构120可包括例如一个或多个总线结构。
处理单元112包括被配置成执行软件模块以及访问存储在存储器114中的数据的一个或多个处理器或处理器核心。存储在存储器114中的软件模块至少包括图表模块122和用户姿势处理模块124。存储在存储器114中的数据至少包括预定义姿势库126。存储器114旨在宽泛地表示任何类型的易失性存储器、非易失性存储器或其组合,并且可跨一个或多个存储设备或系统来实现。
显示设备接口116包括呈现从处理单元112或存储器114接收到的视频或图形信息以便在显示设备104上显示的接口。显示设备接口116可包括例如被配置成执行视频或图形呈现操作的视频或图形卡。取决于图表系统100的实现,显示设备104可包括与计算平台102物理地分开并且通过适合的有线和/或无线连接与之连接的监视器、投影仪或其它类型的显示设备,或者被集成在与计算平台102相同的物理结构中的显示设备,诸如膝上型计算机、平板计算机、PDA或便携式媒体播放器中的集成显示器。
用户输入设备接口118包括用于接收由用户输入设备106生成的用户输入信息以及用于将这些输入信息传递给处理单元112以对其进行处理的一个或多个接口。取决于实现,用户输入设备106可包括鼠标、键盘、触摸垫、轨迹球、操作杆、定点杆、触摸屏(例如,与显示设备104集成的触摸屏)、有线手套、运动跟踪传感器、游戏控制器或游戏垫、或者诸如相机之类的视频捕捉设备。然而,这些例子并不旨在进行限制,而用户输入设备106可以包括除以上所列举的以外的其它类型的设备。取决于实现,每个用户输入设备106可与计算平台102物理地分开并且经由合适的有线和/或无线连接与之连接,或者可被集成在与计算平台102相同的物理结构内,诸如膝上型计算机、平板计算机、PDA或便携式媒体播放器中的集成键盘、触摸垫或者触摸屏。
图表模块122是在由处理单元112执行时使得图表系统100的用户能创作和编辑图形示图的软件模块。在图表系统模块122的执行期间,示图创作和编辑功能的可由用户经由操纵用户输入设备106中的一个或多个来调用。通过这样的操纵生成的用户输入信息经由用户输入设备接口118被传递到处理单元112。处理单元122处理此类用户输入信息,以使得其可通过执行图表模块122来恰当地解释。此外,在图表模块122的执行期间,由用户创作或编辑的示图可经由显示设备接口116呈现到显示设备104以便由用户进行观看和/或操纵。
当由处理单元112执行时,图表模块122还使得用户能调用示图自动布局,以及将用户定义的布局约束应用于此类示图的元素。当利用示图自动布局时,诸如网络图或图形等示图是基于指定将被包括在示图中的元素以及其间的关系的数据、以及管理诸如示图元素的大小和位置等某些布局考虑的一组规则或算法来自动生成的。所生成的示图或其至少一部分经由显示设备接口116呈现到显示设备104,以便进行观看和/或操纵。使用自动布局生成示图可包括生成新示图以及更新或修改现有示图两者。
布局约束指定示图中的某些元素之间的永久布局关系。布局约束提供用户藉由其可修改或微调示图而无需显式地定位示图元素的手段。当用户定义关于示图元素的布局约束时,在示图元素之间创建永久布局关系,在后继交互中维持该永久布局关系。维持布局约束直至用户显式地移除该约束之时。布局约束包括但不限于控制示图元素的对齐、示图元素的分布、以及示图元素之间的间隔的约束。
用于在图表系统中执行自动布局以及实现布局约束的各种方法在文献中进行了描述,因此无需在此进行描述。例如,在参考文献T.Dwyer等人的“Dunnart:A Constraint-based Network Diagram Authoring Tool(Dunnart:基于约束的网络示图创作工具)”,(第16届国际图形绘制专题研讨会(GD’08)会刊,计算机科学讲稿第5417卷,第420-431页(Springer(施普林格),2009))以及T.Dwyer的“Scalable,Versatile and Simple Constrained Graph Layout(可缩放的通用且简单的受约束图形布局)”(欧洲图形/IEEE-VGTC关于可视化的专题研讨会(Eurovis 2009)会刊)中描述用于实现这些特征的某些技术。这些参考文献中的每一个通过援引纳入于此。
如本文中更详细描述的,图表模块122被配置成使得处理单元122能获得单个用户姿势,以及能处理该用户姿势以选择示图中将应用布局约束的一个或多个元素并选择将对所选元素应用的布局约束。因而,图表模块122向用户有利地提供用于以比由常规图表系统所提供的界面更快速、更简单且更直观的方式执行这些任务的手段。
为了便于获得用户姿势,处理单元122执行用户姿势处理模块124。用户姿势处理模块124被配置成使得处理单元122能基于经由用户输入设备接口118从用户输入设备接收到的用户输入信息来捕捉用户姿势。用户姿势可以是单触摸用户姿势或多触摸用户姿势。用户姿势处理模块124还被配置成确定如此捕捉的用户姿势是否匹配任何存储在预定义用户姿势库126中的预定义用户姿势以及将识别出的用户姿势传递给图表模块122的执行版本。
图2是描绘根据一示例实施例的更详细的图表模块122的框图。如图2中所示的,图表模块122包括多个模块,这多个模块包括示图元素选择模块202、用户姿势至约束映射模块204、布局约束应用模块206、和示图呈现模块208。示图元素选择模块202包括在由处理单元112执行时基于经由执行用户姿势处理模块124获得的用户姿势选择示图的一个或多个元素的逻辑。用户姿势至约束映射模块204包括在由处理单元112执行时基于经由经由执行用户姿势处理模块124获得的用户姿势选择布局约束的逻辑。布局约束应用模块206包括在由处理单元112执行时将由用户姿势至约束映射模块204选择的布局约束应用于由示图元素选择模块202选择的一个或多个元素的逻辑。示图呈现模块208包括在由处理单元112执行时以经由显示设备接口116将示图或其部分呈现到显示设备104的逻辑。
在一个实现中,图表模块122、用户姿势处理模块124和预定义用户姿势库126整个构成相同软件应用程序的组件。例如,图表模块122、用户姿势处理模块124和预定义用户姿势库126可整个构成图表应用程序或者包括内置图表能力的应用程序的组件。在替换实现中,图表模块122和用户姿势处理模块124构成分开的应用程序。在进一步替换实现中,图表模块122构成图表应用程序的全部或一部分,而用户姿势处理模块124和预定义用户姿势库126构成图表模块122在其上执行的操作系统的组件。还有其它实现也是可能的。
在图1或2中未示出的替换实现中,在客户机-服务器环境中实现图表系统100的功能。根据这样的实现,由图表系统100执行的各个功能被分布在客户机计算机和服务器计算机之间,其中客户机计算机和服务器计算机经由一个或多个网络通信地连接。例如,根据一个这样的实现,客户机计算机可用于接收用户输入、从其中获得用户姿势、以及显示示图以便由用户观看和/或操纵,而服务器计算机可用于执行系统100的其余图表相关功能。可利用用于在客户机计算机与服务器计算机之间分布功能的其他办法。
图3描绘根据示例实施例用于经由用户姿势识别操纵用户定义布局约束的方法的流程图300。尽管在此参照如以上关于图1和2所描述的图表系统100的各个元素描述了流程图300的方法,但是,相关领域的技术人员将能够容易地理解,本发明并不限于该实现并且可以由其它系统或元素来实现。
如图3中所示的,流程图300的方法始于步骤302,其中由处理单元112执行示图呈现模块208以将示图的至少一部分呈现到显示设备104。示图包括多个元素。例如,在其中示图包括网络图或图形的实施例中,元素可包括网络图或图形中的节点。作为另一示例,元素还可包括连接这些节点的边。在示图内还可包括其他类型的元素。
在步骤304,由处理单元112执行用户姿势处理模块124以基于经由用户输入设备106中的至少一个接收到的输入来标识用户姿势。将在以下更详细地描述执行此步骤的至少一种方式。
在步骤306,由处理单元112执行示图元素选择模块202以基于在步骤304期间标识的用户姿势来选择示图的元素中的一个或多个。
在步骤308,由处理单元112执行用户姿势至约束映射模块204以基于在步骤304期间标识的用户姿势在由图表模块122使得可用的多个布局约束中选择布局约束。
在步骤310,由处理单元112执行布局约束应用模块206以将在步骤308期间选择的布局约束应用于在步骤306期间选择的元素。
在步骤312,由处理单元112执行示图呈现模块208以在将所选布局约束应用于所选元素之后将示图的至少一部分呈现到显示设备104。在此步骤期间,如果将所选布局约束应用于所选元素已导致示图的布局的改变,则可使得此改变在用户于显示设备104上观看示图或其部分时对于用户而言是显而易见的。
图4是描绘一种用于基于经由一个或多个用户输入设备接收到的输入标识用户姿势的方法的流程图400。流程图400的方法可用于例如实现以上参照图3所描述的流程图300的步骤304。尽管在此参照如以上关于图1和2所描述的图表系统100的各个元素描述了流程图400的方法,但是,相关领域的技术人员将能够容易地理解,本发明并不限于该实现并且可以由其它系统或元素来实现。
如图4中所示的,流程图400的方法始于步骤402,其中由处理单元112执行用户姿势处理模块124以基于经由用户输入设备106中的至少一个接收到的输入捕捉用户姿势。如本领域技术人员将理解的,捕捉用户姿势的方式将至少部分地取决于用于执行姿势的用户输入设备的类型。例如,在其中鼠标被用于执行姿势的一实施例中,用户姿势处理模块124可导致处理单元112在用户按下鼠标上的特定按钮时发起对用户姿势的捕捉。在按钮被按下时,跟踪鼠标在鼠标垫或其他表面上的运动以确定与用户姿势相关联的路径或形状。当按钮被释放时,完成对用户姿势的捕捉。
在其中触摸屏被用于捕捉用户姿势的实施例中,可通过在指定的捕捉时段期间跟踪手指或输入笔相对于触摸屏的接触来捕捉用户姿势。类似的办法可用于触摸垫。在利用运动跟踪传感器和/或诸如相机等视频捕捉设备的替换实施例中,用户在空间中的运动可被跟踪并解释以捕捉姿势。在使用前述用户输入设备类型中的任一个的前提下或基于各种其他用户输入设备类型,还可使用其他技术。在某些实现中,可使用一个以上的用户输入设备来捕捉用户姿势。
在步骤404,将在步骤402期间捕捉的用户姿势与存储在预定义用户姿势库126中的预定义用户姿势作比较。在判决步骤406,如果找到匹配预定义用户姿势,则在步骤402期间捕捉到的用户姿势被视为已识别,且匹配预定义用户姿势被传递给图表模块122,如步骤408所示的。然而,如果没有找到匹配预定义用户姿势,则在步骤402期间捕捉到的用户姿势被视为未识别,且控制流返回捕捉402以捕捉另一用户姿势。
前面仅仅描述了用于基于经由一个或多个用户输入设备接收到的输入标识用户姿势的方法的一个示例。相关领域的技术人员将容易理解,可使用各种各样的用户姿势识别系统和算法中的任一种来执行此功能。例如,根据一个实施例,可使用低复杂度用户姿势识别器,诸如在J.Wobbrock等人的“Gestureswithout Libraries,Toolkits or Training:A $1 Recognizer for User InterfacePrototypes(无库、工具箱或训练的姿势:用于用户接口原型的$1识别器)”(07年ACM关于用户接口软件和技术(UIST)的专题研讨会,2007年10月7-10日,纽波特,罗德岛(2007))中所描述的。还可使用其他类型的用户姿势识别器。
在一个实施例中,如以上参照流程图300的步骤306所描述的基于所标识的用户姿势选择示图的一个或多个元素的步骤包括选择示图中被用户姿势所定义的路径贯穿的元素。这现在将参照图5-7来例示,图5-7中的每一幅描述已经由执行示图呈现模块208被呈现到显示设备104的示例性示图的一部分。如图5中所示的,示图的部分包括多个节点502、504、506、508、510和512,以及多条边512、514、516、518、520和522。边512将节点502连接到节点504,边514将节点504连接到节点506,边516将节点506连接到节点508,而边518将节点506连接到节点510。边520和522将节点512连接到在显示设备104的显示区内未示出的其他节点。在图5中所示的示图的部分中,每个节点旨在表示关系数据库中的表,而每条边旨在表示两个表之间的关系,诸如共享字段或列。然而,则和仅仅是一个示例。相关领域的技术人员将理解,每个节点可表示各种各样的实体类型,而每条边可表示各种各样的关系类型,这取决于应用程序。如图5中所示的,已经由执行示图呈现模块208生成节点和边的特定布局。可根据一个或多个自动布局规则以及一个或多个用户定义布局约束来自动生成此布局。
图6描述了在经由执行用户姿势处理模块124已捕捉并识别用户姿势之后被呈现到显示设备104的示例性示图的部分。在识别用户姿势之后,执行图表模块122以将与用户姿势相关联的路径映射到由显示设备104显示的示图的部分。此路径被描绘为图6中的路径602。在一个实施例中,执行示图呈现模块208以沿路径602呈现一条线,由此向用户提供用户姿势的路径以及其与示图的所显示部分如何对齐的视觉指示。
如图6中所示的,路径602贯穿节点502、504、506、510和512。根据一个实施例,示图元素选择模块202被配置成将这些节点选择为将根据这些节点被路径602贯穿这个事实来对其应用布局约束的节点。
除了基于由用户姿势定义的路径602执行节点选择之外,实施例还基于相同的用户姿势确定向所选节点应用多个布局约束中的哪个,如以上参照流程图300的步骤308描述的。例如,在一个实施例中,用户姿势至约束映射模块204被配置成如果由用户姿势定义的路径对应于垂直线则选择垂直对齐约束,而如果由用户姿势定义的路径对应于水平线则选择水平对齐约束。
这由图7部分地例示,图7示出了在图5和6中所描绘的示图已经由执行布局约束应用模块206被更新以及经由执行示图呈现模块208被再次呈现到显示设备104之后该示图的一部分。如图7中所示的,用户姿势的路径602已被解释为水平线,且由此水平对齐约束已被应用于所选节点502、504、506、510和512。根据此示例,水平对齐约束已导致所选节点中的每一个的水平轴将与水平导线对齐。取决于图表系统100的实现或配置,可以使或可以不使导线702对于用户可见。
可使用各种方法来确定与用户姿势相关联的路径被解释为水平线还是垂直线。例如,在一个实施例中,围绕用户姿势的路径定义边界框,其中边界框的左侧和右侧被分别放在路径的最左点和最右点,并且边界框的顶侧和底侧被分别放在路径的最顶点和最底点。如果边界框的宽度超过边界框的高度,则用户姿势被确定为水平线。如果边界框的高度超过边界框的宽度,则用户姿势被确定为垂直线。然而,这仅仅是一种技术,且相关领域的技术人员将容易理解,可使用多种其他技术来确定与用户姿势相关联的路径将被解释水平线还是垂直线。
在其中示图中被用户姿势的路径贯穿的元素被选择来应用布局约束的实施例中,路径贯穿元素中的一个或多个的方式可被用于确定将应用的布局约束类型。这现在将参照图8的流程图800来更全面地解释。尽管在此参照如以上关于图1和2所描述的图表系统100的各个元素描述了流程图800的方法,但是,相关领域的技术人员将能够容易地理解,本发明并不限于该实现并且可以由其它系统或元素来实现。
如图8中所示的,流程图800的方法始于步骤802,其中执行用户姿势至约束映射模块204以标识被由用户姿势定义的路径贯穿的第一元素——其中第一元素是包括多个侧的形状。例如,第一元素可包括正方形、矩形或其他多边形。由于可随时间推移捕捉用户姿势,因此可按时间方式分析由用户姿势定义的路径。通过使用这样的时间分析,可确定示图中的哪个元素首先被路径贯穿。
在步骤804,执行用户姿势至约束映射模块204以标识第一元素首先被路径贯穿的一侧。如上所述的,可按时间方式来分析由用户姿势定义的路径。通过使用这样的瞬时分析,可确定第一元素的哪一侧首先被路径贯穿。该侧可被认为是路径进入第一元素的“入口点”。
在步骤806,可执行用户姿势至约束映射模块204以标识被路径贯穿的最后元素,其中最后元素也包括包含多个侧的形状。被路径贯穿的最后元素可通过对路径执行时间分析来确定。
在步骤808,执行用户姿势至约束映射模块204以标识最后元素最后被路径贯穿的一侧。对路径的时间分析可用于确定最后元素的哪一侧最后被路径贯穿。该侧可被认为是路径离开最后元素的“出口点”。
在步骤810,执行用户姿势至约束映射模块204以基于在步骤806和808期间标识的第一元素和最后元素的诸个侧来选择布局约束。布局约束可包括例如对齐约束。对齐约束可包括例如水平、垂直或对角线对齐约束,但是这些示例并不旨在进行限制。
现在将参照图9-14来提供可如何使用流程图800的方法来选择布局约束的各个示例。例如,图9描绘了已经由执行示图呈现模块208呈现到显示设备104的示例性示图的一部分。如图9中所示的,示图的部分包括多个元素902、904、906和908,这些元素中的每一个包括顶侧、底侧、左侧和右侧。又如图9中所示的,与用户姿势相关联的路径910已被映射横越并贯穿每一个元素。从时间的观点而言,路径910始于不包括的箭头的一端并随着时间延伸至确实包括箭头的一端。因而,路径910首先贯穿元素902且最后贯穿元素908。此外,路径910首先贯穿元素902的左侧并最后贯穿元素908的底侧。
根据一个实施例,如果被由用户姿势定义的路径贯穿的第一多侧元素的第一侧是左侧,而被该路径贯穿的最后多侧元素的最后侧是底侧(如图9中的情形),则将对第一多侧元素、最后多侧元素以及所有介于其间的被贯穿元素应用对角线对齐约束。这由图10来例示,图10示出了在已将对角线对齐约束应用于元素902、904、906和908之后来自图9的示例性示图的部分。根据此示例,对角线对齐约束已导致节点902、904、906和908中的每一个的对角线轴将与对角线导线1002对齐。取决于图表系统100的实现或配置,可以使或可以不使导线1002对于用户可见。
图11和12提供了使用流程图800的方法选择水平对齐约束的示例。具体地,图11描绘了已经由执行示图呈现模块208呈现到显示设备104的示例性示图的一部分。如图11中所示的,示图的部分包括多个元素1102、1104、1106、1108、1110和1112,这些元素中的每一个包括顶侧、底侧、左侧和右侧。又如图9中所示的,与用户姿势相关联的路径1114已被映射横越并贯穿每一个元素。从时间的观点而言,路径1114始于不包括的箭头的一端并随着时间延伸至确实包括箭头的一端。因而,路径1114首先贯穿元素1102且最后贯穿元素1112。此外,路径1114首先贯穿元素1102的左侧并最后贯穿元素1112的右侧。
根据一个实施例,如果被由用户姿势定义的路径贯穿的第一多侧元素的第一侧是左侧,而被该路径贯穿的最后多侧元素的最后侧是右侧(如图11中的情形),则将对第一多侧元素、最后多侧元素以及所有介于其间的被贯穿元素应用水平对齐约束。这由图12来例示,图12示出了在已将水平对齐约束应用于元素1102、1104、1106、1108、1110和1112之后来自图11的示例性示图的部分。根据此示例,水平对齐约束已导致节点1102、1104、1106、1108、1110和1112中的每一个的水平轴将与水平导线1202对齐。取决于图表系统100的实现或配置,可以使或可以不使导线1202对于用户可见。
图13和14提供了使用流程图800的方法选择垂直对齐约束的示例。具体地,图13描绘了已经由执行示图呈现模块208呈现到显示设备104的示例性示图的一部分。如图13中所示的,示图的部分包括多个元素1302、1304、1306和1308,这些元素中的每一个包括顶侧、底侧、左侧和右侧。又如图13中所示的,与用户姿势相关联的路径1310已被映射横越并贯穿每一个元素。从时间的观点而言,路径1310始于不包括的箭头的一端并随着时间延伸至确实包括箭头的一端。因而,路径1310首先贯穿元素1302且最后贯穿元素1308。此外,路径1310首先贯穿元素1302的顶侧并最后贯穿元素1308的底侧。
根据一个实施例,如果被由用户姿势定义的路径贯穿的第一多侧元素的第一侧是顶侧,而被该路径贯穿的最后多侧元素的最后侧是底侧(如图13中的情形),则将对第一多侧元素、最后多侧元素以及所有介于其间的被贯穿元素应用垂直对齐约束。这由图14来例示,图14示出了在已将垂直对齐约束应用于元素1302、1304、1306和1308之后来自图13的示例性示图的部分。根据此示例,垂直对齐约束已导致节点1302、1304、1306和1308中的每一个的垂直轴将与垂直导线1402对齐。取决于图表系统100的实现或配置,可以使或可以不使导线1402对于用户可见。
前面所述仅仅是可如何使用流程图800的方法来选择布局约束的一些示例。基于此处的教示,各种其它方法对于相关领域的技术人员来说将是显而易见的。
图15和16图解了其中由用户姿势定义的路径贯穿示图的元素的方式可被用于确定将被应用于被贯穿的元素的布局约束类型的其他实施例。根据这样的实施例,如果路径在同一元素内开始和结束,则对被贯穿的元素应用环形对齐约束。作为示例,图15描绘了已经由执行示图呈现模块208呈现到显示设备104的示例性示图的一部分。如图15中所示的,示图的部分包括多个多边形元素1502、1504、1506和1508。又如图15中所示的,与用户姿势相关联的路径1510已被映射横越并贯穿每一个元素。从时间的观点而言,路径1510始于不包括的箭头的一端并随着时间延伸至确实包括箭头的一端。因而,路径1510既在元素1502内开始又在元素1502内结束。结果,将对所有被贯穿的元素应用环形对齐约束。这由图16来例示,图16示出了在已将环形对齐约束应用于元素1502、1504、1506和1508之后来自图15的示例性示图的部分。根据此示例,环形对齐约束已导致元素1502、1504、1506和1508中的每一个将根据环形导线1602来对齐。取决于图表系统100的实现或配置,可以使或可以不使导线1602对于用户可见。
在其他实施例中,如以上参照流程图300的步骤306所描述的基于所标识的用户姿势选择示图的一个或多个元素的步骤包括选择示图中被包围到用户姿势所定义的形状内的元素。这现在将参照图17和18来例示,图17和18中的每一幅描述已经由执行示图呈现模块208被呈现到显示设备104的示例性示图的一部分。如图17中所示的,示图的部分包括多个元素1702、1704、1706、1708、1710和1712。如图17中进一步所示的,与用户姿势相关联的路径1714已被映射到示图。路径1714生成包围或围绕元素1706、1708、1710和1712中的每一个的形状。根据一个实施例,示图元素选择模块202被配置成将节点1706、1708、1710和1712选择为将根据这些元素被路径1714所形成的形状包围这个事实来对其应用布局约束的元素。
除了基于由用户姿势定义的路径1714执行节点选择之外,实施例还基于相同的用户姿势确定向所选元素应用多个布局约束中的哪个,如以上参照流程图300的步骤308描述的。例如,在一个实施例中,用户姿势至约束映射模块204被配置成如果由用户姿势定义的路径形成围绕两个或更多元素的形状则选择编组约束。根据编组约束,与约束相关联的元素被一起聚在组中,且防止与这样的元素相关联的边界同示图中的其他元素相交迭。
这由图18来例示,图18示出了在图17中所描绘的示图已经由执行布局约束应用模块206被更新以及经由执行示图呈现模块208被再次呈现到显示设备104之后该示图的一部分。如图18中所示的,已对所选元素1706、1706、1710和1712应用编组约束,以使得这些元素被一起聚在特定区域内,该区域的边界由边界导线1802指示。可防止此边界与示图中的其他元素相交迭。取决于图表系统100的实现或配置,可以使或可以不使边界导线1802对于用户可见。
在以上所描述的某些实施例中,对示图中所选的元素应用对齐约束导致所选元素相对于约束导线中心对齐。然而,在替代实施例中,示图中的元素可使用其他偏移量来对齐。例如,在其中示图的元素包括端口且其中元素之间的关系由连接端口的边指示的实施例中,这些元素可按其端口来对齐,以使得连接元素的边是严格成水平、成垂直、成对角线等等。
这现在将参照图19和20来例示,图19和20中的每一幅描述已经由执行示图呈现模块208被呈现到显示设备104的示例性示图的一部分。如图19中所示的,示图的部分包括多个节点1902、1904、1906和1908,以及多条边1912、1914和1916。边1912将节点1902的端口1922连接到节点1904的端口1926,边1914将节点1904的端口1924连接到节点1906的端口1928,而边1916将节点1906的端口1930连接到节点1908的端口1932。又如图19中所示的,与用户姿势相关联的路径1940已被映射横越并贯穿每一个元素。结果,将对所有被贯穿的元素应用水平对齐约束。图20示出了在已对元素1902、1904、1906和1908应用水平对齐约束之后图19的示例性示图的部分。根据此示例,水平对齐约束已导致元素1902、1904、1906和1908的端口将以连接这些元素的边严格成水平的方式来对齐。
尽管先前描述了使用用户姿势来选择示图的元素,以及对所选元素应用布局约束,但是也可以类似方式应用以上所描述的概念以修改或合并与示图中的元素相关联的现有布局约束。例如,选择某些示图元素的用户姿势也可被解释为对修改涉及这些元素的现有布局约束的请求。作为另一示例,选择第一组示图元素和第二组示图元素的用户姿势也可被解释为对将涉及第一组示图元素的布局约束与第二组示图元素进行关联的请求。现在将参照图21的流程图2100进一步描述后一情景。
如图21中所示的,流程图2100的方法始于步骤2102,其中由处理单元112执行呈现模块208以将示图的至少一部分呈现到显示设备104。示图包括多个元素。
在步骤2104,由处理单元112执行用户姿势处理模块124以基于经由用户输入设备106中的至少一个接收到的输入来标识用户姿势。
在步骤2106,由处理单元112执行示图元素选择模块202以基于在步骤304期间标识的用户姿势来选择示图的一个或多个第一元素以及示图的一个或多个第二元素。
在步骤2108,由处理单元112执行图表模块122以标识与所选第一元素相关联的布局约束。
在步骤2110,由处理单元112执行布局约束应用模块206以将在步骤2108期间标识的布局约束应用于所选第二元素。
在步骤2112,由处理单元112执行示图呈现模块208以在将在步骤2108期间标识的布局约束应用于所选第二元素之后将示图的至少一部分呈现到显示设备104。在此步骤期间,如果将所标识的布局约束应用于所选第二元素已导致示图的布局的改变,则可使得此改变在用户于显示设备104上观看示图或其部分时对于用户而言是显而易见的。
II.示例计算机系统实施方式
图22描绘了可用于实现如上参照图1描述的图表系统100的示例计算机2200。计算机2200可表示例如常规个人计算机、移动计算机或工作站形式的通用计算设备,或者计算机2200可以是特殊用途的计算设备。此处提供的计算机2200的描述是为了示例的目的,并不旨在进行限制。实施例也可以在相关领域的技术人员所知的其它类型的计算机系统中实现。
在图22中所示的,计算机2200包括处理单元2202、系统存储器2204和将包括系统存储器2204的各种系统组件耦合到处理单元2202的总线2206。处理单元2202可包括一个或多个处理器或处理核心。总线2206表示任何若干类型的总线结构中的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线体系结构的任一种的处理器或局部总线。系统存储器2204包括只读存储器(ROM)2208和随机存取存储器(RAM)2210。基本输入/输出系统2212(BIOS)被存储在ROM 2208中。
计算机2200还具有以下驱动器中的一个或多个:用于对硬盘进行读写的硬盘驱动器2214、用于对可移动磁盘2218进行读写的磁盘驱动器2216、以及用于对诸如CD ROM、DVD ROM或其它光学介质等可移动光盘2222进行读写的光盘驱动器2220。硬盘驱动器2214、磁盘驱动器2216以及光盘驱动器2220分别通过硬盘驱动器接口2224、磁盘驱动器接口2226和光盘驱动器接口2228连接至总线2206。驱动器以及它们相关联的计算机可读介质为计算机提供了计算机可读指令、数据结构、程序模块,及其他数据的非易失存储器。虽然这里描述了硬盘、可移动磁盘和可移动光盘,但是可以使用用于存储数据的其他类型的计算机可读介质,诸如闪存卡、数字视频盘、随机读取存储器(RAM)、只读存储器(ROM)等。
可在硬盘、磁盘、光盘、ROM或RAM上存储多个程序模块。这些程序包括操作系统2230、一个或多个应用程序2232、其它程序模块2234以及程序数据2236。应用程序2232或程序模块2234可包括例如任何在本文所描述的软件模块,诸如参照图2描述的软件模块中的任一个,以及用于执行在本文所描述的各种方法步骤的逻辑,诸如用于执行流程图300、400、800或2100的方法步骤中的任一个的逻辑。
用户可通过诸如键盘2238和定位设备2240等输入设备向计算机2200输入命令和信息。其它输入设备(未示出)可包括话筒、操纵杆、游戏控制器、扫描仪等等。这些和其它输入设备通常通过耦合到总线2206的串行端口接口2242连接到处理单元2202,但也可通过其它接口连接,如并行端口、游戏端口、或通用串行总线(USB)。
监视器2244或其它类型的显示设备也经由接口诸如视频适配器2246连接至总线2206。除监视器之外,计算机2200可包括其它外围输出设备(未示出),如扬声器或打印机。
计算机2200通过网络接口或适配器2250、调制解调器2252或其它用于在网络上建立通信的装置连接到网络2248(例如,局域网或诸如因特网之类的广域网)。或为内置或为外置的调制解调器2252经由串行端口接口2242连接到总线2206。
如此处所用的,术语“计算机程序介质”以及“计算机可读介质”被用于泛指介质,诸如与硬盘驱动器2214相关联的硬盘、可移动磁盘2218、可移动光盘2222,以及其他介质,诸如闪存卡、数字视频盘、随机读取存储器(RAM)、只读存储器(ROM)等。
如上所述,计算机程序和模块(包括应用程序2232和其它程序模块2234)可被存储在硬盘、磁盘、光盘、ROM或RAM上。这些计算机程序还可经由网络接口2250或串行端口接口2242来接收。这些计算机程序在由应用程序执行或加载时使得计算机2200能够实现此处所讨论的实施例的特征。因此,这些计算机程序表示计算机2200的控制器。
实施例还涉及包括存储在任何计算机可用介质上的软件的计算机程序产品。这样的软件在一个或多个数据处理设备中执行时使得数据处理设备能如本文中所述地进行操作。实施例可使用现在已知或将来知晓的任何计算机可使用或计算机可读介质。计算机可读介质的例子包括但不限于存储设备,诸如RAM、硬盘、软盘、CD ROM、DVD ROM、Zip盘、磁带、磁存储设备、光存储设备、基于MEMS的存储设备、基于纳米技术的存储设备,等等。
III.结论
虽然以上描述了不同的实施例,但应当理解的是它们只是作为示例而非限制。对于相关领域的技术人员显而易见的是,可以对其做出各种改变而不背离本发明的精神和范围。因此,此处所公开的本发明的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。

Claims (15)

1.一种在基于处理器的计算系统中实现的方法,包括:
将示图的至少一部分呈现到耦合至所述计算系统的显示设备,所述示图包括多个元素(302);
基于经由耦合至所述计算系统的至少一个用户输入设备接收到的输入来标识用户姿势(304);
基于所标识的用户姿势选择所述示图的一个或多个元素(306);
基于所标识的用户姿势从多个布局约束当中选择布局约束,其中每个布局约束控制示图的元素在被呈现到显示设备时被排列的方式(308);
将所选布局约束应用于所选元素(310);以及
在对所选元素应用所选布局约束之后将所述示图的至少一部分呈现到所述显示设备(312)。
2.如权利要求1所述的方法,其特征在于,标识所述用户姿势包括:
确定所述输入是否对应于预定义用户姿势库中的用户姿势。
3.如权利要求1所述的方法,其特征在于,基于经由所述至少一个用户输入设备接收到的输入标识所述用户姿势包括基于经由鼠标、触摸屏或视频捕捉设备中的至少一个接收到的输入标识所述用户姿势。
4.如权利要求1所述的方法,其特征在于,基于所标识的用户姿势选择所述示图的所述一个或多个元素包括:
选择所述示图中被由所述用户姿势定义的路径贯穿的元素。
5.如权利要求4所述的方法,其特征在于,基于所标识的用户姿势选择所述布局约束包括:
如果由所述用户姿势定义的所述路径对应于垂直线,则选择垂直对齐约束。
6.如权利要求4所述的方法,其特征在于,基于所标识的用户姿势选择所述布局约束包括:
如果由所述用户姿势定义的所述路径对应于水平线,则选择水平对齐约束。
7.如权利要求4所述的方法,其特征在于,基于所标识的用户姿势选择所述布局约束包括:
如果由所述用户姿势定义的所述路径在同一元素内开始和结束,则选择环形对齐约束。
8.如权利要求4所述的方法,其特征在于,基于所标识的用户姿势选择所述布局约束包括:
标识被所述路径贯穿的第一元素,所述第一元素包括多个侧;
标识所述第一元素首先被所述路径贯穿的一侧;
标识被所述路径贯穿的最后元素,所述最后元素包括多个侧;
标识所述最后元素最后被所述路径贯穿的一侧;
基于所标识的所述第一元素和所述最后元素的侧来选择对齐约束。
9.如权利要求1所述的方法,其特征在于,基于所标识的用户姿势选择所述示图的所述一个或多个元素包括选择所述示图中被包围在由所述用户姿势定义的形状内的元素;以及
其中基于所标识的用户姿势选择所述布局约束包括选择编组约束。
10.如权利要求1所述的方法,其特征在于,基于经由耦合至所述计算系统的至少一个用户输入设备接收到的输入标识所述用户姿势包括标识多触摸用户姿势。
11.如权利要求1所述的方法,其特征在于,还包括:
将遵循由所述用户姿势定义的路线的线呈现到所述显示设备。
12.一种其上存储有用于使得计算机执行如权利要求1-11所述的方法的任一个的步骤的计算机可执行指令的计算机可读介质。
13.一种系统(100),包括:
显示设备(104);
至少一个用户输入设备(106);
存储器(114),其存储图表模块(122)和用户姿势处理模块(124);以及
处理单元(112),其执行所述图表模块(122)以将示图的至少一部分呈现到所述显示设备(104),所述示图包括多个元素;
其中所述处理单元(112)进一步执行所述用户姿势处理模块(124)以基于经由所述至少一个用户输入设备(106)接收到的输入标识用户姿势,以及
其中所述处理单元(112)进一步执行所述图表模块(122)以基于所标识的用户姿势选择所述示图的一个或多个元素;基于所标识的用户姿势从多个布局约束当中选择布局约束,其中每个布局约束控制示图的元素在被呈现到显示设备时被排列的方式;将所选布局约束应用于所选元素;以及在对所选元素应用所选布局约束之后将所述示图的至少一部分呈现到所述显示设备(104)。
14.如权利要求13所述的系统,其特征在于,所述存储器还存储预定义用户姿势库,并且其中所述处理单元执行所述用户姿势处理模块以确定所述输入是否对应于所述预定义用户姿势库中的用户姿势。
15.如权利要求13所述的系统,其特征在于,所述至少一个用户输入设备包括鼠标、触摸屏或视频捕捉设备中的至少一个。
CN201110026287.1A 2010-01-14 2011-01-13 经由用户姿势识别的布局约束操纵 Active CN102129344B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/687,388 US9405449B2 (en) 2010-01-14 2010-01-14 Layout constraint manipulation via user gesture recognition
US12/687,388 2010-01-14

Publications (2)

Publication Number Publication Date
CN102129344A true CN102129344A (zh) 2011-07-20
CN102129344B CN102129344B (zh) 2016-03-02

Family

ID=44259471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110026287.1A Active CN102129344B (zh) 2010-01-14 2011-01-13 经由用户姿势识别的布局约束操纵

Country Status (2)

Country Link
US (2) US9405449B2 (zh)
CN (1) CN102129344B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103959243A (zh) * 2011-09-30 2014-07-30 谷歌公司 扩展到用反向弧编码最小和最大约束的有向图的方法和装置
CN114217888A (zh) * 2016-05-17 2022-03-22 谷歌有限责任公司 用于用户界面元素的有效布局和控制的基于约束的布局系统

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5533165B2 (ja) 2010-04-09 2014-06-25 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
US20120133579A1 (en) * 2010-11-30 2012-05-31 Microsoft Corporation Gesture recognition management
WO2012151471A2 (en) * 2011-05-05 2012-11-08 Net Power And Light Inc. Identifying gestures using multiple sensors
JP5850229B2 (ja) * 2011-11-29 2016-02-03 日本精機株式会社 車両用操作装置
US8902198B1 (en) 2012-01-27 2014-12-02 Amazon Technologies, Inc. Feature tracking for device input
KR102092234B1 (ko) * 2012-08-03 2020-03-23 엘지전자 주식회사 이동 단말기 및 그 제어방법
US8814683B2 (en) 2013-01-22 2014-08-26 Wms Gaming Inc. Gaming system and methods adapted to utilize recorded player gestures
US9799128B2 (en) 2015-07-30 2017-10-24 Microsoft Technology Licensing, Llc Incremental automatic layout of graph diagram
US10761714B2 (en) * 2015-11-23 2020-09-01 Google Llc Recognizing gestures and updating display by coordinator
US10713304B2 (en) * 2016-01-26 2020-07-14 International Business Machines Corporation Entity arrangement by shape input
EP3614365A1 (en) * 2018-08-24 2020-02-26 Carl Zeiss Microscopy GmbH Method, apparatus and computer-readable storage medium for visual teaching

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812128A (en) * 1996-12-11 1998-09-22 International Business Machines Corporation User defined template arrangement of objects in a container
CN1776667A (zh) * 2005-12-09 2006-05-24 无锡永中科技有限公司 文件编辑中的对象位置处理方法
CN101266516A (zh) * 2008-04-24 2008-09-17 马涛 布局可定制的智能人机接口设备

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471578A (en) * 1993-12-30 1995-11-28 Xerox Corporation Apparatus and method for altering enclosure selections in a gesture based input system
US6081816A (en) * 1998-03-18 2000-06-27 Microsoft Corporation Method for placing text around polygons and other constraints
US6393432B1 (en) * 1999-06-02 2002-05-21 Visionael Corporation Method and system for automatically updating diagrams
US7142205B2 (en) * 2000-03-29 2006-11-28 Autodesk, Inc. Single gesture map navigation graphical user interface for a personal digital assistant
EP1277104A1 (en) 2000-03-30 2003-01-22 Ideogramic APS Method for gesture based modeling
US6732114B1 (en) * 2000-11-01 2004-05-04 Microsoft Corporation System and method for creating a customizable network diagram
JP4082351B2 (ja) * 2003-03-12 2008-04-30 セイコーエプソン株式会社 レイアウトシステム及びレイアウトプログラム、並びにレイアウト方法
US7372993B2 (en) * 2004-07-21 2008-05-13 Hewlett-Packard Development Company, L.P. Gesture recognition
US20060200384A1 (en) * 2005-03-03 2006-09-07 Arutunian Ethan B Enhanced map imagery, such as for location-based advertising and location-based reporting
US7743325B2 (en) * 2005-03-15 2010-06-22 Microsoft Corporation Method and computer-readable medium for fitting text to shapes within a graphic
JP2007114822A (ja) * 2005-10-18 2007-05-10 Yokogawa Electric Corp 自動レイアウト方法および装置
US9311528B2 (en) * 2007-01-03 2016-04-12 Apple Inc. Gesture learning
US8519964B2 (en) * 2007-01-07 2013-08-27 Apple Inc. Portable multifunction device, method, and graphical user interface supporting user navigations of graphical objects on a touch screen display
US8130211B2 (en) * 2007-09-24 2012-03-06 Microsoft Corporation One-touch rotation of virtual objects in virtual workspace
US20090089739A1 (en) 2007-09-28 2009-04-02 Microsoft Corporation Intelligent editing of relational models
US20090228786A1 (en) 2008-03-10 2009-09-10 Microsoft Corporation Flexible creation of auto-layout compliant diagrams
US8717383B2 (en) * 2008-08-27 2014-05-06 International Business Machines Corporation Automatic management of diagram elements
US9250797B2 (en) * 2008-09-30 2016-02-02 Verizon Patent And Licensing Inc. Touch gesture interface apparatuses, systems, and methods
US8453107B2 (en) * 2008-11-14 2013-05-28 Microsoft Corporation Diagram layout patterns
US20100235734A1 (en) * 2009-03-16 2010-09-16 Bas Ording Methods and Graphical User Interfaces for Editing on a Multifunction Device with a Touch Screen Display
CN101877136A (zh) * 2009-04-30 2010-11-03 国际商业机器公司 处理图形对象的方法、设备及系统
US8612892B2 (en) * 2009-06-18 2013-12-17 Microsoft Corporation Incremental run-time layout composition
US20110154234A1 (en) * 2009-12-18 2011-06-23 Microsoft Corporation Layout projection using non-linear constraints
US20110167336A1 (en) * 2010-01-04 2011-07-07 Hit Development Llc Gesture-based web site design
US9201666B2 (en) * 2011-06-16 2015-12-01 Microsoft Technology Licensing, Llc System and method for using gestures to generate code to manipulate text flow
TWI480794B (zh) * 2011-07-10 2015-04-11 Compal Electronics Inc 訊息顯示方法與電子裝置
US9423927B2 (en) * 2013-12-04 2016-08-23 Cellco Partnership Managing user interface elements using gestures

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812128A (en) * 1996-12-11 1998-09-22 International Business Machines Corporation User defined template arrangement of objects in a container
CN1776667A (zh) * 2005-12-09 2006-05-24 无锡永中科技有限公司 文件编辑中的对象位置处理方法
CN101266516A (zh) * 2008-04-24 2008-09-17 马涛 布局可定制的智能人机接口设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103959243A (zh) * 2011-09-30 2014-07-30 谷歌公司 扩展到用反向弧编码最小和最大约束的有向图的方法和装置
CN103959243B (zh) * 2011-09-30 2016-08-24 谷歌公司 扩展到用反向弧编码最小和最大约束的有向图的方法和装置
CN114217888A (zh) * 2016-05-17 2022-03-22 谷歌有限责任公司 用于用户界面元素的有效布局和控制的基于约束的布局系统

Also Published As

Publication number Publication date
US9405449B2 (en) 2016-08-02
US20110173530A1 (en) 2011-07-14
US10599311B2 (en) 2020-03-24
US20160328129A1 (en) 2016-11-10
CN102129344B (zh) 2016-03-02

Similar Documents

Publication Publication Date Title
CN102129344A (zh) 经由用户姿势识别的布局约束操纵
US9665960B1 (en) Image-based item location identification
CN106105185B (zh) 表示用户的简档的方法、移动设备和计算机可读存储介质
CN107430483A (zh) 导航事件信息
CN103838810B (zh) 使用标签信息进行图像搜索的方法和装置
KR102201658B1 (ko) 상호작용적 디지털 디스플레이
CN1318940C (zh) 在文档上覆盖电子墨迹的方法
US6377288B1 (en) Domain objects having computed attribute values for use in a freeform graphics system
CN102541256B (zh) 具有视觉反馈的位置知晓姿势作为输入方法
Margetis et al. Augmented interaction with physical books in an Ambient Intelligence learning environment
CN105373522A (zh) 基于手势的图表上的数据筛选
CN104036476A (zh) 用于提供增强现实的方法以及便携式终端
CN102023706A (zh) 用于与虚拟环境中的对象进行交互的系统
US11429985B2 (en) Information processing device calculating statistical information
CN104395924A (zh) 共享关于协同环境中的资源的信息
US20200226387A1 (en) Representative image generation
CN111598651A (zh) 物品捐赠系统、物品的捐赠方法、装置、设备及介质
Khan et al. Egocentric visual scene description based on human-object interaction and deep spatial relations among objects
US20160110427A1 (en) Apparatus, system, and method for organizing and embedding applications
CN109196531A (zh) 用于生成用于重定位对象的路线的系统、装置和方法
CN114206457A (zh) 用于将流程映射可视化的方法和装置
US10354008B2 (en) System and method for providing a visual scroll representation of production data
US11636148B2 (en) Method, system, and non-transitory computer readable record medium for providing comparison result by comparing common features of products
KR102699982B1 (ko) 텔레비전에 탈착 가능한 카메라 일체형 전자 칠판 장치
US20240078505A1 (en) Vision-based system and method for providing inventory data collection and management

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: 20150728

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

Effective date of registration: 20150728

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant