CN102132253B - 用于表面计算的基于物理学仿真的交互 - Google Patents

用于表面计算的基于物理学仿真的交互 Download PDF

Info

Publication number
CN102132253B
CN102132253B CN200980133840.2A CN200980133840A CN102132253B CN 102132253 B CN102132253 B CN 102132253B CN 200980133840 A CN200980133840 A CN 200980133840A CN 102132253 B CN102132253 B CN 102132253B
Authority
CN
China
Prior art keywords
physics
particle
input
data
agency
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.)
Expired - Fee Related
Application number
CN200980133840.2A
Other languages
English (en)
Other versions
CN102132253A (zh
Inventor
A·D·威尔逊
S·伊扎迪
A·加西亚-门多萨
D·柯克
O·希尔戈斯
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 CN102132253A publication Critical patent/CN102132253A/zh
Application granted granted Critical
Publication of CN102132253B publication Critical patent/CN102132253B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04104Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Position Input By Displaying (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

所要求保护的主题提供便于增强用于数据操纵的交互式表面技术的系统和/或方法。表面检测组件可以使用多接触表面技术来检测表面输入,其中检测到的表面输入实现与表示物质对象的一部分所显示数据的物理交互。物理学引擎可以将牛顿物理学的一部分整合到与该部分所显示数据的交互中,以便建模与物质对象相关联的至少一个量,该量是力、质量、速度或摩擦中的至少一个。

Description

用于表面计算的基于物理学仿真的交互
背景
计算设备的技术能力越来越高,其中,这样的设备可以在有限的设备空间内提供多种功能。计算设备可以是,但不限于,移动通信设备、台式计算机、膝上型计算机、蜂窝电话、PDA、寻呼机、平板计算机、信使设备、手持式设备、袖珍翻译器、条形码扫描仪、智能电话、扫描仪、便携式手持式扫描仪,以及可以进行数据交互的任何其他计算设备。虽然对于用户而言,每一个设备都使用特定功能,但是设备已经被开发为允许重叠功能,以便吸引消费者的需要。换言之,计算设备已经结合了多个特征和/或应用程序,使得设备侵占了彼此的功能。例如,蜂窝电话可以提供蜂窝式服务、电话簿、日历、游戏、语音邮件、寻呼、web浏览、视频捕捉、图像捕捉、声音便笺、语音识别、高端移动电话(例如,智能电话在特征和功能方面变得越来越类似于便携式计算机/膝上型计算机)等等。
结果,个人计算设备已包括了用于输入信息的各种技术和/或方法。个人计算设备便于使用诸如,但不限于,键盘、小键盘、触摸板、触摸屏、扬声器、指示笔(例如,识别笔)、书写板等等之类的设备来输入信息。然而,诸如小键盘、扬声器和书写板之类的输入设备产生其中每一个用户可以不类似地利用数据输入技术(例如,声音,和/或写入)的用户个性化缺陷。例如,在美国使用书写识别的消费者可以用英语书写,可是具有相异和/或不同的字母变体。
在各种输入技术和/或方法中,表面计算可使得用户能够利用物理接触或交互来操纵数据。例如,对象可以被显示,且表面计算或表面技术可以允许用户利用他的或她的手来移动、编辑对象或与对象进行交互。然而,由于数据交互的量和能力随着表面计算或表面技术而增长,因此用户通常偏好与基本上类似于现实世界中的数据的数据的交互。
概述
下面呈现了本发明的摘要,以便提供此处所描述的某些方面的基本概念。此小结不是所要求保护的主题的详尽的概述。既不旨在标识所要求保护的主题的关键或重要元素,也不旨在描绘本发明的范围。唯一的目的是以简化形式呈现所要求保护的主题的某些概念,作为稍后呈现的比较详细的描述的前序。
本发明涉及便于将物理学结合到表面计算和数据交互中的系统和/或方法。表面检测组件可以动态地检测表面输入,并利用物理学引擎将物理学仿真结合到这样的表面输入中。一般而言,可以使用表面输入以便与所显示数据进行交互,其中物理学引擎可以对于诸如质量、速度和/或摩擦等应用物理学仿真建模。具体而言,物理学引擎可以为检测到的表面输入的轮廓生成多个代理对象。物理学引擎还可以在第一帧和第二帧之间应用物理学仿真更新,以便提供与所显示数据的交互。
根据本发明的另一方面,流组件可以提供用于表面输入的运动计算,以便提供运动跟踪。此外,操纵器还可以提供操纵保真度(例如,碰撞力的影响、以静摩擦和动摩擦对抗手轮廓和手指提供高保真度等等),收集(例如,实现每次操纵一个以上的对象等等),操纵3D对象,提供布和软体(例如,提供非刚性对象,软体仿真,布仿真,流体仿真等等)。在所要求保护的主题的其他方面,提供了促进向物质对象的数据表示和表面输入之间的交互施加物理量的方法。
下面的描述和附图详细地阐述了所要求保护的主题的某些说明性方面。然而,这些方面只是表示可以使用本发明的原理的各种方式中的一些方式,并且所要求保护的主题旨在包括所有这些方面和等效内容。通过与附图一起阅读下面的本发明的详细描述,所要求保护的主题的其他优点和新颖的特点将变得显而易见。
附图简述
图1示出了便于将物理学结合到表面计算和数据交互中的示例性系统的框图。
图2示出了便于将物理量应用到物质对象的数据表示和表面输入之间的交互的示例性系统的框图。
图3示出了便于为操纵一部分所显示数据的用户提供增强的表面计算的示例性系统的框图。
图4示出了便于利用与表面计算相关联的数据交互复制牛顿物理学的示例性系统的框图。
图5示出了便于允许表面技术的操纵样式的示例性系统的框图。
图6示出了便于将物理学结合到表面计算和数据交互中的示例性系统的框图。
图7示出了用于将物理量应用到物质对象的数据表示和表面输入之间的交互的示例性方法。
图8示出了便于利用与表面计算相关联的数据交互复制牛顿物理学的示例性方法。
图9示出了其中可以使用所要求保护的主题的新颖方面的示例性网络环境。
图10示出了根据所要求保护的主题可以使用的示例性操作环境。
详细描述
现在参考附图来描述所要求保护的主题,在所有附图中通篇使用相同的附图标记来指代相同的元素。在以下描述中,为解释起见,阐明了众多具体细节以提供对本发明的全面理解。然而,很明显,所要求保护的主题可以在没有这些具体细节的情况下实施。在其他情况下,以框图形式示出了各个已知的结构和设备以便于描述本发明。
如此处所使用的,术语“组件”、“系统”、“数据存储”、“引擎”、“操纵器”等等旨在是指与计算机有关的实体,无论是硬件、软件(例如,运行中的软件)和/或固件。例如,组件可以是,在处理器上运行的进程、处理器、对象、可执行件、程序、函数、库、子例程,和/或计算机或者软件和硬件的组合。作为说明,在服务器上运行的应用程序和服务器两者都可以是组件。一个或多个组件可以驻留在进程中,且组件可以位于一个计算机上和/或分布在两个或更多计算机之间。
此外,所要求保护的主题可以使用产生控制计算机以实现所公开的主题的软件、固件、硬件或其任意组合的标准编程和/或工程技术而被实现为方法、装置或制品。如这里所使用的术语“制品”旨在包含可以从任何计算机可读的设备、载体或介质进行访问的计算机程序。例如,计算机可读介质可以包括,但不仅限于,磁存储设备(例如,硬盘、软盘、磁条…)、光盘(例如,紧致盘(CD)、数字多功能盘(DVD)…)、智能卡,以及闪存设备(例如,卡、棒、键驱动器…)。另外,应该理解,可以使用载波携带计算机可读电子数据,如那些在传输和接收电子邮件或在访问诸如因特网或局域网(LAN)之类的网络时所使用的。当然,本领域的技术人员将会认识到,在不背离所要求保护的主题的范围或精神的情况下可以对这一配置进行许多修改。此外,在此使用词语“示例性”意指用作示例、实例或说明。此处作为“示例性的”所描述的任何方面或设计不一定被理解为优于或胜于其他方面或设计。
现在转向附图,图1示出了便于将物理学结合到表面计算和数据交互中的系统100的框图。系统100可包括表面检测组件102,该表面检测组件102可以经由界面组件106检测表面输入,以便允许与一部分数据进行交互。系统还可以包括物理学引擎104,该物理学引擎104可以对于至少一个量应用基于物理学的仿真,其中该量是力、质量、速度或摩擦这几项中的至少一个。换言之,物理学引擎104可结合数据交互和/或与一部分所显示数据有关的表面输入一起提供现实的物理学仿真。
例如,可以显示一部分数据,其中,用户可以与其进行交互。具体而言,用户可以提供表面输入(例如,触摸事件、手姿势等等),以便操纵该部分所显示数据。例如,可以显示诸如立方体之类的物质对象,其中用户可以使用通过表面计算检测到的表面输入,以便操纵(例如,移动、删除、收缩、放大、旋转等等)立方体。所要求保护的主题可以允许这样的操纵具有与力、质量、速度、摩擦等等相关联的现实世界的物理特征。
在另一示例中,可以用图形方式表示和显示螺栓和螺母,其中用户可以抓取此类用图形方式显示的对象中的任一个并与之进行交互。根据所要求保护的主题,物理学引擎104可以向对象和/或与这样的对象的交互提供物理量(例如,力、转矩、重力、质量、速度等等)。如此,用户可以抓取螺母,并尝试利用相关联的现实世界的物理量将这样的螺母拧到螺栓上。
可以使用系统100,以便捕捉与一部分所显示数据有关的触摸事件、表面输入,和/或表面接触。可以理解,这样的捕捉到或检测到的事件、输入或接触可以是姿势、手的运动、手的交互、对象交互,和/或与表示物质对象的一部分数据的任何其他交互。例如,可以将手的交互转换成显示器上相对应的数据交互。具体而言,用户可以物理地操纵一部分所显示数据,其中,可以检测和转换这样的手姿势以便进行数据交互。如此,触摸事件检测可以由表面检测组件102来实现。可以理解,触摸事件可以是任何物理交互,一部分所显示数据,检测到的表面输入,和/或其任何合适的组合。
另外,系统100可包括任何合适的和/或所需的接口组件106(此处称为“接口106”),该组件提供各种适配器、连接器、信道、通信路径等等,以将表面检测组件102和/或物理学引擎104集成到几乎任何操作系统和/或数据库系统和/或彼此集成。另外,接口106可以提供各种适配器、连接器、信道、通信路径等等,用于与表面检测组件102、物理学引擎104、表面输入,以及与系统100相关联的任何其他设备和/或组件进行交互。
图2示出了便于将物理量应用到物质对象的数据表示与表面输入之间的交互的系统200。系统200还可以包括数据存储204,该数据存储204可包括与表面检测组件102、物理学引擎104、表面输入等等有关的任何合适的数据。例如,数据存储204可包括,但不仅限于,包括,物理量、物理特征、物理属性、物理方程、用户偏好、用户口令、用户名、映射、图像处理数据、图像处理技术、二进制数据、物理数据、代理对象数据、粒子代理(particle proxy)数据、流数据、操纵数据等等。
可以理解,数据存储204可以是,例如,易失性存储器或非易失性存储器,或者可包括易失性和非易失性存储器两者。作为说明,而不是限制,非易失性存储器可包括只读存储器(ROM)、可编程序ROM(PROM)、电可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)或闪存。易失性存储器可包括充当外部高速缓冲存储器的随机存取存储器(RAM)。作为说明而不是限制,RAM可以有许多形式,如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、直接存储器总线(Rambus)RAM(RDRAM),直接存储器总线动态RAM(DRDRAM),以及存储器总线动态RAM(RDRAM)。本系统和方法的数据存储204旨在包括,而不仅限于,这些以及任何其他合适类型的存储器。另外,还可以理解,数据存储204可以是服务器、数据库、硬盘驱动器、笔式驱动器、外部硬盘驱动器、便携式硬盘驱动器等等。
图3示出了便于为操纵一部分所显示数据的用户提供增强的表面计算的系统300。系统300可包括图像处理组件302,该图像处理组件302可以利用任何合适的图像处理技术以便使从用户306收集到的表面输入与显示器304上的投影图像对准。例如,可以检测表面输入,并可以计算显示器304上的投影图像中的对应点。在另一示例中,可以将用户的手或手指置于可以对其执行与所显示数据的交互的表面上。在此示例中,手指或手可以操纵该部分所显示数据,其中,这样的数据可以以物理准确的结果(例如,力、质量、速度、摩擦等等)作出响应。例如,图像处理组件302可以使用二进制化、图像分析、所捕捉图像的分析等等。此外,还可以理解,显示器304可以是任何合适的显示组件,诸如但不限于,监视器、电视机、液晶显示器(LCD)、等离子、背投显示器、前投显示器、阴极射线管(CRT)监视器、平板显示器、计算设备的显示器、便携式数字助理(PDA)屏幕、膝上型显示器、计算机监视器、智能电话显示器、蜂窝设备屏幕、移动通信设备显示器、便携式游戏设备显示器等等。
图4示出了便于利用与表面计算相关联的数据交互来复制牛顿物理学的系统400。系统400可包括代理对象组件402,该代理对象组件402可以通过为检测到的每一个表面输入创建代理对象来将表面输入结合到物理学仿真中。系统400还可以包括粒子代理组件404,该粒子代理组件404利用沿着表面输入的轮廓放置的多个代理对象建模表面输入的形状,代理对象的轮廓是特定代理。系统400还可以包括流组件406,该流组件406可以通过跟踪第一帧和第二帧之间的运动来计算粒子代理的运动。
本发明可以探索新兴的表面技术之间的交叉,能够感测多个接触,以及甚至形状信息及高级游戏物理学引擎。定义了用于将从这样的表面感测到的数据建模为物理学仿真内的输入的强大而新颖的技术。这给用户提供了以类似于操纵真实物体的方式来与数字对象进行交互的能力。本发明可以提供能够建模多个触点和诸如整只手或其他物理对象之类的更加复杂的形状信息,并能够将此用户输入映射到物理学世界内的摩擦力和碰撞力。这允许各种细粒度和不经意的交互,支持基于手指的,整只手的,以及有形的输入。该技术可以被用来向交互式表面(例如,基于视觉的桌面等等)添加真实世界动态学,从而创建流畅且自然的体验。此方法可以使应用程序开发人员不会感觉到使用物理学引擎所固有的许多复杂性,从而使得能在无需预编程交互行为或姿势识别的情况下创建应用程序。
新兴的交互式表面技术的其中一个吸引力是,它们可允许人们通过直接触摸和操纵屏幕上的内容来与数字对象进行交互。使用这样的系统的人常常评论,这种用于伸展和触摸数字内容的能力向交互添加了物理或有形性质,从而使虚拟感觉起来更加真实。许多基于交互式表面的应用程序尝试通过仔细地设计展现真实世界的行为的感觉的界面对象来进一步强调此伪物理性。一个这样的示例是在桌面应用程序中发现的旋转和平移行为,其中,交互类似于利用一根或多根手指在平坦表面上移动真实的一张纸。虽然这样的交互的响应可能感觉起来逼真,但是,此行为是预编程的。例如,数字照片如何旋转或平移是通过现有的交互逻辑来预定义的。如此,这样的技术具有固有的以脚本编写的特性,一旦用户以开发人员料想不到的方式与系统进行交互,这种特性就会毁坏。
本发明提供了用于在新兴的表面技术(例如,能够感应多个触摸点和/或更加复杂的形状信息的系统)上支持伪物理交互的不同的方法。具体而言,可以使用计算机游戏中所使用的模仿牛顿物理学的物理学引擎,如此,通过建模诸如但不仅限于,力、质量、速度、摩擦、转矩之类的量,和/或任何其他合适的物理量或度量来与数字对象进行交互。这样的引擎可允许用户通过与现实世界中的交互更相似的更丰富的参数集来控制和操纵数字对象。
尽管物理学引擎是全面的,但是,这样的引擎却难以掌握。可以向应用程序开发人员展示许多系数和参数,并且建模用户输入是不平凡的,特别是对于超出单个触点的数据。本发明可以提供用于建模从表面技术感测到的丰富数据作为物理学仿真内的输入的强有力技术。所要求保护的主题可以建模一个或多个触点,诸如从多触摸表面感测到的那些触点,并且还可以扩展以表示诸如整只手或表面附近的有形对象的略图之类的更复杂的形状。这可以允许用户通过施加诸如摩擦和碰撞之类的力来与对象进行交互并控制对象,但是避免了使用户和应用程序设计员面临物理学引擎(例如,物理学引擎104)的复杂性。
通过将此技术与游戏物理学引擎以及基于视觉的交互式表面组合起来,可以将真实世界的动态学添加到数字应用程序中。所要求保护的主题可以创建自然并流畅的基于物理学的交互,无需显式地将此行为编程到系统中或者识别手势。进一步提供了高级物理学仿真器用以允许用户与诸如软体和布之类的更复杂材料进行交互的能力。
本发明进一步探索了在开发这样的上面所讨论的技术试验的替换的方法的折衷。所要求保护的主题可以允许实践者理解每一种方法的细微差别,以便他们还可以进一步探索表面和物理学之间的交叉点。此外,还探索了在实践中使用这样的技术的早期经验。
交互式表面技术可以有广泛的不同。可以演示电阻性的和电容性单触摸和多触摸系统,以及能够对指尖和诸如整只手或其他物理对象之类的更加复杂的形状信息进行成像的计算机视觉系统。本发明可以支持这样的广泛的表面输入,而不是开发为一种技术度身定制的技术。
交互式表面上的接触信息(例如,指尖触摸表面)可以被表示为离散的2D点。即使有关于接触的形状的更多信息可用,也可以将相邻的传感器像素分组到相邻的区域或连接的组件中。在很多情况下,每一个不同的接触都可以通向一个组件,该组件又通向单个2D点——该特定组件的计算出的质心。如此,此方法将每一个接触聚焦到基于点的表示,而不管其形状如何。
由如此多的表面技术所使用的基于单点和多点的输入模型可以得到支持。然而,如果有所需的数据可用,则支持更复杂的形状表示有多个优点。可以更广泛地定义触点(其已经变成与2D触摸点同义),以便不仅定义指尖,而且还定义的其他接触形状,诸如手掌,或者甚至有形对象。
用于计算关于接触形状的更多数据的一个更高保真度方法可以是确定每一个组件中的像素的长轴和短轴,以便获取大致匹配形状的椭圆模型。这对于椭圆形状的接触(例如,指尖)好使,但是,对于复杂形状,不太有效。替换地,可以通过计算被表示为闭合回路的每一个接触的轮廓来将形状更准确地表示为多边形网格。另一种技术是通过使用过滤器(例如,索贝尔(Sobel)等等)来计算空间梯度来获得位于轮廓附近的像素。
这样的方法使得用户输入的更复杂表示得到支持。这种带有高级物理学仿真的输入的宽阔的保真度可以允许藉由其可以操纵数字对象的词汇表的扩展。例如,所要求保护的主题可以使用丰富且各式各样的交互技术和策略来在更少脚本的情况下作出对数字对象的操纵。
物理学引擎104可以允许在图形应用程序中创建真实世界的机制和行为,同时隐藏计算复杂度。物理学引擎104可以使用许多物理学概念诸如,但不仅限于,加速度、动量、力、摩擦、扭矩、碰撞等等。除刚体之外,许多系统建模粒子(例如,对于烟、灰尘等等)、流体、毛发、衣服等等。虚拟接头和弹簧可以给布洋娃娃角色和车辆提供适当的灵活性和阻力,并且材料可被编程为具有特定属性——以便例如使得冰是光滑的。所要求保护的主题可以涉及诸如由于所仿真的物体之间的碰撞和摩擦而产生的接触力之类的接触力。
对碰撞的处理可以被分成碰撞检测、确定刚体是否接触,以及碰撞响应——如果它们接触,则施加适当的力。例如,可以通过考虑定义立方体的面与地板的面的交叉来检测落在地板上的立方体的碰撞。作为结果(例如,响应),立方体的运动中的变化是质量、惯性、速度,以及与地板接触的点等等因素的函数。
摩擦力可以描述当一个主体与另一个主体的表面保持接触时阻碍运动的力。如果两个表面相对于彼此移动,则动摩擦可以对抗使主体移动的力。如果两个表面相对于彼此静止,则静摩擦可以对抗否则将导致其中一个对象运动的力。
为了与物理学引擎104中的虚拟对象进行交互,可以在仿真内表示表面接触。这样的引擎可以具有巨大的潜力和灵活性。因此,对于在物理学世界建模表面输入,有许多策略。例如,有下面的策略:(1)直接力-触点可以被表示成力,而没有在对象上的特定点处应用的几何或视觉表示。可以根据接触的速度和大小(如果可用的话)计算出力方向和大小。(2)虚拟接头和弹簧-每一个接触都可以连接到虚拟对象,以使得只要它位于表面上,对象就跟随触点。(3)代理对象-可以通过诸如立方体或球体之类的实心几何对象来表示触点。这些对象是触摸表面的触点的近似,并通过碰撞和摩擦力拉起与其他虚拟对象进行交互。(4)粒子-在关于接触的形状的附加信息可用的情况下,可以将多个实心对象或粒子结合起来,以更严密地近似接触的形状和运动。这可以允许建模与整只手或诸如有形对象之类的其他换能器的交互。(5)可变形的2D/3D网格-用于建模更复杂的形状的另一种方法是基于传感器数据中的特征来构建2D或者甚至3D网格(如果有数据可用的话)。
乍一看,似乎手的可变形3D网格可以实现最高保真度。但是,利用此方法存在多个难点。首先,交互式表面在表面上或表面附近提供感测,并非完全3D形状。类似地,由于被操纵的对象存在于(例如,平坦的)投影表面上,因此,手的3D形状,如果被捕捉,将不会符合对象,从而不会反映抓握真实物体的真实手的形状。最后,构建这样的动画化网格是困难的,要求对3D对象的特征和精确变形进行稳健跟踪。
本发明可以提供与查找在这些高级物理学仿真内仿真表面输入的技术相关联的解决方案。所要求保护的主题可以涉及保持基于网格的表示的优点——特别是交互的高保真度——但是对于应用程序设计员而言相当容易实现的新颖的代理/粒子技术。
在物理学仿真内,应用程序可以通过直接施加一个或多个力来控制刚体的移动。例如,游戏中的宇宙飞船可以在其机身的任一侧具有助推器。可以通过在两个助推器的位置施加前向力来将飞船向前推。如果在相反的方向上施加其中一个力,则飞船将转动。旋转是扭矩的副产物,其在偏离(质量)中心地施加力时发生,因为机身的不同的部分以不同的速度移动。
从程序员的观点来看,此方法不同于通过设置飞船的绝对位置来移动飞船。可以计算将对象移到其目标位置所需的准确的力和扭矩,这是被称为“动力学控制”的概念。这种定位对象的方法可以确保与仿真中的其他主体的正确的碰撞响应。比较起来,在仿真内直接设置主体的位置会导致不稳定且不可预测的结果。在某些方面,绝对定位将类似于将真实物体从一个位置运输到另一个位置。在对象部分地被嵌入在彼此中的情况下,会出现诸如相互渗透的问题。
因此,用于在交互式表面上移动对象的策略是考虑到触摸刚体的每一个接触都根据接触的运动(以及推测的质量),向主体提供摩擦力。可以向主体施加这多个摩擦力,如在上文所讨论的宇宙飞船的示例中那样。此方法所存在的问题在于,为计算匹配接触的移动所需的力,作用于主体的所有其他外力可被计及和抵消。这些可包括对于应用程序开发人员而言难以或不可能获取的摩擦力和碰撞响应。
这一难点延伸到考虑与表面接触相对应的力。在多个接触的情况下,可以(例如,同时地)确定与每一个接触相对应的正确的摩擦力。考虑接触中的一个或多个表现出静摩擦的情况。回想一下,静摩擦施加一个力,该力抵消否则将导致主体运动的力。例如,一个接触固定住一个对象,以使得它将由于另一个接触的运动而旋转,由于其中一个接触的正确的摩擦力的施加会要求知道由于另一个接触而导致的摩擦力。
事实上,物理学引擎104的核心是解决此问题的复杂的约束解算机。在没有在物理学引擎内基本构建新解算机的情况下,或者在没有对现有的解算机的内部构件进行访问的情况下,似乎不可能直接正确地施加接触力。即使可以改变解算机或嵌入另一个,但是这样的方法将违反所要求保护的主题的精神,其中,利用现有的完全物理学引擎,而不是从头开始构建。
最初,似乎解决方案是作为动力学来处理摩擦的。但是,这在进行固定的示例中也造成问题。由于动摩擦力只在存在相对运动的情况下才起作用,因此,使对象的被固定部分静止的反作用力会首先移动。如此,当移动对象时,此方法会导致有点粘滞并且稍微不可预测的感觉。
另一种动力学方法是使用接头来连接虚拟对象和输入接触。将此视为具有在特定锚点绑定到对象的预定义的长度的不可见绳的段。然后,使用此绳索拉对象。弹簧添加弹性,从而允许连接伸展和回弹。
通过连接偏离中心的接头,对象会遭受到力和扭矩——使用单一连接即可使对象移动和旋转。在前面的示例中,附接到第一触点的一个接头和对象的一个角可以充当枢轴点。将另一个接头附连到描述角运动的对角和触点将导致对象围绕第一触点旋转。
此方法可能不适用于多个同时的触点,特别是在相反的方向拉的触点。在真实世界中,甚至最刚硬的材料也会通过它们的原子结构的变形来吸收从相反的力产生的能量。这在所有计算都可以使用建模质量的影响的质心和惯性张量来执行的物理学仿真中是不可能的。实际主体及其体积用于碰撞检测和呈现,并且不可以基于动态学计算来操纵。如此,通常将使刚性对象变形或将其撕碎的一组力会导致不稳定系统——通常导致对象快速地振荡,并表现得无法预测。
弹簧可以通过在连接中提供更大的柔性来部分地减轻这些问题中的某些。然而,弹簧的弹性和接触所连接对象的响应性如何之间存在折衷(例如,弹簧应该相当短和刚硬,以允许更快的响应)。另一种方法是允许接头或弹簧在这些情况下断开,但是,这会容易导致对象将飞到用户的范围之外的情形。
可以在启用单点物理学的应用程序中使用上文所描述的两种技术,其中,就建模多个接触讨论了这样的限制。
首先,接触可能不是离散的2D点,并可能需要接近地匹配接触输入的形状。不清楚如何利用这些方法中的任何一种来建模更复杂的形状和轮廓。其次,上面的对象操纵技术解决了用户直接触摸对象从而通过摩擦力移动对象的情况。这些方法中没有哪一个是通过碰撞力(例如,从施加于对象的侧面的接触力)来解决对象的移动的。
所要求保护的主题提供解决框架中的摩擦力和碰撞力并可以轻松地被扩展以处理任意轮廓的形状的技术。这样,它解决了以前的技术的许多难题。
系统400可包括可以生成根据本发明的代理对象的代理对象组件402。代理对象的用于将表面输入结合到物理学仿真中的方法是在仿真中引入刚体,每一个表面接触一个。可以在动力学方面控制这些体,以匹配表面接触的位置,并且可以通过碰撞或者摩擦来与场景中的其他刚体进行交互。这样的代理对象可以被视为物理学仿真内的触点的化身(incarnation)。
此代理方法可以带有各种好处,诸如对程序员隐藏了力计算的复杂性(事实上,隐藏大多数物理学方面),而同时避开了以前所描述的方法的难题。它利用碰撞以及摩擦力(例如,静摩擦的、动摩擦的等等)来建模丰富的交互,诸如,但不仅限于,推、抓取、夹紧、拖曳等等。代理对象可以通过由物理学引擎104所提供的技术来与仿真中的其他对象进行交互。此外,此方法可以避免对解算机上的不必要的应变(例如,插入极端的力值)以及所产生的不稳定的仿真状态。
为每一个触点创建和定位代理对象。诸如立方体或球体之类的单一形状原语可以用于每一个接触。当一个接触最初出现时,执行光线投射计算,以确定代理的位置和高度,以便它触摸底层对象。在另一示例中,可以使用球体或立方体来作为代理形状,以创建从平面附近的3D摄像机伸展到所触摸对象的表面的细胶囊,箱子,或柱体。这种代理可以不仅与同所触摸对象(例如,地板,等等)位于同一个平面上的对象碰撞,而且还与位于半空中的或堆放在其他对象(例如,其他平面)上的对象等等发生碰撞。这样的行为可以更紧密地对应于用户所预期的东西。
随着感测系统(例如,表面检测组件102)向接触位置提供更新,可以在动力学上控制对应的代理对象,以匹配已更新的位置。这是通过施加必要的力以将代理对象(具有已知质量)带到准确的位置来执行的。此方案可以允许用户利用碰撞力来将对象推来推去或通过从两个相对的侧触摸对象来抓取对象。
动力学控制中的细微变化可以允许代理对象在其落在另一刚体上时施加摩擦力(如,例如,当用户触摸虚拟对象的顶表面时)。具体而言,可以施加与所触摸对象相切的力,以匹配接触位置。如同动态主体那样,可以包括重力作为外力。在重力被定向到桌子上的情况下,代理如此向其他对象施加向下的力,并导致摩擦力。这种对于对象的混合型动力学-动态学控制可以通过向代理刚体直接施加力或通过对该主体的运动施加的棱柱接头约束来实现。可以通过改变代理对象的质量来调整手指在对象上的模仿的重量,同时可以通过改变静摩擦和动摩擦系数来调整虚拟对象的材料特性。
代理-对象技术的一个优点是,它利用物理学引擎104的内置功能来模拟摩擦和碰撞接触力。此外,由于对接触力的计算可以通过内置物理学引擎解算机(例如,物理学引擎104)来处理,因此,可以处理由于多个代理对象所造成的同时的静摩擦力和动摩擦力的组合影响。这些摩擦力可以使用户能够平移和旋转直接触摸的对象(通过相反的力方向)。
系统400还可以包括粒子代理组件404。每一个触摸点都可以被近似为单个代理对象。这可以允许快速实现,并有助于提供只报告接触位置而不报告形状信息的感测系统,以及适用于支持与食指指尖或指示笔笔尖的交互的应用程序。
某些交互式表面可以提供形状信息,如有朝向的椭圆,边界框或完整的多边形轮廓。粒子代理的思想是通过沿着检测到的接触的轮廓放置的多个代理对象(例如,粒子)来建模接触形状。粒子可以随着轮廓改变大小和形状而添加和删除。示例实现可以涉及在每一个仿真帧的开始处为轮廓创建新的一组代理对象,并且在已更新物理学仿真之后销毁所有代理对象。尽管在物理学更新之后可以销毁代理,但是,在更新期间每一个代理都可以施加碰撞和摩擦力。
粒子代理方法的优点是双重的。首先,碰撞看起来更正确,因为它们紧密地跟随接触的形状。这在使用手的手掌或侧面、有形对象,或除指尖以外的一般接触时,特别重要。此外,可以准确地建模一个对象顶部的摩擦力的分布和大小。例如,手掌可以比手指的指尖施加更大的摩擦力,因为更多粒子被指派给它。同样,单个接触在一个位置转动可以施加摩擦力以旋转对象。与单代理模型不同,可以分开放置每一个粒子(例如,光线投射),以使得接触可以符合形状不规则的3D虚拟对象。
如在单个代理对象模型中那样,可以在动力学上控制每一粒子,以匹配它所属的接触的移动。一般而言,可以通过检查前一帧中接触的轮廓来计算轮廓上的点的速度。此计算可以非常快,如同椭圆模型那样,或更加复杂,如同多边形轮廓那样。
系统400可包括流组件406。将速度计算基于被跟踪的接触的一个问题在于,跟踪可能会失败,特别是当用户正在使用诸如手的边或手掌而不是更光标类的食指的束缚力不太强的抓握姿势时。在这些情况下,组件可以以不与如何看到物理输入的方式相对应的方式拆分和合并,从而导致错误的速度计算,且最终,在物理学仿真的情况下,导致不可预测的运动。
一种替换方法可以是独立于被跟踪的接触信息来计算粒子的运动。例如,图像的局部特征可替代地从前一帧来跟踪以计算速度。光流中所使用的那种简单块匹配法是一种这样的技术。
当使用本地运动估计时,可以通过将代理粒子放在带有高空间梯度的图像位置(例如,索贝尔过滤器等等)来完全避开对离散的接触对象和轮廓的跟踪。这些像素可以落在接触轮廓上或附近。
基于流的粒子代理方法/技术的形状和运动计算的瞬时分段特征具有多个优点。首先,摩擦和接触力导致比根据离散的被跟踪对象计算形状和运动的情况更稳定的物理学仿真结果。其次,几乎不对用户可以执行的操纵施加限制,无论是导致碰撞、摩擦力或其组合。
首先,尽管在真实世界中可以施加或多或少的力来控制摩擦,但是,所描述的系统可能不具有用户有多用力地按下的感觉。当使用粒子代理时,施加的摩擦的大小替代地与施加于对象的代理的数量成比例,而施加于对象的代理的数量本身又与触摸的表面积相关。例如,一根手指在对象上移动将比多根手指施加更小的摩擦。此外,设备还可以感测可以被转换为若干个代理上的力的表面类的压力。
第二个问题可以是,通过将两根手指或者两只手放在任何一侧来抓握虚拟对象在我们探索的许多技术中会是困难的(如果不是不可能的话)。这样的操纵要求在虚拟对象上放置永久静止接触。基于粒子的方法(其中,每一个粒子都可以被重新放在每一个帧中),将把与抓握手指相对应的代理放在对象上,如此,使抓握它的尝试无效。单代理对象方法使用永久代理,从而可允许抓握被搁在地板上的对象。也可以扩展粒子方法,以在似乎适当时允许代理保持在给定深度,或使用其中同时使用粒子和单代理技术的混合式方法。
例如,所描述的系统能够通过将输入图像的灰度级解释为轻触摸或重触摸来感测压力。对于基于代理的技术,此可以通过改变代理的质量来实现。提供每像素深度信息的新范围感测摄像机也是适当的。可以使用每像素深度来构建手的丰富的3D模型,从而开启了建模抓握行为的新机会。它也可以有助于抓握对象,以便将它提起,并将它放到另一个对象上。
所要求保护的主题可以提供用于将交互式表面输入基本要素结合到实时物理学仿真中的多种技术。所描述的技术可以利用由基于视觉的交互式表面所提供的感测保真度,且以在虚拟域中实现一系列在真实世界中可为我们所用的对象操纵策略为目标。
图5示出了便于允许表面技术的操纵样式的系统500。系统500可包括可以提供操纵保真度、收集、对3维(3D)对象的操纵,或刚性仿真这几项中的至少一项的操纵器。通过向物理学仿真中提供比较详细的表面输入类型,本发明可以允许从真实世界体验中汲取各种操纵形式。所要求保护的主题可以提供操纵保真度、收集、操纵3D对象、布和软体中的至少一个。
当考虑对对象进行操纵时,利用详细的形状和运动信息的能力具有重要性。可以通过组合了相对于手和手指的轮廓的碰撞与静摩擦和动摩擦的各种策略中的一种策略来移动自由移动的虚拟对象。至少部分地基于同时使用的所有三种力,印象是非常高的保真度中的一个。一个示例可以是对能够在表面上自由地滚动的球的操纵:可以使用单次轻触摸、多次触摸,或用于制动能力的手掌来以惊人准确的方式迫使它滚动、旋转、停止或弹跳。还可以无成本地集成物理对象,从而允许各种有趣的有形的行为。
操纵器502可以提供感测和处理轮廓,以及跨虚拟空间分段地分布摩擦力的能力,这允许一次对两个或更多对象进行操纵,就像可以移动分散在一个桌子或表面上的一组小对象那样。用户可以使用他们的手的边缘(例如,或者甚至手臂)来一次碰撞许多对象,或者使用多只手的手掌来施加摩擦力。对于能够感应物理对象的交互式表面,一种有趣的可能性是使用尺子或任何其他直边的对象来移动和对齐多个对象。
以3D建模虚拟对象和输入实现有趣的但熟悉的交互。例如,被搁在较大的平坦对象上的小的平坦对象可通过轻敲其侧面或施加摩擦来移动。取决于所涉及的质量和摩擦,可能需要将较大的对象保留在原位。显而易见,设计人员可以利用操纵器502来调整质量、摩擦和外观以匹配用户的期望。
然而,如果交互仅限于来自侧面的碰撞力和来自顶部的摩擦力,则可以提供用户可以将较小的对象放在另一个的顶部的方式。坡道、跷跷板,及其他结构也是可以的,如果构思出了某种东西的话。在一个示例中,通过向对象的一侧施加足够的摩擦力,可能可以将一个对象翻转到另一个对象上。
当要堆积的对象是薄的时,诸如表示文档的卡片,使用操纵器502的一种技术是为每一对象的顶表面和底表面提供曲面形状,该形状允许用户通过按下一端而翘起另一端。然后,用户可以将另一类似尺寸的卡移到倾斜的卡片的下面。此行为可以与在真实世界中我们的感知相对应。甚至诸如,但不仅限于,卡片、纸、信用卡等等之类的平坦对象也具有可以被直观地用于操纵的3D形状。
诸如箱子、球体等等之类的刚体可以解释所描述的交互技术。然而,在真实世界中,对象可能不是刚性的;相反,它们可以是软的,有韧性的,并且可以在施加力之后变形或分解。示例可包括,但不仅限于,包括橡胶、布、纸、塑料、软金属等等。
除刚体动态学之外,操纵器502可以提供对于软体仿真、布仿真和/或流体仿真提供某种形式的支持的物理学仿真。因为可以通过碰撞或摩擦力进行与所要求保护的主题相关联的模型中的所有交互,因此,它可以应用于任意虚拟对象。例如,可以通过使用一只手的所有手指的抓握交互弄皱一块布。然后,可以通过将手放平,向下压,来将该被弄皱的布弄直。甚至可以通过在两个角的相对的方向施加力来将纸类对象撕开。
此外,操纵器502可以允许软的容器体被压扁,以便放入空腔中,或压缩以便在其他对象下面滑过。软材料还可以用于制作地形;可以由用户将他们的手指挖到地形中,使用他们的整只手来形成山谷,或使用杯状手势以产生高地,来触发变形。可以进一步提供与粒子系统(例如,模仿沙子)和流体的更开放且自由形态的交互(例如,在游戏上下文中,等等)。
图6示出了使用智能来助益物理学自动地结合将到表面计算和数据交互中的系统600。系统600可包括表面检测组件102、物理学引擎104,以及界面106,它们可以基本上类似于前面附图中所描述的相应的引擎、组件、界面。系统600还包括智能组件602。智能组件602可以被物理学引擎104用来助益连同表面计算一起来将牛顿物理学以及相关特性与表面计算结合到数据交互。例如,智能组件602可以推断质量、力、速度、摩擦、代理对象、粒子代理、速度计算、数据交互等等。
智能组件602可以使用信息价值(VOI)计算,以便标识由显示的数据表示的对象的量。例如,通过利用VOI计算,可以标识和实施最理想和/或适当的物理特性。此外,还可以理解,智能组件602可以从经由事件和/或数据捕捉到的一组观察结果推理或推断出系统、环境和/或用户的状态。可以使用推断来识别特定上下文或操作,或者可以生成,例如状态上的概率分布。推断可以是概率性的,即,基于对数据和事件的考虑来计算在感兴趣状态上的概率分布。推断也可以是指用于从一组事件和/或数据构成较高级别的事件的技术。这样的推断导致从一组观察到的事件和/或存储的事件数据构建新的事件或操作,不管事件在时间上是否紧密相关,以及事件和数据是来自一个还是多个事件和数据源。可以与执行涉及所要求保护的主题的自动的和/或推断操作一起,使用各种分类(经显式地和/或隐式地训练的)方案和/或系统(例如,支持向量机、神经网络、专家系统、贝叶斯信念网络、模糊逻辑、数据合成引擎,等等)。
分类器是将输入属性矢量x=(x1,x2,x3,x4,xn)映射到该输入属于某一个类的置信度的函数,即,f(x)=置信度(类)。这样的分类可以使用基于概率和/或统计的分析(例如,分解成分析效用和成本)来预测或推断用户希望自动地执行的动作。支持矢量机(SVM)是可以使用的分类器的一个示例。SVM通过发现可能的输入的空间中的超曲面来操作,该超曲面试图将触发准则与非触发事件分离。直观地,这使得分类可以校正近乎与训练数据接近但又不完全相同的测试数据。其他有向和无向的模型分类方法包括,例如,朴素贝叶斯、贝叶斯网络、决策树、神经网络、模糊逻辑模型,也可以使用提供不同独立性模式的概率分类模型。如这里所使用的分类还包括被用来开发优先级模型的统计回归。
物理学引擎104还可以利用呈现组件604,该呈现组件604提供各种类型的用户界面,以便于用户和耦合到物理学引擎104的任何组件之间的交互。如所描绘的,呈现组件604是可以与物理学引擎104一起使用的单独实体。然而,可以理解,呈现组件604和/或类似的查看组件可被结合到物理学引擎104中和/或作为独立单元。呈现组件604可以提供一个或多个图形用户界面(GUI)、命令行界面等等。例如,可以呈现向用户提供用于对数据进行加载、导入、读取等等操作的区域或手段,并可包括演示这样的操作的结果的区域的GUI。这些区域可以包括已知的文本和/或图形区域,包括对话框、静态控件、下拉菜单、列表框、弹出式菜单、编辑控件、组合框、单选按扭、复选框、按钮,以及图形框。另外,还可以使用便于呈现的实用程序,如用于导航的垂直和/或水平滚动条和确定某一区域是否可查看的工具栏按扭。例如,用户可以与耦合到和/或结合到物理学引擎104的组件中的一个或多个进行交互。
用户还可以与经由各种设备(诸如,例如,鼠标、滚球、触摸板、小键盘、键盘、触摸屏、笔和/或话音激话、人体运动检测)选择和提供信息的区域进行交互。通常,可以使用诸如按钮或键盘上的回车键之类的机制来连续输入信息,以便启动搜索。然而,可以理解,所要求保护的主题没有这样的限制。例如,只突出显示一复选框可以启动信息传输。在另一示例中,可以使用命令行界面。例如,命令行界面可以(例如,经由显示器上的文本消息和音频音调)向用户提示经由提供文本消息来提供信息。然后,用户可以提供合适的信息,如与界面提示中所提供的选项相对应字母数字输入或对在提示中提出的问题的回答。可以理解,命令行界面可以与GUI和/或API结合使用。另外,命令行界面还可以与硬件(例如,视频卡)和/或具有有限的图形支持的显示器(例如,黑白、EGA、VGA、SVGA等等),和/或低带宽通信信道结合使用。
图7-8示出了根据所要求保护的主题的方法和/或流程图。为了简洁起见,作为一系列动作描绘和描述了方法。可以理解和明白,本发明不仅限于所示出的动作和/或动作的顺序。例如,一些动作可以按各种顺序和/或并行地进行,并带有其他此处未呈现和描述的其他动作。此外,并非所有的所示出的动作都是实现根据所要求保护的主题的方法所必需的。另外,本领域的技术人员将了解和明白,方法也可以替代地经由状态图或事件表示为一系列相互相关联的状态。另外,还应该进一步理解,下面以及整个说明书中所公开的方法能够存储在一种制品中,以促进将这样的方法传送和传输到计算机中。如这里所使用的术语“制品”可以包含可以从任何计算机可读的设备、载体或介质进行访问的计算机程序。
图7示出了便于将物理量应用到物质对象的数据表示和表面输入之间的交互的方法700。在附图标记702,可以检测表面输入。例如,可以使用任何合适的图像处理技术,以便将从用户收集到的表面输入与显示器上的投影图像对准。例如,可以检测表面输入,并可以计算显示器上的投影图像中的对应点。在另一示例中,可以将用户的手或手指置于可以对其执行与所显示数据的交互的表面上。在此示例中,手指或手可以操纵该部分所显示数据,其中,这样的数据可以以物理准确的结果(例如,力、质量、速度、摩擦等等)作出响应。
在附图标记704,可以生成表面输入的代理对象。可以将代理对象映射到任何合适的检测到的表面输入,其中可以将表面输入结合到物理学仿真中。可以为每一个触点创建和定位代理对象(例如,表面输入、检测到的姿势、移动等等)。可以理解,代理对象可与同所触摸对象(例如,地板)位于同一个平面上的对象发生碰撞,而且还与位于半空中的或堆放在其他对象上的对象等等发生碰撞。
在附图标记706,可以利用两个或更多代理粒子对象来动态地建模代理对象轮廓。一般而言,可以通过沿着这样的表面输入和/或接触的轮廓放置的多个代理对象来建模接触或表面输入。例如,指尖可包括围绕表面输入的轮廓或指尖在表面上的接触的多个代理对象。在附图标记708,可以至少部分地基于动态地建模的代理粒子来提供对于表面输入的物理学仿真。具体而言,可以创建在每一仿真帧的开始时的轮廓的一组代理对象。在应用物理学仿真更新之后,可以销毁代理对象,同时在这样的更新期间施加碰撞和/或摩擦力。
图8示出了用于利用与表面计算相关联的数据交互复制牛顿物理学的方法400。在附图标记802,可以检测表面接触。例如,表面接触可以涉及一部分所显示数据的触摸事件、表面输入等等。可以理解,这样的捕捉到的或检测到的事件、输入或接触可以是姿势、手的运动、手的交互、对象交互,和/或与代表物质对象的数据的一部分的任何其他交互。例如,可以将手的交互转换成显示器上的对应的数据交互。具体而言,用户可以物理地操纵表面上的一部分所显示数据,其中,可以检测和转换这样的手姿势,为了进行数据交互。
在附图标记804,可以利用多个粒子代理对象来建模表面接触的轮廓形状。在附图标记806,可以将物理学更新应用于表面检测的第一帧和第二帧之间的粒子代理对象。通过建模表面接触轮廓,可以准确地建模和/或使用分布和/或摩擦力。另外,可以在动力方面控制每一粒子,以匹配它所属的接触的移动。物理学更新可以与应用诸如但不仅限于,质量、速度、摩擦、力等等之类的物理量相关联。在附图标记808,可以跟踪第一帧和第二帧之间的表面接触的特征,以便估计运动。
为了提供用于实现所要求保护的主题的各个方面的附加的上下文,图9-10以及下面的讨论旨在提供其中可以实现本发明的各个方面的合适的计算环境的简要的、一般描述。例如,可以在这样的合适的计算环境中实现可以将现实的物理学结合到一部分所显示数据中的物理学引擎,如前面的附图所描述的。尽管上文是在可以在本地计算机和/或远程计算机上运行的计算机程序的计算机可执行指令的一般上下文中来描述所要求保护的主题的,但是,本领域的技术人员将认识到,本发明也可以与其他程序模块相结合地实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构等。
此外,本领域的技术人员将了解,可以利用其他计算机系统配置来实施本发明的方法,包括单处理器和/或多处理器计算机系统,小型计算机、大型计算机,以及个人计算机,手持式计算设备、基于微处理器的和/或可编程消费电子产品等等,上述每一种设备都可以可操作地与一个或多个相关联的设备进行通信。所要求保护的主题的所说明的方面也可以在其中某些任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。然而,本发明的某些方面,如果不是所有方面的话,可以在独立计算机上实施。在分布式计算环境中,程序模块可以位于本地和/或远程存储器存储设备中。
图9是所要求保护的主题可以与其进行交互的示例计算环境900的示意框图。系统900包括一个或多个客户机910。客户机910可以是硬件和/或软件(例如,线程、进程、计算设备)。系统900还包括一个或多个服务器920。服务器920也可以是硬件和/或软件(例如,线程、进程、计算设备)。服务器920可以,例如,通过使用本发明,容纳执行变换的线程。
客户机910和服务器920之间的一种可能的通信可以是适用于在两个或更多计算机进程之间传输的数据包的形式。系统900包括通信框架940,该通信框架940可以被用来促进客户机910和服务器920之间的通信。类似地,客户机910可操作地连接到一个或多个客户机数据存储器950,可以使用这些客户机数据存储器950来存储客户机910本地的信息。类似地,服务器920可操作地连接到一个或多个服务器数据存储器930,可以使用这些服务器数据存储器930来存储服务器920本地的信息。
参考图10,用于实现所要求保护的主题的各方面的示例性环境1000可以包括计算机1012。计算机1012包括处理单元1014、系统存储器1016,以及系统总线1018。系统总线1018将系统组件,包括,但不仅限于,系统存储器1016耦合到处理单元1014。处理单元1014可以是各种处理器中的任一种。还可以使用双微处理器及其他多处理器体系结构作为处理单元1014。
系统总线1018可以是若干类型的总线结构中的任一种,包括使用各种可用的总线体系结构中的任一种的存储器总线或存储器控制器、外围总线或外部总线,和/或局部总线,总线体系结构包括,但不仅限于,工业标准体系结构(ISA)、微通道体系结构(MCA)、扩展的ISA(EISA)、智能驱动器电子(IDE)、VESA局部总线(VLB)、外围组件互连(PCI)、卡总线、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储器卡国际联合会总线(PCMCIA)、火线(IEEE 1394),以及小型计算机系统接口(SCSI)。
系统存储器1016包括易失性存储器1020和非易失性存储器1022。基本输入/输出系统(BIOS)通常存储在非易失性存储器1022中,包含例如在启动期间帮助在计算机1012内的元件之间传输信息的基本例程。作为说明,而不是限制,非易失性存储器1022可包括只读存储器(ROM)、可编程序ROM(PROM)、电可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)或闪存。易失性存储器1020包括充当外部高速缓冲存储器的随机存取存储器(RAM)。作为说明而不是限制,RAM可以有许多形式,如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDRSDRAM)、增强的SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、直接存储器总线(Rambus)RAM(RDRAM),直接存储器总线动态RAM(DRDRAM),以及存储器总线动态RAM(RDRAM)。
计算机1012还包括可移动的/不可移动的,易失性/非易失性计算机存储介质。图10示出了例如盘存储1024。盘存储1024包括但不仅限于,诸如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡或记忆棒之类的设备。另外,盘存储1024还可包括存储介质,分开地或与其他存储介质相结合,包括,但不仅限于,诸如紧致盘ROM设备之类的光盘驱动器(CD-ROM)、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或数字多功能盘ROM驱动器(DVD-ROM)。为便于盘存储设备1024连接到系统总线1018,通常使用诸如接口1026之类的可移动或不可移动接口。
可以理解,图10描述了在合适的操作环境1000中在用户和所描述的基本计算机资源之间的中介的软件。这样的软件包括操作系统1028。可以存储在盘存储1024上的操作系统1028用于控制和分配计算机系统1012的资源。系统应用程序1030利用由操作系统1028通过存储在系统存储器1016或者存储在盘存储1024上的程序模块1034和程序数据1034对资源的管理。可以理解,所要求保护的主题可以利用各种操作系统或操作系统的组合来实现。
用户通过输入设备1036向计算机1012输入命令或信息。输入设备1036包括,但不限于,诸如鼠标、跟踪球、指示笔、触摸板之类的指点设备、键盘、麦克风、游戏杆、游戏手柄、圆盘式卫星天线、扫描仪、TV调谐器卡、数码相机、数字视频摄像机、网络摄像头等等。这些及其他输入设备通过系统总线1018经由接口端口1038连接到处理单元1014。接口端口1038包括,例如,串行端口、并行端口、游戏端口,以及通用串行总线(USB)。输出设备1040与输入设备1036使用一些相同类型的端口。如此,例如,可以使用USB端口来向计算机1012提供输入,以及从计算机1012向输出设备1040输出信息。提供了输出适配器1042,以示出有诸如监视器、扬声器,以及打印机之类的一些输出设备1040,还有需要专用适配器的其他输出设备1040。输出适配器1042包括,作为例示而不是限制,在输出设备1040和系统总线1018之间提供连接手段的视频卡和声卡。应该注意,其他设备和/或设备的系统提供输入和输出两种能力,诸如远程计算机1044。
计算机1012可以使用到诸如远程计算机1044之类的一个或多个远程计算机的逻辑连接来在联网环境中操作。远程计算机1044可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的电器、对等设备或其他公共网络节点等等,并通常包括上文参考计算机1012所描述的许多或全部元件。为了简洁起见,与远程计算机1044一起,只示出了存储器设备1046。远程计算机1044通过网络接口1048在逻辑上连接到计算机1012,然后,经由通信连接1050在物理上连接。网络接口1048包含诸如局域网(LAN)和广域网(WAN)之类的有线或无线通信网络。LAN技术包括光纤分布式数据接口(FDDI)、铜线分布式数据接口(CDDI)、以太网、令牌环网等等。WAN技术包括,但不限于,点对点链路、电路交换网,如综合业务数字网(ISDN)以及其变体,分组交换网络,以及数字订户线(DSL)。
通信连接1050是指用来将网络接口1048连接到总线1018的硬件/软件。尽管用于例示起见,通信连接1050被示为在计算机1012内部,但是,它也可以位于计算机1012外部。连接到网络接口1048所需的硬件/软件包括,只作示例,内部和外部技术,诸如,调制解调器,包括常规电话级调制解调器、电缆调制解调器和DSL调制解调器、ISDN适配器,以及以太网卡。
上文所描述的包括本发明的示例。当然,不可能出于描述所要求保护的主题的目的而描述组件或方法的每个可能的组合,但是,本领域技术人员可以认识到,本发明的许多进一步的组合和置换都是可能的。因此,所要求保护的主题旨在包含在所附权利要求书的精神和范围内的所有这样的更改、修改和变化。
具体来说,对于由上述组件、设备、电路、系统等等执行的各种功能,除非另外指明,否则用于描述这些组件的术语(包括对“装置”的引用)旨在对应于执行所描述的执行此处在所要求保护的主题的示例性方面所示的功能的所描述的组件的指定功能(例如,功能上等效)的任何组件,即使这些组件在结构上不等效于所公开的结构。关于这一点,还应认识到,本发明还包括了具有用于执行所要求保护的主题的各种方法的动作和/或事件的计算机可执行指令的系统以及计算机可读介质。
有多种实现本发明的方式,例如,使应用程序和服务能使用本发明的广告技术的适当API、工具包、驱动程序代码、操作系统、控件、独立或可下载的软件对象等等。所要求保护的主题还从API(或其他软件对象)的观点以及从依照本发明根据广告技术操作的软件或硬件对象构想用途。如此,此处所描述的本发明的各种实现可以具有完全以硬件,部分以硬件而部分以软件,以及以软件来实现的方面。
如前所述的系统是利用多个组件之间的交互来描述的。可以了解,这样的系统和组件可以包括这些组件或指定的子组件,某些指定的组件或子组件,和/或附加的组件,以及根据前述的内容的各种置换和组合。子组件也可以作为可通信地耦合到其他组件的组件来实现,而不是包括在父组件内(分层的)。另外,应该注意,一个或多个组件也可以合并到提供聚合功能的单个组件中,或者也可以分成多个分开的子组件,并且可以提供诸如管理层之类的任一个或更多中间层,以通信地耦合到这样的子组件,以便提供集成的功能。此处所描述的任何组件也可以与一个或多个此处没有专门描述的但本领域技术人员广泛地知道的其他组件进行交互。
此外,尽管可相对于若干实现中的仅一个实现来公开本发明的一个特定特征,但这一特征可以如对任何给定或特定应用所需且有利地与其他实现的一个或多个其他特征相组合。此外,就在具体实施方式或者权利要求书中使用术语“包括”、“具有”、“包含”或其变体,以及其他类似的词语而言,这些术语旨在以与术语“包括”相似的方式为包含性的,作为开放的过渡词,而不会排除任何附加的或其他的元素。

Claims (18)

1.一种便于增强用于数据操纵的交互式表面技术的系统,包括:
表面检测组件,所述表面检测组件采用多触摸表面技术来检测表面输入,所述检测到的表面输入实现与表面上的一部分显示的数据的物理交互(102);
代理对象组件,所述代理为所述检测到的表面输入生成代理对象,所述表面输入被结合到物理学仿真中;
粒子代理组件,所述粒子代理组件利用多个代理对象建模所述表面输入的轮廓形状,所述多个代理对象的所述轮廓是粒子代理;以及
物理学引擎,所述物理学引擎将牛顿物理学的一部分集成到与该部分所显示数据的交互中,以便建模与该部分所显示数据相关联的至少一个量,所述量是力、质量、速度或摩擦中的至少一个(104)。
2.如权利要求1所述的系统,其特征在于,还包括呈现该部分所显示数据的显示器。
3.如权利要求2所述的系统,其特征在于,所述显示器是监视器、电视机、液晶显示器(LCD)、等离子、背投显示器、前投显示器、阴极射线管(CRT)监视器、平板、计算设备的显示器、便携式数字助理(PDA)屏幕、膝上型显示器、计算机监视器、智能电话显示器、蜂窝式设备屏幕、移动通信设备显示器、或便携式游戏设备显示器中的至少一个。
4.如权利要求1所述的系统,其特征在于,所述物理学引擎将与牛顿物理学的所述部分有关的物理学更新用于第一仿真帧和第二仿真帧之间的所述粒子代理。
5.如权利要求4所述的系统,其特征在于,所述物理学引擎使用所述物理学更新来制定碰撞力或摩擦力中的至少一个。
6.如权利要求4所述的系统,其特征在于,所述物理学引擎使用所述物理学更新来制定以下两项中的至少一个:收集两个或更多对象、或者堆积两个或更多对象。
7.如权利要求4所述的系统,其特征在于,所述物理学引擎实现对软体仿真、布体仿真,或流体仿真中的至少一个的支持。
8.如权利要求1所述的系统,其特征在于,所述物理学引擎施加与施加于对象的代理的数量成比例的一定量的摩擦力,所述摩擦力与触摸的表面积相关。
9.如权利要求1所述的系统,其特征在于,还包括流组件,所述流组件通过跟踪第一帧和第二帧之间的运动来计算粒子代理的运动,所述粒子代理的所述运动独立于所跟踪的接触信息。
10.如权利要求9所述的系统,其特征在于,所述流组件使用与光流有关的块匹配来计算速度。
11.如权利要求10所述的系统,其特征在于,流组件通过比较每一个连续的边缘图像来计算与所述粒子代理有关的点的表面运动。
12.如权利要求10所述的系统,其特征在于,所述流组件通过对图像点进行光线投射并将图像点投射到由3D点和对象法线所形成的切面上来计算切向运动。
13.如权利要求1所述的系统,其特征在于,还包括操纵器,所述操纵器提供操纵保真度、收集、对3维(3D)对象的操纵,或刚性仿真中的至少一个。
14.一种结合表面计算来促进仿真物理学的计算机实现的方法,包括:
检测表面输入(702,802);
为所述表面输入生成代理对象(704,804);
标识所述表面输入的轮廓(706,804);
利用两个或更多代理粒子对象来动态地建模所述代理对象的所述轮廓(706,804);以及
在表面输入检测的第一帧和第二帧之间对于每一个代理粒子对象使用力、速度或摩擦中的至少一个(708,806)。
15.如权利要求14所述的方法,其特征在于,还包括提供软体仿真、布体仿真,或流体仿真中的至少一个。
16.如权利要求14所述的方法,还包括:
施加与施加于对象的代理的数量成比例的一定量的摩擦力,所述摩擦力与触摸的表面积相关;以及
感测被转换成所述数量个代理上的力的表面类压力。
17.如权利要求14所述的方法,其特征在于,还包括通过跟踪第一帧和第二帧之间的运动来计算粒子代理的运动,所述粒子代理的所述运动独立于所跟踪的接触信息。
18.一种便于增强用于数据操纵的交互式表面技术的计算机实现系统,包括:
用于实现多触摸表面技术来检测表面输入的装置,所述检测到的表面输入实现与表面上的一部分所显示数据的物理交互(102,702,802);以及
用于将牛顿物理学的一部分整合到与该部分所显示数据的交互中以便建模与该部分所显示数据相关的至少一个量的装置,所述量是力、质量、速度或摩擦中的至少一个(104,708,806);
用于为所述检测到的表面输入生成代理对象的装置,所述表面输入被结合到物理学仿真中(104,402,704,804);
用于利用多个代理对象建模所述表面输入的轮廓形状的装置,所述多个代理对象的所述轮廓是粒子代理(104,404,706,804);以及
用于将与牛顿物理学的所述部分有关的物理学更新用于第一仿真帧和第二仿真帧之间的所述粒子代理的装置(104,402,404,708,806)。
CN200980133840.2A 2008-06-24 2009-05-22 用于表面计算的基于物理学仿真的交互 Expired - Fee Related CN102132253B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US7503408P 2008-06-24 2008-06-24
US61/075,034 2008-06-24
US12/203,350 2008-09-03
US12/203,350 US8154524B2 (en) 2008-06-24 2008-09-03 Physics simulation-based interaction for surface computing
PCT/US2009/044995 WO2010008680A2 (en) 2008-06-24 2009-05-22 Physics simulation-based interaction for surface computing

Publications (2)

Publication Number Publication Date
CN102132253A CN102132253A (zh) 2011-07-20
CN102132253B true CN102132253B (zh) 2015-02-11

Family

ID=41430720

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980133840.2A Expired - Fee Related CN102132253B (zh) 2008-06-24 2009-05-22 用于表面计算的基于物理学仿真的交互

Country Status (4)

Country Link
US (2) US8154524B2 (zh)
EP (1) EP2313826B1 (zh)
CN (1) CN102132253B (zh)
WO (1) WO2010008680A2 (zh)

Families Citing this family (172)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225231B2 (en) 2005-08-30 2012-07-17 Microsoft Corporation Aggregation of PC settings
US8209620B2 (en) * 2006-01-31 2012-06-26 Accenture Global Services Limited System for storage and navigation of application states and interactions
DE102008028581B4 (de) * 2008-06-12 2011-03-10 Datango Ag Verfahren und Vorrichtung zur automatischen Ermittlung von Steuerelementen in Computeranwendungen
US8154524B2 (en) 2008-06-24 2012-04-10 Microsoft Corporation Physics simulation-based interaction for surface computing
US8411046B2 (en) 2008-10-23 2013-04-02 Microsoft Corporation Column organization of content
US8086275B2 (en) 2008-10-23 2011-12-27 Microsoft Corporation Alternative inputs of a mobile communications device
US8466879B2 (en) * 2008-10-26 2013-06-18 Microsoft Corporation Multi-touch manipulation of application objects
US8477103B2 (en) 2008-10-26 2013-07-02 Microsoft Corporation Multi-touch object inertia simulation
US8175653B2 (en) 2009-03-30 2012-05-08 Microsoft Corporation Chromeless user interface
US8238876B2 (en) 2009-03-30 2012-08-07 Microsoft Corporation Notifications
KR101545736B1 (ko) * 2009-05-04 2015-08-19 삼성전자주식회사 휴대용 단말기에서 3차원 컨텐츠를 생성하기 위한 장치 및 방법
US20110081959A1 (en) * 2009-10-01 2011-04-07 Wms Gaming, Inc. Representing physical state in gaming systems
US8175734B2 (en) * 2009-10-08 2012-05-08 3D M. T. P. Ltd. Methods and system for enabling printing three-dimensional object models
US20110161892A1 (en) * 2009-12-29 2011-06-30 Motorola-Mobility, Inc. Display Interface and Method for Presenting Visual Feedback of a User Interaction
US9417787B2 (en) * 2010-02-12 2016-08-16 Microsoft Technology Licensing, Llc Distortion effects to indicate location in a movable data collection
US20110202327A1 (en) * 2010-02-18 2011-08-18 Jiun-Der Yu Finite Difference Particulate Fluid Flow Algorithm Based on the Level Set Projection Framework
US8471814B2 (en) 2010-02-26 2013-06-25 Microsoft Corporation User interface control using a keyboard
KR101640043B1 (ko) * 2010-04-14 2016-07-15 삼성전자주식회사 가상 세계 처리 장치 및 방법
US8576253B2 (en) * 2010-04-27 2013-11-05 Microsoft Corporation Grasp simulation of a virtual object
US9122821B2 (en) * 2010-05-25 2015-09-01 Siemens Products Lifecycle Management Software Inc. Method and system for simulation of automated processes
US9132352B1 (en) * 2010-06-24 2015-09-15 Gregory S. Rabin Interactive system and method for rendering an object
US8564535B2 (en) * 2010-10-05 2013-10-22 Immersion Corporation Physical model based gesture recognition
US8730238B2 (en) * 2010-10-27 2014-05-20 Lockheed Martin Corporation Visual three dimensional simulation system and method
US9529424B2 (en) 2010-11-05 2016-12-27 Microsoft Technology Licensing, Llc Augmented reality with direct user interaction
US20120159395A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Application-launching interface for multiple modes
US20120159383A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Customization of an immersive environment
US8612874B2 (en) 2010-12-23 2013-12-17 Microsoft Corporation Presenting an application change through a tile
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
US9423951B2 (en) * 2010-12-31 2016-08-23 Microsoft Technology Licensing, Llc Content-based snap point
US9201185B2 (en) 2011-02-04 2015-12-01 Microsoft Technology Licensing, Llc Directional backlighting for display panels
US9383917B2 (en) 2011-03-28 2016-07-05 Microsoft Technology Licensing, Llc Predictive tiling
US8863039B2 (en) 2011-04-18 2014-10-14 Microsoft Corporation Multi-dimensional boundary effects
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US8893033B2 (en) 2011-05-27 2014-11-18 Microsoft Corporation Application notifications
US9104440B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US8909506B2 (en) * 2011-05-31 2014-12-09 Sony Corporation Program, information storage medium, information processing system, and information processing method for controlling a movement of an object placed in a virtual space
JP2012252642A (ja) * 2011-06-06 2012-12-20 Sony Corp 情報処理装置、情報処理方法、及びプログラム
US8687023B2 (en) 2011-08-02 2014-04-01 Microsoft Corporation Cross-slide gesture to select and rearrange
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US10353566B2 (en) 2011-09-09 2019-07-16 Microsoft Technology Licensing, Llc Semantic zoom animations
US9557909B2 (en) 2011-09-09 2017-01-31 Microsoft Technology Licensing, Llc Semantic zoom linguistic helpers
US8922575B2 (en) 2011-09-09 2014-12-30 Microsoft Corporation Tile cache
US9244802B2 (en) 2011-09-10 2016-01-26 Microsoft Technology Licensing, Llc Resource user interface
US8933952B2 (en) 2011-09-10 2015-01-13 Microsoft Corporation Pre-rendering new content for an application-selectable user interface
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
US9501150B2 (en) * 2011-10-01 2016-11-22 Oracle International Corporation Moving an object about a display frame by combining classical mechanics of motion
CN108762577A (zh) 2011-10-18 2018-11-06 卡内基梅隆大学 用于分类触敏表面上的触摸事件的方法和设备
WO2013077833A2 (en) * 2011-11-21 2013-05-30 Siemens Corporation Rigid body proxy for modeling in three-dimensional simulation
US9230223B2 (en) * 2011-12-05 2016-01-05 Houzz, Inc. Consistent presentation of content and passive relevance determination of content relationship in an on-line commerce system
US9223472B2 (en) 2011-12-22 2015-12-29 Microsoft Technology Licensing, Llc Closing applications
US9052414B2 (en) 2012-02-07 2015-06-09 Microsoft Technology Licensing, Llc Virtual image device
US9354748B2 (en) 2012-02-13 2016-05-31 Microsoft Technology Licensing, Llc Optical stylus interaction
US9128605B2 (en) 2012-02-16 2015-09-08 Microsoft Technology Licensing, Llc Thumbnail-image selection of applications
KR101894567B1 (ko) * 2012-02-24 2018-09-03 삼성전자 주식회사 락스크린 운용 방법 및 이를 지원하는 단말기
KR101318244B1 (ko) * 2012-02-29 2013-10-15 한국과학기술연구원 3차원 사용자 인터페이스 구현 시스템 및 구현 방법
US8749529B2 (en) 2012-03-01 2014-06-10 Microsoft Corporation Sensor-in-pixel display system with near infrared filter
US8873227B2 (en) 2012-03-02 2014-10-28 Microsoft Corporation Flexible hinge support layer
US9360893B2 (en) 2012-03-02 2016-06-07 Microsoft Technology Licensing, Llc Input device writing surface
US9158383B2 (en) 2012-03-02 2015-10-13 Microsoft Technology Licensing, Llc Force concentrator
US9870066B2 (en) 2012-03-02 2018-01-16 Microsoft Technology Licensing, Llc Method of manufacturing an input device
USRE48963E1 (en) 2012-03-02 2022-03-08 Microsoft Technology Licensing, Llc Connection device for computing devices
US9064654B2 (en) 2012-03-02 2015-06-23 Microsoft Technology Licensing, Llc Method of manufacturing an input device
US9426905B2 (en) 2012-03-02 2016-08-23 Microsoft Technology Licensing, Llc Connection device for computing devices
US9075566B2 (en) 2012-03-02 2015-07-07 Microsoft Technoogy Licensing, LLC Flexible hinge spine
US8935774B2 (en) 2012-03-02 2015-01-13 Microsoft Corporation Accessory device authentication
US20130300590A1 (en) 2012-05-14 2013-11-14 Paul Henry Dietz Audio Feedback
US20130317797A1 (en) * 2012-05-22 2013-11-28 Siemens Product Lifecycle Management Software Inc. Direct attachments to proxy bodies
US9747306B2 (en) * 2012-05-25 2017-08-29 Atheer, Inc. Method and apparatus for identifying input features for later recognition
US10031556B2 (en) 2012-06-08 2018-07-24 Microsoft Technology Licensing, Llc User experience adaptation
US9019615B2 (en) 2012-06-12 2015-04-28 Microsoft Technology Licensing, Llc Wide field-of-view virtual image projector
US8947353B2 (en) 2012-06-12 2015-02-03 Microsoft Corporation Photosensor array gesture detection
US9459160B2 (en) 2012-06-13 2016-10-04 Microsoft Technology Licensing, Llc Input device sensor configuration
US9684382B2 (en) 2012-06-13 2017-06-20 Microsoft Technology Licensing, Llc Input device configuration having capacitive and pressure sensors
US9073123B2 (en) 2012-06-13 2015-07-07 Microsoft Technology Licensing, Llc Housing vents
US9256089B2 (en) 2012-06-15 2016-02-09 Microsoft Technology Licensing, Llc Object-detecting backlight unit
US9355345B2 (en) 2012-07-23 2016-05-31 Microsoft Technology Licensing, Llc Transparent tags with encoded data
US8964379B2 (en) 2012-08-20 2015-02-24 Microsoft Corporation Switchable magnetic lock
US9152173B2 (en) 2012-10-09 2015-10-06 Microsoft Technology Licensing, Llc Transparent display device
US8654030B1 (en) 2012-10-16 2014-02-18 Microsoft Corporation Antenna placement
WO2014059625A1 (en) 2012-10-17 2014-04-24 Microsoft Corporation Metal alloy injection molding overflows
WO2014059618A1 (en) 2012-10-17 2014-04-24 Microsoft Corporation Graphic formation via material ablation
EP2908970B1 (en) 2012-10-17 2018-01-03 Microsoft Technology Licensing, LLC Metal alloy injection molding protrusions
US8952892B2 (en) 2012-11-01 2015-02-10 Microsoft Corporation Input location correction tables for input panels
US8786767B2 (en) 2012-11-02 2014-07-22 Microsoft Corporation Rapid synchronized lighting and shuttering
US9513748B2 (en) 2012-12-13 2016-12-06 Microsoft Technology Licensing, Llc Combined display panel circuit
WO2014093996A2 (en) * 2012-12-14 2014-06-19 Sas Ip System and method for performing a multiphysics simulation
US9046926B2 (en) 2012-12-17 2015-06-02 International Business Machines Corporation System and method of dynamically generating a frequency pattern to realize the sense of touch in a computing device
US9176538B2 (en) 2013-02-05 2015-11-03 Microsoft Technology Licensing, Llc Input device configurations
US10578499B2 (en) 2013-02-17 2020-03-03 Microsoft Technology Licensing, Llc Piezo-actuated virtual buttons for touch surfaces
US9638835B2 (en) 2013-03-05 2017-05-02 Microsoft Technology Licensing, Llc Asymmetric aberration correcting lens
KR20140114766A (ko) 2013-03-19 2014-09-29 퀵소 코 터치 입력을 감지하기 위한 방법 및 장치
US9612689B2 (en) 2015-02-02 2017-04-04 Qeexo, Co. Method and apparatus for classifying a touch event on a touchscreen as related to one of multiple function generating interaction layers and activating a function in the selected interaction layer
US9013452B2 (en) 2013-03-25 2015-04-21 Qeexo, Co. Method and system for activating different interactive functions using different types of finger contacts
US9304549B2 (en) 2013-03-28 2016-04-05 Microsoft Technology Licensing, Llc Hinge mechanism for rotatable component attachment
US9450952B2 (en) 2013-05-29 2016-09-20 Microsoft Technology Licensing, Llc Live tiles without application-code execution
US10082935B2 (en) * 2013-04-15 2018-09-25 Carnegie Mellon University Virtual tools for use with touch-sensitive surfaces
US9552777B2 (en) 2013-05-10 2017-01-24 Microsoft Technology Licensing, Llc Phase control backlight
KR102220825B1 (ko) * 2013-09-05 2021-03-02 삼성전자주식회사 전자 장치와 전자 장치의 콘텐트 표시방법
CN103577046A (zh) * 2013-10-24 2014-02-12 广州市久邦数码科技有限公司 一种3d立体桌面系统及其实现方法
US9317112B2 (en) 2013-11-19 2016-04-19 Microsoft Technology Licensing, Llc Motion control of a virtual environment
US9448631B2 (en) 2013-12-31 2016-09-20 Microsoft Technology Licensing, Llc Input device haptics and pressure sensing
US9317072B2 (en) 2014-01-28 2016-04-19 Microsoft Technology Licensing, Llc Hinge mechanism with preset positions
US9759854B2 (en) 2014-02-17 2017-09-12 Microsoft Technology Licensing, Llc Input device outer layer and backlighting
US10120420B2 (en) 2014-03-21 2018-11-06 Microsoft Technology Licensing, Llc Lockable display and techniques enabling use of lockable displays
CN105359094A (zh) 2014-04-04 2016-02-24 微软技术许可有限责任公司 可扩展应用表示
KR102107275B1 (ko) 2014-04-10 2020-05-06 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 컴퓨팅 디바이스에 대한 접이식 쉘 커버
WO2015154276A1 (en) 2014-04-10 2015-10-15 Microsoft Technology Licensing, Llc Slider cover for computing device
US10518188B2 (en) * 2014-06-30 2019-12-31 Microsoft Technology Licensing, Llc Controlling physical toys using a physics engine
US10324733B2 (en) 2014-07-30 2019-06-18 Microsoft Technology Licensing, Llc Shutdown notifications
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows
US10254942B2 (en) 2014-07-31 2019-04-09 Microsoft Technology Licensing, Llc Adaptive sizing and positioning of application windows
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US10642365B2 (en) 2014-09-09 2020-05-05 Microsoft Technology Licensing, Llc Parametric inertia and APIs
US9329715B2 (en) 2014-09-11 2016-05-03 Qeexo, Co. Method and apparatus for differentiating touch screen users based on touch event analysis
US9424048B2 (en) 2014-09-15 2016-08-23 Microsoft Technology Licensing, Llc Inductive peripheral retention device
US11619983B2 (en) 2014-09-15 2023-04-04 Qeexo, Co. Method and apparatus for resolving touch screen ambiguities
US10606417B2 (en) 2014-09-24 2020-03-31 Qeexo, Co. Method for improving accuracy of touch screen event analysis by use of spatiotemporal touch patterns
US10282024B2 (en) 2014-09-25 2019-05-07 Qeexo, Co. Classifying contacts or associations with a touch sensitive device
US9447620B2 (en) 2014-09-30 2016-09-20 Microsoft Technology Licensing, Llc Hinge mechanism with multiple preset positions
US9696757B2 (en) 2014-10-08 2017-07-04 Microsoft Corporation Transfer of attributes between generations of characters
US10369477B2 (en) 2014-10-08 2019-08-06 Microsoft Technology Licensing, Llc Management of resources within a virtual world
WO2016065568A1 (en) 2014-10-30 2016-05-06 Microsoft Technology Licensing, Llc Multi-configuration input device
US10429923B1 (en) * 2015-02-13 2019-10-01 Ultrahaptics IP Two Limited Interaction engine for creating a realistic experience in virtual reality/augmented reality environments
US9696795B2 (en) 2015-02-13 2017-07-04 Leap Motion, Inc. Systems and methods of creating a realistic grab experience in virtual reality/augmented reality environments
US10388053B1 (en) 2015-03-27 2019-08-20 Electronic Arts Inc. System for seamless animation transition
US10022628B1 (en) * 2015-03-31 2018-07-17 Electronic Arts Inc. System for feature-based motion adaptation
US10222889B2 (en) 2015-06-03 2019-03-05 Microsoft Technology Licensing, Llc Force inputs and cursor control
US10416799B2 (en) 2015-06-03 2019-09-17 Microsoft Technology Licensing, Llc Force sensing and inadvertent input control of an input device
US9752361B2 (en) 2015-06-18 2017-09-05 Microsoft Technology Licensing, Llc Multistage hinge
US9864415B2 (en) 2015-06-30 2018-01-09 Microsoft Technology Licensing, Llc Multistage friction hinge
JP6676071B2 (ja) * 2015-08-04 2020-04-08 グーグル エルエルシー 仮想現実におけるオブジェクトとの手のコンテキスト依存衝突を介した入力
US10642404B2 (en) 2015-08-24 2020-05-05 Qeexo, Co. Touch sensitive device with multi-sensor stream synchronized data
EP3141291A1 (en) * 2015-09-14 2017-03-15 Thomson Licensing Methods and apparatus of composing an image of a textured material distorted when rubbing a touch surface
US10089965B1 (en) * 2015-09-15 2018-10-02 Simbulus, lnc. User-controlled movement of graphical objects
US10792566B1 (en) 2015-09-30 2020-10-06 Electronic Arts Inc. System for streaming content within a game application environment
US10186081B2 (en) 2015-12-29 2019-01-22 Microsoft Technology Licensing, Llc Tracking rigged smooth-surface models of articulated objects
US10565791B2 (en) 2015-12-29 2020-02-18 Microsoft Technology Licensing, Llc Tracking rigged polygon-mesh models of articulated objects
US10061385B2 (en) 2016-01-22 2018-08-28 Microsoft Technology Licensing, Llc Haptic feedback for a touch input device
US10163245B2 (en) * 2016-03-25 2018-12-25 Microsoft Technology Licensing, Llc Multi-mode animation system
US10344797B2 (en) 2016-04-05 2019-07-09 Microsoft Technology Licensing, Llc Hinge with multiple preset positions
US20200179797A1 (en) * 2016-06-14 2020-06-11 Takaro Tech Ltd. Interactive systems and methods of using same
US10403018B1 (en) 2016-07-12 2019-09-03 Electronic Arts Inc. Swarm crowd rendering system
US10726611B1 (en) 2016-08-24 2020-07-28 Electronic Arts Inc. Dynamic texture mapping using megatextures
US10037057B2 (en) 2016-09-22 2018-07-31 Microsoft Technology Licensing, Llc Friction hinge
US10096133B1 (en) 2017-03-31 2018-10-09 Electronic Arts Inc. Blendshape compression system
US10782793B2 (en) 2017-08-10 2020-09-22 Google Llc Context-sensitive hand interaction
US10878540B1 (en) 2017-08-15 2020-12-29 Electronic Arts Inc. Contrast ratio detection and rendering system
US10535174B1 (en) 2017-09-14 2020-01-14 Electronic Arts Inc. Particle-based inverse kinematic rendering system
US10860838B1 (en) 2018-01-16 2020-12-08 Electronic Arts Inc. Universal facial expression translation and character rendering system
NO20180688A1 (en) * 2018-05-15 2019-11-18 Markus Fjellheim Method of rendering a frame in a discrete physics engine for simulating rigid bodies in a space
US11009989B2 (en) 2018-08-21 2021-05-18 Qeexo, Co. Recognizing and rejecting unintentional touch events associated with a touch sensitive device
CN109740185B (zh) * 2018-12-10 2022-06-07 福建省天奕网络科技有限公司 Unity中多个物体叠加的受力分析方法、存储介质
MX2021012554A (es) 2019-04-15 2022-01-24 Armstrong World Ind Inc Sistemas y metodos para predecir materiales arquitectonicos dentro de un espacio.
US10942603B2 (en) 2019-05-06 2021-03-09 Qeexo, Co. Managing activity states of an application processor in relation to touch or hover interactions with a touch sensitive device
US10902618B2 (en) 2019-06-14 2021-01-26 Electronic Arts Inc. Universal body movement translation and character rendering system
US11231815B2 (en) 2019-06-28 2022-01-25 Qeexo, Co. Detecting object proximity using touch sensitive surface sensing and ultrasonic sensing
CN110866970B (zh) * 2019-10-21 2023-04-25 西南民族大学 一种通过面部关键点识别实现重建配镜的系统及方法
US11972353B2 (en) 2020-01-22 2024-04-30 Electronic Arts Inc. Character controllers using motion variational autoencoders (MVAEs)
US11592423B2 (en) 2020-01-29 2023-02-28 Qeexo, Co. Adaptive ultrasonic sensing techniques and systems to mitigate interference
US11504625B2 (en) 2020-02-14 2022-11-22 Electronic Arts Inc. Color blindness diagnostic system
US11232621B2 (en) 2020-04-06 2022-01-25 Electronic Arts Inc. Enhanced animation generation based on conditional modeling
US11648480B2 (en) 2020-04-06 2023-05-16 Electronic Arts Inc. Enhanced pose generation based on generative modeling
US20220067556A1 (en) * 2020-08-25 2022-03-03 X Development Llc Techniques for controlling autonomous virtual agents
US11423585B2 (en) * 2020-11-30 2022-08-23 Microsoft Technology Licensing, Llc Velocity-based controls
US11830121B1 (en) 2021-01-26 2023-11-28 Electronic Arts Inc. Neural animation layering for synthesizing martial arts movements
US11887232B2 (en) 2021-06-10 2024-01-30 Electronic Arts Inc. Enhanced system for generation of facial models and animation
US11670030B2 (en) 2021-07-01 2023-06-06 Electronic Arts Inc. Enhanced animation generation based on video with local phase
US11562523B1 (en) 2021-08-02 2023-01-24 Electronic Arts Inc. Enhanced animation generation based on motion matching using local bone phases
GB2611783A (en) * 2021-10-14 2023-04-19 Sony Interactive Entertainment Inc Content generation system and method
US11816772B2 (en) * 2021-12-13 2023-11-14 Electronic Arts Inc. System for customizing in-game character animations by players

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7345675B1 (en) 1991-10-07 2008-03-18 Fujitsu Limited Apparatus for manipulating an object displayed on a display device by using a touch screen
US5483261A (en) * 1992-02-14 1996-01-09 Itu Research, Inc. Graphical input controller and method with rear screen image detection
US6161126A (en) * 1995-12-13 2000-12-12 Immersion Corporation Implementing force feedback over the World Wide Web and other computer networks
US6111582A (en) * 1996-12-20 2000-08-29 Jenkins; Barry L. System and method of image generation and encoding using primitive reprojection
US5910902A (en) 1997-03-28 1999-06-08 Exa Corporation Computer simulation of physical processes
EP1717684A3 (en) 1998-01-26 2008-01-23 Fingerworks, Inc. Method and apparatus for integrating manual input
US8479122B2 (en) * 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US7106888B1 (en) 1999-05-25 2006-09-12 Silverbrook Research Pty Ltd Signature capture via interface surface
US20020133264A1 (en) 2001-01-26 2002-09-19 New Jersey Institute Of Technology Virtual reality system for creation of design models and generation of numerically controlled machining trajectories
US6966837B1 (en) 2001-05-10 2005-11-22 Best Robert M Linked portable and video game systems
JP2004080252A (ja) * 2002-08-14 2004-03-11 Toshiba Corp 映像表示装置及びその方法
JP4500485B2 (ja) * 2002-08-28 2010-07-14 株式会社日立製作所 タッチパネルを備えた表示装置
JP4723799B2 (ja) * 2003-07-08 2011-07-13 株式会社ソニー・コンピュータエンタテインメント 制御システムおよび制御方法
US7728821B2 (en) 2004-08-06 2010-06-01 Touchtable, Inc. Touch detecting interactive display
US7724242B2 (en) * 2004-08-06 2010-05-25 Touchtable, Inc. Touch driven method and apparatus to integrate and display multiple image layers forming alternate depictions of same subject matter
US7692627B2 (en) * 2004-08-10 2010-04-06 Microsoft Corporation Systems and methods using computer vision and capacitive sensing for cursor control
US7629966B2 (en) * 2004-12-21 2009-12-08 Microsoft Corporation Hard tap
US7355595B2 (en) * 2005-04-15 2008-04-08 Microsoft Corporation Tactile device for scrolling
US20060277466A1 (en) 2005-05-13 2006-12-07 Anderson Thomas G Bimodal user interaction with a simulated object
US7535463B2 (en) * 2005-06-15 2009-05-19 Microsoft Corporation Optical flow-based manipulation of graphical objects
TWI296202B (en) 2005-12-01 2008-05-01 Ind Tech Res Inst Input device and method for shooting games
WO2007117586A2 (en) 2006-04-08 2007-10-18 Allan Millman Method and system for interactive simulation of materials
US20080125224A1 (en) 2006-09-26 2008-05-29 Pollatsek David Method and apparatus for controlling simulated in flight realistic and non realistic object effects by sensing rotation of a hand-held controller
US8154524B2 (en) 2008-06-24 2012-04-10 Microsoft Corporation Physics simulation-based interaction for surface computing

Also Published As

Publication number Publication date
CN102132253A (zh) 2011-07-20
EP2313826A4 (en) 2015-08-12
US8502795B2 (en) 2013-08-06
WO2010008680A2 (en) 2010-01-21
US8154524B2 (en) 2012-04-10
US20090315839A1 (en) 2009-12-24
EP2313826A2 (en) 2011-04-27
US20120162117A1 (en) 2012-06-28
WO2010008680A3 (en) 2010-03-11
EP2313826B1 (en) 2020-07-15

Similar Documents

Publication Publication Date Title
CN102132253B (zh) 用于表面计算的基于物理学仿真的交互
US8576253B2 (en) Grasp simulation of a virtual object
Wilson et al. Bringing physics to the surface
Arora et al. Magicalhands: Mid-air hand gestures for animating in vr
KR101725073B1 (ko) 카드 상자 및 팩의 가상 개봉
CN108431734B (zh) 用于非触摸式表面交互的触觉反馈
CN109933206B (zh) 一种基于Leap Motion的手指无接触绘图方法及系统
Salisbury Jr Making graphics physically tangible
JP2012507077A (ja) マルチタッチ・オブジェクト慣性シミュレーション
JP2018142313A (ja) 仮想感情タッチのためのシステム及び方法
Xia New advances for haptic rendering: state of the art
CN111665933A (zh) 虚拟或者增强现实中的对象操作方法及装置
CN107407963A (zh) 用于与弯曲显示器的用户交互的系统和方法
US11617953B2 (en) Virtual object interaction scripts
JP5458245B2 (ja) 動作制御装置、その方法、及びプログラム
Albertini et al. Designing natural gesture interaction for archaeological data in immersive environments
CN116631633A (zh) 一种软组织拉伸撕裂模拟系统、方法、设备、存储介质
Pramudwiatmoko et al. A high-performance haptic rendering system for virtual reality molecular modeling
Mao et al. A Light-weight Mobile Education App for 3D Modelling Course Teaching
KR101605740B1 (ko) 스마트폰 사용자의 개인화된 동작인식 방법 및 이를 이용한 게임방법
Han et al. A framework for virtual hand haptic interaction
Friedman et al. Using a brain-computer interface in highly-immersive virtual reality
WO2023116282A1 (en) Systems and methods for generating pseudo haptic feedback
Acosta Haptic virtual environment
Hilliges et al. Interaction on the Tabletop: Bringing the Physical to the Digital

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
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
TR01 Transfer of patent right

Effective date of registration: 20150720

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

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

Termination date: 20210522