一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于在2D屏幕上操纵3D对象的设备、方法和图形用户界面与流程

2021-11-30 21:42:00 来源:中国专利 TAG:

用于在2d屏幕上操纵3d对象的设备、方法和图形用户界面
1.相关申请的交叉引用
2.本专利申请要求2019年6月1日提交的美国临时专利号62/856,056以及2019年9月27日提交的美国临时专利号62/906,936的优先权,这两个专利据此全文以引用方式并入。
技术领域
3.本文整体涉及具有触敏表面的电子设备,包括但不限于具有在二维屏幕上在空间上操纵三维对象的触敏表面的电子设备。


背景技术:

4.对计算机生成现实(cgr)应用程序编程可能是困难且耗时的过程,需要例如3d对象设计和应用程序编码方面的专门知识。这对高质量cgr应用程序的生成造成了高障碍。
5.具体地,将一个或多个cgr对象置于cgr场景中的期望位置和/或取向可能是麻烦和/或令人困惑的过程。


技术实现要素:

6.因此,需要具有用于使用二维屏幕在空间上操纵三维对象(诸如cgr对象)的更快、更有效的方法和界面的电子设备。此类方法和界面任选地补充或替换用于使用二维屏幕在空间上操纵三维对象的常规方法。此类方法和界面减少对用户所造成的认知负担,并且产生更有效的人机界面。对于电池驱动设备,此类方法和界面可节省用电并且增加两次电池充电之间的时间。
7.借助所公开的设备可减少或消除与具有触敏表面的电子设备的用户界面相关联的上述缺陷和其他问题。在一些具体实施中,该设备是台式计算机。在一些具体实施中,该设备是便携式的(例如,笔记本电脑、平板电脑或手持设备)。在一些具体实施中,该设备具有触控板。在一些具体实施中,该设备具有触敏显示器(也称为“触摸屏”或“触摸屏显示器”)。在一些具体实施中,该设备具有图形用户界面(gui)、一个或多个处理器、存储器以及存储在存储器中的用于执行多个功能的一个或多个模块、程序或指令集。在一些具体实施中,用户主要通过触笔和/或手指接触以及触敏表面上的手势来与gui进行交互。在一些具体实施中,这些功能任选地包括图像编辑、绘图、呈现、文字处理、网页创建、盘编辑、电子表格制作、玩游戏、接打电话、视频会议、收发电子邮件、即时消息通信、健身支持、数字摄影、数字视频录制、网页浏览、数字音乐播放和/或数字视频播放。用于执行这些功能的可执行指令任选地被包括在被配置用于由一个或多个处理器执行的非暂态计算机可读存储介质或其他计算机程序产品中。
8.根据一些具体实施,在具有一个或多个处理器、非暂态存储器和显示器的设备处执行一种方法。该方法包括从第一虚拟相机视角在三维空间中显示三维对象。该方法包括显示包括分别与第一组空间操纵相关联的第一组空间操纵示能表示的空间操纵用户界面元素。该方法包括检测将第一虚拟相机视角改变为第二虚拟相机视角的用户输入。响应于
检测到将第一虚拟相机视角改变为第二虚拟相机视角的用户输入,该方法包括:从第二虚拟相机视角在三维空间中显示三维对象;以及显示包括分别与第二组空间操纵相关联的第二组空间操纵示能表示的空间操纵用户界面元素,其中第一组空间操纵包括排除在第二组空间操纵之外的至少一个空间操纵并且第二组空间操纵包括排除在第一组空间操纵之外的至少一个空间操纵。
9.根据一些具体实施,电子设备包括显示器、一个或多个输入设备、一个或多个处理器、非暂态存储器和一个或多个程序;一个或多个程序被存储在非暂态存储器中并且被配置为由一个或多个处理器执行,并且一个或多个程序包括用于执行或导致执行本文所述的方法中的任一种方法的操作的指令。根据一些具体实施,一种非暂态计算机可读存储介质具有存储在其中的指令,当这些指令由具有显示器和一个或多个输入设备的电子设备的一个或多个处理器执行时,使得设备执行或导致执行本文所述的方法中的任一种方法的操作。根据一些具体实施,在具有显示器、一个或多个输入设备、非暂态存储器和配置为执行存储在非暂态存储器中的一个或多个程序的一个或多个处理器的电子设备上的图形用户界面包括在上述方法中的任一种方法中显示的元素中的一个或多个元素,这些元素响应于输入而被更新,如在本文所述方法中的任一种方法中所述。根据一些具体实施,电子设备包括:显示器、一个或多个输入设备;以及用于执行或导致执行本文所述的方法中的任一种方法的操作的装置。根据一些具体实施,在具有显示器和一个或多个输入设备的电子设备中使用的信息处理装置包括用于执行或导致执行本文所述的方法中的任一种方法的操作的装置。
10.因此,具有显示器和输入设备(诸如触敏表面)的电子设备被提供有用于在空间上操纵三维对象的更快、更有效的方法和界面,从而增大此类设备的有效性、效率和用户满意度。此类方法和界面可补充或替换用于与在空间上操纵三维对象的常规方法。
附图说明
11.为了更好地理解各种所述具体实施,应结合以下附图参考下面的具体实施方式,其中类似的附图标号在所有附图中指示对应的部分。
12.图1a是示出根据一些具体实施的具有触敏显示器的便携式多功能设备的框图。
13.图1b是示出根据一些具体实施的用于事件处理的示例性部件的框图。
14.图2示出了根据一些具体实施的具有触摸屏的便携式多功能设备。
15.图3是根据一些具体实施的具有显示器和触敏表面的示例性多功能设备的框图。
16.图4a示出了根据一些具体实施的便携式多功能设备上的应用程序菜单的示例性用户界面。
17.图4b示出了根据一些具体实施的用于具有与显示器分开的触敏表面的多功能设备的示例性用户界面。
18.图5是根据一些具体实施的示例性操作架构的框图。
19.图6是根据一些具体实施的示例性控制器的框图。
20.图7是根据一些具体实施的示例性电子设备的框图。
21.图8a至图8y示出了根据一些具体实施的用于生成cgr文件的示例性用户界面。
22.图9是根据一些具体实施的在三维空间中在空间上操纵三维对象的方法的流程图
表示。
具体实施方式
23.根据各种具体实施,提供了图形用户界面(gui)以简化三维空间中的三维对象(诸如cgr场景中的cgr对象)的空间操纵。
24.下面,图1a至图1b、图2至图3以及图4a至图4b提供了对示例性cgr场景生成设备的描述。图5a至图5b、图6和图7提供了对示例性cgr场景呈现设备的描述。图8a至图8y示出了用于在cgr场景中在空间上操纵cgr对象的示例性用户界面。图8a至图8y中的用户界面用于示出图9中的过程。
25.示例性cgr文件构成设备
26.现在将详细地参考具体实施,这些具体实施的实施例在附图中示出。下面的详细描述中示出许多具体细节,以便提供对各种所描述的具体实施的充分理解。但是,对本领域的普通技术人员将显而易见的是,各种所描述的具体实施可以在没有这些具体细节的情况下被实践。在其他情况下,没有详细地描述众所周知的方法、过程、部件、电路和网络,从而不会不必要地使具体实施的各个方面晦涩难懂。
27.还将理解的是,虽然在一些情况下,术语“第一”、“第二”等在本文中用于描述各种元件,但是这些元件不应受到这些术语限制。这些术语只是用于将一个元件与另一元件区分开。例如,第一接触可被命名为第二接触,并且类似地,第二接触可被命名为第一接触,而不脱离各种所描述的具体实施的范围。第一接触和第二接触均为接触,但它们不是同一个接触,除非上下文另外明确指示。
28.在本文中对各种所述具体实施的描述中所使用的术语只是为了描述特定具体实施的目的,而并非旨在进行限制。如在对各种所述具体实施中的描述和所附权利要求书中所使用的那样,单数形式“一个”和“该”旨在也包括复数形式,除非上下文另外明确地指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”(“includes”、“including”、“comprises”和/或“comprising”)在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件和/或其分组。
29.如本文中所使用,根据上下文,术语“如果”任选地被解释为意思是“当
……
时”后“在
……
时”或“响应于确定”或“响应于检测”。类似地,根据上下文,短语“如果确定
……”
或“如果检测到[所陈述的条件或事件]”任选地被解释为是指“在确定
……
时”或“响应于确定
……”
或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
[0030]
本文描述了电子设备、此类设备的用户界面和使用此类设备的相关过程的具体实施。在一些具体实施中,该设备是还包含其他功能诸如pda和/或音乐播放器功能的便携式通信设备,诸如移动电话。便携式多功能设备的示例性具体实施包括但不限于来自apple inc.(cupertino,california)的ipod 和设备。任选地使用其他便携式电子设备,诸如具有触敏表面(例如,触摸屏显示器和/或触控板)的膝上型计算机或平板计算机。还应当理解的是,在一些具体实施中,该设备并非便携式通信设备,而是具有
触敏表面(例如,触摸屏显示器和/或触控板)的台式计算机。
[0031]
在下面的讨论中,描述了一种包括显示器和触敏表面的电子设备。然而,应当理解,该电子设备任选地包括一个或多个其他物理用户接口设备,诸如物理键盘、鼠标和/或操纵杆。
[0032]
该设备通常支持各种应用程序,诸如以下中的一者或多者:绘图应用程序、呈现应用程序、文字处理应用程序、网站创建应用程序、盘编辑应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息应用程序、健身支持应用程序、照片管理应用程序、数字相机应用程序、数字视频摄像机应用程序、网页浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
[0033]
在设备上执行的各种应用程序任选地使用至少一个通用的物理用户界面设备,诸如触敏表面。触敏表面的一种或多种功能以及被显示在设备上的对应信息任选地对于不同应用程序被调整和/或变化,和/或在相应应用程序内被调整和/或变化。这样,设备的共用物理架构(诸如触敏表面)任选地利用对于用户而言直观且清楚的用户界面来支持各种应用程序。
[0034]
现在将注意力转到具有触敏显示器的便携式设备的具体实施。图1a是示出根据一些具体实施的具有触敏显示器系统112的便携式多功能设备100的框图。触敏显示器系统112有时为了方便而被叫做“触摸屏”,并且有时被简称为触敏显示器。设备100包括存储器102(其任选地包括一个或多个计算机可读存储介质)、存储器控制器122、一个或多个处理单元(cpu)120、外围设备接口118、rf电路108、音频电路110、扬声器111、麦克风113、输入/输出(i/o)子系统106、其他输入、或控制设备116吗、和外部端口124。设备100任选地包括一个或多个光学传感器164。设备100任选地包括用于检测设备100上的接触的强度的一个或多个强度传感器165(例如,触敏表面,诸如设备100的触敏显示系统112)。设备100任选地包括用于在设备100上生成触觉输出的一个或多个触觉输出发生器163(例如,在触敏表面诸如设备100的触敏显示器系统112或设备300的触控板355上生成触觉输出)。这些部件任选地通过一个或多个通信总线或信号线103进行通信。
[0035]
如本说明书和权利要求书中所使用的,术语“触觉输出”是指将由用户利用用户的触感检测到的设备相对于设备的先前位置的物理位移、设备的部件(例如,触敏表面)相对于设备的另一个部件(例如,外壳)的物理位移、或部件相对于设备的质心的位移。例如,在设备或设备的部件与用户对触摸敏感的表面(例如,手指、手掌或用户手部的其他部分)接触的情况下,通过物理位移生成的触觉输出将由用户解释为触感,该触感对应于设备或设备的部件的物理特征的所感知的变化。例如,触敏表面(例如,触敏显示器或触控板)的移动任选地由用户解释为对物理致动按钮的“按下点击”或“松开点击”。在一些情况下,用户将感觉到触感,诸如“按下点击”或“松开点击”,即使在通过用户的移动而物理地被按压(例如,被移位)的与触敏表面相关联的物理致动按钮没有移动时。又如,即使在触敏表面的光滑度无变化时,触敏表面的移动也会任选地由用户解释或感测为触敏表面的“粗糙度”。虽然用户对触摸的此类解释将受到用户的个体化感官知觉的限制,但是对触摸的许多感官知觉是大多数用户共有的。因此,当触觉输出被描述为对应于用户的特定感官知觉(例如,“按下点击”、“松开点击”、“粗糙度”)时,除非另外陈述,否则所生成的触觉输出对应于设备或其部件的物理位移,该物理位移将会生成典型(或普通)用户的所述感官知觉。
[0036]
应当理解,设备100仅仅是便携式多功能设备的一个示例,并且设备100任选地具有比所示出的部件更多或更少的部件,任选地组合两个或更多个部件,或者任选地具有这些部件的不同配置或布置。图1a中所示的各种部件在硬件、软件、固件、或它们的任何组合(包括一个或多个信号处理电路和/或专用集成电路)中实施。
[0037]
存储器102任选地包括高速随机存取存储器,并且还任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存存储器设备、或其他非易失性固态存储器设备。设备100的其他部件(诸如cpu 120和外围设备接口118)对存储器102的访问任选地由存储器控制器122来控制。
[0038]
外围设备接口118可用于将设备的输入外围设备和输出外围设备耦接到cpu 120和存储器102。一个或多个处理器120运行或执行存储器102中所存储的各种软件程序和/或指令集以执行设备100的各种功能并处理数据。
[0039]
在一些具体实施中,外围设备接口118、cpu 120和存储器控制器122任选地被实现在单个芯片诸如芯片104上。在一些其他具体实施中,它们任选地在独立的芯片上实现。
[0040]
rf(射频)电路108接收和发送也被称作电磁信号的rf信号。rf电路108将电信号转换为电磁信号/将电磁信号转换为电信号,并且经由电磁信号与通信网络及其他通信设备进行通信。rf电路108任选地包括用于执行这些功能的熟知的电路,包括但不限于天线系统、rf收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码芯片组、用户身份模块(sim)卡、存储器等等。rf电路108任选地通过无线通信来与网络和其他设备进行通信,这些网络为诸如互联网(也被称为万维网(www))、内联网和/或无线网络(诸如,蜂窝电话网络、无线局域网(lan)和/或城域网(man))。该无线通信任选地使用多种通信标准、协议、和技术中的任一者,包括但不限于全球移动通信系统(gsm)、增强型数据gsm环境(edge)、高速下行链路分组接入(hsdpa)、高速上行链路分组接入(hsupa)、演进纯数据(ev

do)、hspa、hspa 、双单元hspa(dc

hspda)、长期演进(lte)、近场通信(nfc)、宽带码分多址(w

cdma)、码分多址(cdma)、时分多址(tdma)、蓝牙、无线保真(wi

fi)(例如,ieee 802.11a、ieee 802.11ac、ieee 802.11ax、ieee 802.11b、ieee 802.11g和/或ieee 802.11n)、互联网协议语音技术(voip)、wi

max、电子邮件协议(例如,互联网消息访问协议(imap)和/或邮局协议(pop))、即时消息(例如,可扩展消息处理和存在协议(xmpp)、用于即时消息和存在利用扩展的会话发起协议(simple)、即时消息和存在服务(imps)、和/或短消息服务(sms))、或者包括在本文档提交日期还未开发出的通信协议的其他任何适当的通信协议。
[0041]
音频电路110、扬声器111和麦克风113提供用户与设备100之间的音频接口。音频电路110从外围设备接口118接收音频数据,将音频数据转换为电信号,并将电信号传输到扬声器111。扬声器111将电信号转换为人类可听到的声波。音频电路110还接收由麦克风113从声波转换的电信号。音频电路110将电信号转换为音频数据,并且将音频数据传输到外围设备接口118以用于处理。音频数据任选地由外围设备接口118检索自和/或传输至存储器102和/或rf电路108。在一些具体实施中,音频电路110还包括耳麦插孔(例如,图2中的212)。耳麦插孔提供音频电路110与可移除音频输入/输出外围设备之间的接口,该外围设备为诸如仅输出的耳机或者具有输出(例如,单耳耳机或双耳耳机)和输入(例如,麦克风)两者的耳麦。
[0042]
i/o子系统106将设备100上的输入/输出外围设备诸如触敏显示器系统112和其他输入或控制设备116与外围设备接口118耦接。i/o子系统106任选地包括显示控制器156、光学传感器控制器158、强度传感器控制器159、触觉反馈控制器161、和用于其他输入或控制设备的一个或多个输入控制器160。一个或多个输入控制器160从其他输入或控制设备116接收电信号/将电信号发送到该其他输入或控制设备。其他输入控制设备116任选地包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击轮等。在一些另选的具体实施中,输入控制器160任选地耦接至以下各项中的任一者(或不耦接至以下各项中的任一者):键盘、红外线端口、usb端口、触笔、和/或指针设备诸如鼠标。一个或多个按钮(例如,图2中的208)任选地包括用于扬声器111和/或麦克风113的音量控制的向上/向下按钮。一个或多个按钮任选地包括下压按钮(例如,图2中的206)。
[0043]
触敏显示器系统112提供设备与用户之间的输入接口和输出接口。显示控制器156从触敏显示器系统112接收电信号和/或将电信号发送至触敏显示器系统112。触敏显示器系统112向用户显示视觉输出。视觉输出任选地包括图形、文本、图标、视频以及它们的任何组合(统称为“图形”)。在一些具体实施中,一些视觉输出或全部视觉输出对应于用户界面对象。
[0044]
触敏显示器系统112具有基于触觉/触感接触来接受来自用户的输入的触敏表面、传感器或传感器组。触敏显示器系统112和显示控制器156(与存储器102中的任何相关联的模块和/或指令集一起)检测触敏显示器系统112上的接触(和该接触的任何移动或中断),并且将检测到的接触转换为与被显示在触敏显示器系统112上的用户界面对象(例如,一个或多个软按键、图标、网页或图像)的交互。在示例性具体实施中,触敏显示系统112和用户之间的接触点对应于用户的手指或触笔。
[0045]
触敏显示系统112任选地使用lcd(液晶显示器)技术、lpd(发光聚合物显示器)技术、或led(发光二极管)技术,但是在其他具体实施中使用其他显示技术。触敏显示系统112和显示控制器156任选地使用现在已知的或以后将开发出的多种触摸感测技术中的任何技术以及其他接近传感器阵列或用于确定与触敏显示系统112接触的一个或多个点的其他元件来检测接触及其任何移动或中断,该多种触摸感测技术包括但不限于电容性的、电阻性的、红外线的、和表面声波技术。在一个示例性具体实施中,使用投射式互电容感测技术,诸如从apple inc.(cupertino,california)的ipod和中发现的技术。
[0046]
触敏显示器系统112任选地具有超过100dpi的视频分辨率。在一些具体实施中,触摸屏视频分辨率超过400dpi(例如,为500dpi、800dpi或更大)。用户任选地使用任何合适的物体或附加物诸如触笔、手指等来与触敏显示系统112接触。在一些具体实施中,将用户界面设计成与基于手指的接触和手势一起工作,由于手指在触摸屏上的接触区域较大,因此这可能不如基于触笔的输入精确。在一些具体实施中,设备将基于手指的粗略输入转化为精确的指针/光标位置或命令以用于执行用户所期望的动作。
[0047]
在一些具体实施中,除了触摸屏之外,设备100任选地包括用于激活或去激活特定功能的触控板。在一些具体实施中,触控板是设备的触敏区域,与触摸屏不同,该触敏区域不显示视觉输出。触控板任选地是与触敏显示器系统112分开的触敏表面,或者是由触摸屏形成的触敏表面的延伸部分。
[0048]
设备100还包括用于为各种部件供电的电力系统162。电力系统162任选地包括电力管理系统、一个或多个电源(例如,电池、交流电(ac))、再充电系统、电力故障检测电路、功率转换器或逆变器、电源状态指示符(例如,发光二极管(led))以及与便携式设备中的电力的生成、管理和分配相关联的任何其他部件。
[0049]
设备100任选地还包括一个或多个光学传感器164。图1a示出与i/o子系统106中的光学传感器控制器158耦接的光学传感器。一个或多个光学传感器164任选地包括电荷耦合器件(ccd)或互补金属氧化物半导体(cmos)光电晶体管。一个或多个光学传感器164从环境接收通过一个或多个透镜而投射的光,并且将光转换为表示图像的数据。结合成像模块143(也被叫做相机模块),一个或多个光学传感器164任选地捕获静态图像和/或视频。在一些具体实施中,光学传感器位于设备100的与设备前部上的触敏显示系统112相背对的后部上,使得触摸屏能够用作用于静态图像和/或视频图像采集的取景器。在一些具体实施中,另一光学传感器位于设备的前部上,从而获取该用户的图像(例如,用于自拍、用于当用户在触摸屏上观看其他视频会议参与者时进行视频会议等等)。
[0050]
设备100任选地还包括一个或多个接触强度传感器165。图1a示出了与i/o子系统106中的强度传感器控制器159耦接的接触强度传感器。一个或多个接触强度传感器165任选地包括一个或多个压阻应变仪、电容式力传感器、电气式力传感器、压电力传感器、光学力传感器、电容式触敏表面、或其他强度传感器(例如,用于测量触敏表面上的接触的力(或压力)的传感器)。一个或多个接触强度传感器165从环境接收接触强度信息(例如,压力信息或压力信息的代用物)。在一些具体实施中,至少一个接触强度传感器与触敏表面(例如,触敏显示器系统112)并置排列或邻近。在一些具体实施中,至少一个接触强度传感器位于与位于设备100的前部上的触敏显示器系统112相背对的设备100的后部上。
[0051]
设备100任选地还包括一个或多个接近传感器166。图1a示出了与外围设备接口118耦接的接近传感器166。另选地,接近传感器166与i/o子系统106中的输入控制器160耦接。在一些具体实施中,当多功能设备被置于用户耳朵附近时(例如,用户正在打电话时),接近传感器关闭并禁用触敏显示器系统112。
[0052]
设备100任选地还包括一个或多个触觉输出发生器163。图1a示出了与i/o子系统106中的触觉反馈控制器161耦接的触觉输出发生器。触觉输出发生器163任选地包括一个或多个电声设备诸如扬声器或其他音频部件,和/或将能量转换成线性运动的机电设备诸如马达、螺线管、电活性聚合器、压电致动器、静电致动器,或其他触觉输出生成部件(例如,将电信号转换成设备上的触觉输出的部件)。一个或多个触觉输出发生器163从触觉反馈模块133接收触觉反馈生成指令,并且在设备100上生成能够由设备100的用户感觉到的触觉输出。在一些具体实施中,至少一个触觉输出发生器与触敏表面(例如,触敏显示器系统112)并置排列或邻近,并且任选地通过竖直地(例如,向设备100的表面内/外)或侧向地(例如,在与设备100的表面相同的平面中向后和向前)移动触敏表面来生成触觉输出。在一些具体实施中,至少一个触觉输出发生器传感器位于设备100的与位于设备100的前部上的触敏显示系统112相背对的后部上。
[0053]
设备100任选地还包括用于获得关于设备的位置(例如,姿态)的信息的一个或多个加速度计167、陀螺仪168和/或磁力仪169(例如,作为惯性测量单元(imu)的一部分)。图1a示出了与外围设备接口118耦接的传感器167、168和169。另选地,传感器167、168和169任
选地与i/o子系统106中的输入控制器160耦接。在一些具体实施中,基于对从一个或多个加速度计接收的数据的分析来在触摸屏显示器上以纵向视图或横向视图显示信息。设备100任选地包括用于获得关于设备100的位置的信息的gps(或glonass或其他全球导航系统)接收器。
[0054]
在一些具体实施中,存储于存储器102中的软件组件包括操作系统126、通信模块(或指令集)128、接触/运动模块(或指令集)130、图形模块(或指令集)132、触觉反馈模块(或指令集)133、文本输入模块(或指令集)134、全球定位系统(gps)模块(或指令集)135、以及应用程序(或指令集)136。此外,在一些具体实施中,存储器102存储设备/全局内部状态157,如图在1a和图3中所示的。设备/全局内部状态157包括以下中的一者或多者:活动应用程序状态,其指示哪些应用程序(如果有的话)当前是活动的;显示状态,其指示什么应用程序、视图或其他信息占据触敏显示器系统112的各个区域;传感器状态,包括从设备的各个传感器和其他输入或控制设备116获得的信息;以及关于设备的位置和/或姿态的位置和/或方位信息。
[0055]
操作系统126(例如,ios、darwin、rtxc、linux、unix、os x、windows、或嵌入式操作系统诸如vxworks)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电源管理等)的各种软件组件和/或驱动器,并且有利于各种硬件和软件组件之间的通信。
[0056]
通信模块128有利于通过一个或多个外部端口124来与其他设备进行通信,并且还包括用于处理由rf电路108和/或外部端口124所接收的数据的各种软件组件。外部端口124(例如,通用串行总线(usb)、火线等)适于直接耦接到其他设备,或间接地通过网络(例如,互联网、无线lan等)进行耦接。在一些具体实施中,外部端口是与apple inc.(cupertino,california)的一些ipod和设备中所使用的30针连接器相同或类似和/或兼容的多针(例如,30针)连接器。在一些具体实施中,外部端口是与apple inc.(cupertino,california)的一些ipod和设备中所使用的lightning连接器相同或类似和/或兼容的lightning连接器。
[0057]
接触/运动模块130任选地检测与触敏显示器系统112(结合显示控制器156)和其他触敏设备(例如,触控板或物理点击轮)的接触。接触/运动模块130包括用于执行与(例如手指或触笔)接触检测相关的各种操作的软件部件,诸如确定是否已发生接触(例如,检测手指按下事件)、确定接触的强度(例如,接触的力或压力,或者接触的力或压力的替代物)、确定是否存在接触的移动并跟踪在触敏表面上的移动(例如,检测一个或多个手指拖动事件)、以及确定接触是否已停止(例如,检测手指抬起事件或者接触断开)。接触/运动模块130从触敏表面接收接触数据。确定接触点的移动任选地包括确定接触点的速率(量值)、速度(量值和方向)和/或加速度(量值和/或方向的改变),所述接触点的移动由一系列接触数据表示。这些操作任选地被应用于单点接触(例如,单指接触或触笔接触)或者多点同时接触(例如,“多点触摸”/多指接触和/或触笔接触)。在一些具体实施中,接触/运动模块130和显示控制器156检测触控板上的接触。
[0058]
接触/运动模块130任选地检测由用户进行的手势输入。触敏表面上的不同手势具有不同的接触模式(例如,所检测到的接触的不同运动、计时和/或强度)。因此,任选地通过检测特定接触模式来检测手势。例如,检测单指轻击手势包括检测手指按下事件,然后在与
手指按下事件相同的位置(或基本上相同的位置)处(例如,在图标位置处)检测手指抬起(抬离)事件。又如,检测触敏表面上的手指轻扫手势包括检测手指按下事件,然后检测一个或多个手指拖动事件,并且随后检测手指抬起(抬离)事件。类似地,通过检测触笔的特定接触图案来任选地检测触笔的轻击、轻扫、拖动和其他手势。
[0059]
图形模块132包括用于在触敏显示器系统112或其他显示器上渲染和显示图形的各种已知软件组件,包括用于改变所显示的图形的视觉冲击(例如,亮度、透明度、饱和度、对比度或其他视觉属性)的部件。如本文所用,术语“图形”包括可被显示给用户的任何对象,非限制性地包括文本、网页、图标(诸如包括软键的用户界面对象)、数字图像、视频、动画等。
[0060]
在一些具体实施中,图形模块132存储表示待使用的图形的数据。每个图形任选地被分配有对应的代码。图形模块132从应用程序等接收用于指定待显示的图形的一个或多个代码,在必要的情况下还一起接收坐标数据和其他图形属性数据,并且然后生成屏幕图像数据,以输出至显示控制器156。
[0061]
触觉反馈模块133包括用于生成指令的各种软件部件,该指令由一个或多个触觉输出发生器163使用,以便响应于用户与设备100的交互而在设备100上的一个或多个位置处产生触觉输出。
[0062]
任选地为图形模块132的部件的文本输入模块134提供用于在各种应用程序(例如,联系人137、电子邮件140、im 141、浏览器147和需要文本输入的任何其他应用程序)中输入文本的软键盘。
[0063]
gps模块135确定设备的位置并提供该信息以在各种应用程序中使用(例如,提供至电话138以用于基于位置的拨号;提供至相机143作为图片/视频元数据;以及提供至提供基于位置的服务的应用程序诸如天气桌面小程序、当地黄页桌面小程序和地图/导航桌面小程序)。
[0064]
应用程序136任选地包括以下模块(或指令集)或者其子集或超集:
[0065]
·
联系人模块137(有时称为通讯录或联系人列表);
[0066]
·
电话模块138;
[0067]
·
视频会议模块139;
[0068]
·
电子邮件客户端模块140;
[0069]
·
即时消息(im)模块141;
[0070]
·
健身支持模块142;
[0071]
·
用于静态图像和/或视频图像的相机模块143;
[0072]
·
图像管理模块144;
[0073]
·
浏览器模块147;
[0074]
·
日历模块148;
[0075]
·
桌面小程序模块149,其任选地包括以下各项中的一者或多者:天气桌面小程序149

1、股市桌面小程序149

2、计算器桌面小程序149

3、闹钟桌面小程序149

4、词典桌面小程序149

5、和由用户获取的其他桌面小程序、以及用户创建的桌面小程序149

6;
[0076]
·
用于形成用户创建的桌面小程序149

6的桌面小程序创建器模块150;
[0077]
·
搜索模块151;
[0078]
·
任选地由视频播放器模块和音乐播放器模块构成的视频和音乐播放器模块152;
[0079]
·
备忘录模块153;
[0080]
·
地图模块154;以及/或者
[0081]
·
在线视频模块155。
[0082]
任选地存储在存储器102中的其他应用程序136的示例包括其他文字处理应用程序、其他图像编辑应用程序、绘图应用程序、呈现应用程序、支持java的应用程序、加密、数字权益管理、语音识别和语音复制。
[0083]
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,联系人模块137包括可执行指令用于管理通讯录或联系人列表(例如,存储在存储器102或存储器370中的联系人模块137的应用程序内部状态192中),包括:添加姓名到通讯录;从通讯录删除姓名;将电话号码、电子邮件地址、物理地址或其他信息与姓名关联;将图像与姓名关联;对姓名进行归类和分类;提供电话号码和/或电子邮件地址来发起和/或促进通过电话138、视频会议139、电子邮件140或即时消息141的通信;等等。
[0084]
结合rf电路108、音频电路110、扬声器111、麦克风113、触敏显示器系统112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,电话模块138包括用于进行以下操作的可执行指令:输入与电话号码对应的字符序列、访问通讯录137中的一个或多个电话号码、修改已输入的电话号码、拨打相应的电话号码、进行会话、以及当会话完成时断开或挂断。如上所述,无线通信任选地使用多种通信标准、协议和技术中的任一种。
[0085]
结合rf电路108、音频电路110、扬声器111、麦克风113、触敏显示系统112、显示控制器156、一个或多个光学传感器164、光学传感器控制器158、接触模块130、图形模块132、文本输入模块134、联系人列表137和电话模块138,视频会议模块139包括根据用户指令来发起、进行和终止用户与一个或多个其他参与方之间的视频会议的可执行指令。
[0086]
结合rf电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,电子邮件客户端模块140包括用于响应于用户指令来创建、发送、接收和管理电子邮件的可执行指令。结合图像管理模块144,电子邮件客户端模块140使得非常容易创建和发送具有由相机模块143拍摄的静态图像或视频图像的电子邮件。
[0087]
结合rf电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入模块134,即时消息模块141包括用于进行以下操作的可执行指令:输入与即时消息对应的字符序列、修改先前输入的字符、发送相应即时消息(例如,使用针对基于电话的即时消息的短消息服务(sms)或多媒体消息服务(mms)协议或者使用针对基于互联网的即时消息的xmpp、simple、apple推送通知服务(apns)或imps)、接收即时消息、以及查看所接收的即时消息。在一些具体实施中,所传输和/或接收的即时消息任选地包括图形、相片、音频文件、视频文件、和/或mms和/或增强消息服务(ems)中所支持的其他附接件。如本文所用,“即时消息”是指基于电话的消息(例如,使用sms或mms发送的消息)和基于互联网的消息(例如,使用xmpp、simple、apns或imps发送的消息)两者。
[0088]
结合rf电路108、触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134、gps模块135、地图模块154以及视频和音乐播放器模块152,健身支持模块142包括可执行指令用于创建健身(例如,具有时间、距离和/或卡路里燃烧目标);与
(体育设备和智能手表中的)健身传感器通信;接收健身传感器数据;校准用于监视健身的传感器;为健身选择和播放音乐;以及显示、存储和传输健身数据。
[0089]
结合触敏显示器系统112、显示控制器156、一个或多个光学传感器164、光学传感器控制器158、接触模块130、图形模块132和图像管理模块144,相机模块143包括用于进行以下操作的可执行指令:捕获静态图像或视频(包括视频流)并且将它们存储到存储器102中、修改静态图像或视频的特征、和/或从存储器102删除静态图像或视频。
[0090]
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132、文本输入模块134、和相机模块143,图像管理模块144包括用于排列、修改(例如,编辑)、或以其他方式操控、加标签、删除、展示(例如,在数字幻灯片或相册中)、以及存储静态图像和/或视频图像的可执行指令。
[0091]
结合rf电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132和文本输入模块134,浏览器模块147包括根据用户指令来浏览互联网(包括搜索、链接到、接收、和显示网页或其部分、以及链接到网页的附件和其他文件)的可执行指令。
[0092]
结合rf电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134、电子邮件客户端模块140和浏览器模块147,日历模块148包括用于根据用户指令来创建、显示、修改和存储日历以及与日历相关联的数据(例如,日历条目、待办事项等)的可执行指令。
[0093]
结合rf电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134和浏览器模块147,桌面小程序模块149是任选地由用户下载和使用的微型应用程序(例如,天气桌面小程序149

1、股市桌面小程序149

2、计算器桌面小程序149

3、闹钟桌面小程序149

4和词典桌面小程序149

5)、或由用户创建的微型应用程序(例如,用户创建的桌面小程序149

6)。在一些具体实施中,桌面小程序包括html(超文本标记语言)文件、css(层叠样式表)文件和javascript文件。在一些具体实施中,桌面小程序包括xml(可扩展标记语言)文件和javascript文件(例如,yahoo!桌面小程序)。
[0094]
结合rf电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134、和浏览器模块147,桌面小程序创建器模块150包括用于创建桌面小程序(例如,将网页的用户指定部分转到桌面小程序中)的可执行指令。
[0095]
结合触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132和文本输入模块134,搜索模块151包括用于根据用户指令来搜索存储器102中的与一个或多个搜索条件(例如,一个或多个用户指定的搜索词)匹配的文本、音乐、声音、图像、视频和/或其他文件的可执行指令。
[0096]
结合触敏显示系统112、显示系统控制器156、接触模块130、图形模块132、音频电路110、扬声器111、rf电路108和浏览器模块147,视频和音乐播放器模块152包括允许用户下载和回放以一种或多种文件格式(诸如mp3或aac文件)存储的所记录的音乐和其他声音文件的可执行指令,以及用于显示、呈现或以其他方式回放视频(例如,在触敏显示系统112上或在经由外部端口124无线连接的外部显示器上)的可执行指令。在一些具体实施中,设备100任选地包括mp3播放器诸如ipod (apple inc.(cupertino,california)的商标)的功能。
[0097]
结合触敏显示器系统112、显示控制器156、接触模块130、图形模块132和文本输入
模块134,备忘录模块153包括用于根据用户指令来创建和管理备忘录、待办事项等的可执行指令。
[0098]
结合rf电路108、触敏显示器系统112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134、gps模块135和浏览器模块147,地图模块154包括用于根据用户指令来接收、显示、修改和存储地图以及与地图相关联的数据(例如,驾车路线;特定位置处或附近的商店和其他兴趣点的数据;和其他基于位置的数据)的可执行指令。
[0099]
结合触敏显示系统112、显示系统控制器156、接触模块130、图形模块132、音频电路110、扬声器111、rf电路108、文本输入模块134、电子邮件客户端模块140和浏览器模块147,在线视频模块155包括允许用户访问、浏览、接收(例如,通过流式传输和/或下载)、回放(例如在触摸屏112上或在无线连接的或经由外部端口124连接的外部显示器上)、发送具有至特定在线视频的链接的电子邮件、以及以其他方式管理一种或多种文件格式诸如h.264的在线视频的可执行指令。在一些具体实施中,使用即时消息模块141而不是电子邮件客户端模块140来发送特定在线视频的链接。
[0100]
上述所识别的每个模块和应用对应于用于执行上述一种或多种功能以及在本技术中所描述的方法(例如,本文中所描述的计算机实现的方法和其他信息处理方法)的一组可执行指令。这些模块(即,指令集)不必以独立的软件程序、过程或模块实现,因此这些模块的各种子集任选地在各种具体实施中组合或以其他方式重新布置。在一些具体实施中,存储器102任选地存储上述模块和数据结构的子集。此外,存储器102任选地存储上文未描述的另外的模块和数据结构。
[0101]
在一些具体实施中,设备100是该设备上的预定义的一组功能的操作唯一地通过触摸屏和/或触控板来执行的设备。通过使用触摸屏和/或触控板作为用于操作设备100的主要输入控制设备,任选地减少设备100上的物理输入控制设备(例如,下压按钮、拨盘等等)的数量。
[0102]
唯一地通过触摸屏和/或触控板来执行的预定义的一组功能任选地包括在用户界面之间的导航。在一些具体实施中,触控板在被用户触摸时将设备100从设备100上显示的任何用户界面导航到主菜单、主菜单或根菜单。在此类具体实施中,使用触控板来实现“菜单按钮”。在一些其他具体实施中,菜单按钮是物理下压按钮或者其他物理输入控制设备,而不是触控板。
[0103]
图1b是示出根据一些具体实施的用于事件处理的示例性部件的框图。在一些具体实施中,存储器102(图1a中)或存储器370(图3)包括事件分类器170(例如,在操作系统126中)和相应的应用程序136

1(例如,前述应用程序136、137至155、380至390中的任一个应用程序)。
[0104]
事件分类器170接收事件信息并确定要将事件信息递送到的应用程序136

1和应用程序136

1的应用程序视图191。事件分类器170包括事件监视器171和事件分配器模块174。在一些具体实施中,应用程序136

1包括应用程序内部状态192,该应用程序内部状态指示当应用程序是活动的或正在执行时在触敏显示器系统112上显示的一个或多个当前应用程序视图。在一些具体实施中,设备/全局内部状态157被事件分类器170用来确定哪个(哪些)应用程序当前是活动的,并且应用程序内部状态192被事件分类器170用来确定要将事件信息递送到的应用程序视图191。
[0105]
在一些具体实施中,应用程序内部状态192包括附加信息,诸如以下各项中的一者或多者:当应用程序136

1恢复执行时将被使用的恢复信息、指示信息正被显示或准备好用于被应用程序136

1显示的用户界面状态信息、用于使得用户能够返回到应用程序136

1的前一状态或视图的状态队列,以及用户采取的先前动作的重复/撤销队列。
[0106]
事件监视器171从外围设备接口118接收事件信息。事件信息包括关于子事件(例如,作为多点触摸手势的一部分的触敏显示器系统112上的用户触摸)的信息。外围设备接口118传输其从i/o子系统106或传感器诸如接近传感器166、一个或多个加速度计167、一个或多个陀螺仪168、一个或多个磁力仪169和/或麦克风113(通过音频电路110)接收的信息。外围设备接口118从i/o子系统106所接收的信息包括来自触敏显示器系统112或触敏表面的信息。
[0107]
在一些具体实施中,事件监视器171以预先确定的间隔将请求发送至外围设备接口118。作为响应,外围设备接口118传输事件信息。在其他具体实施中,外围设备接口118仅当存在显著事件(例如,接收到高于预先确定的噪声阈值和/或接收到超过预先确定的持续时间的输入)时才传输事件信息。
[0108]
在一些具体实施中,事件分类器170还包括命中视图确定模块172和/或活动事件识别器确定模块173。
[0109]
当触敏显示器系统112显示多于一个视图时,命中视图确定模块172提供用于确定子事件已在一个或多个视图内的什么地方发生的软件过程。视图由用户能够在显示器上看到的控件和其他元素构成。
[0110]
与应用程序相关联的用户界面的另一方面是一组视图,本文中有时也称为应用程序视图或用户界面窗口,在其中显示信息并且发生基于触摸的手势。在其中检测到触摸的(相应应用程序的)应用程序视图任选地对应于在应用程序的程序化或视图分级结构内的程序化水平。例如,在其中检测到触摸的最低水平视图任选地被称为命中视图,并且被识别为正确输入的事件集任选地至少部分地基于初始触摸的命中视图来确定,所述初始触摸开始基于触摸的手势。
[0111]
命中视图确定模块172接收与基于触摸的手势的子事件相关的信息。当应用程序具有以分级结构组织的多个视图时,命中视图确定模块172将命中视图识别为应当对子事件进行处理的分级结构中的最低视图。在大多数情况下,命中视图是发起子事件(即形成事件或潜在事件的子事件序列中的第一子事件)在其中发生的最低水平视图。一旦命中视图被命中视图确定模块所识别,命中视图便通常接收与其被识别为命中视图所针对的同一触摸或输入源相关的所有子事件。
[0112]
活动事件识别器确定模块173确定视图分级结构内的哪个或哪些视图应接收特定子事件序列。在一些具体实施中,活动事件识别器确定模块173确定仅命中视图应接收特定子事件序列。在其他具体实施中,活动事件识别器确定模块173确定包括子事件的物理位置的所有视图是活跃参与的视图,并因此确定所有活跃参与的视图都应接收特定子事件序列。在其他具体实施中,即使触摸子事件完全被局限到与一个特定视图相关联的区域,分级结构中的较高视图将仍然保持为活跃参与的视图。
[0113]
事件分配器模块174将事件信息分配到事件识别器(例如,事件识别器180)。在包括活动事件识别器确定模块173的一些具体实施中,事件分配器模块174将事件信息递送到
由活动事件识别器确定模块173确定的事件识别器。在一些具体实施中,事件分配器模块174在事件队列中存储事件信息,该事件信息由相应事件接收器模块182进行检索。
[0114]
在一些具体实施中,操作系统126包括事件分类器170。另选地,应用程序136

1包括事件分类器170。在又一个具体实施中,事件分类器170是独立模块,或者是存储在存储器102中的另一个模块(诸如,接触/运动模块130)的一部分。
[0115]
在一些具体实施中,应用程序136

1包括多个事件处理程序190和一个或多个应用程序视图191,其中的每个应用程序视图包括用于处理发生在应用程序的用户界面的相应视图内的触摸事件的指令。应用程序136

1的每个应用程序视图191包括一个或多个事件识别器180。通常,相应应用程序视图191包括多个事件识别器180。在其他具体实施中,事件识别器180中的一个或多个事件识别器是独立模块的一部分,该独立模块为诸如用户界面工具包或应用程序136

1从中继承方法和其他属性的更高级别的对象。在一些具体实施中,相应事件处理程序190包括以下各项中的一者或多者:数据更新器176、对象更新器177、gui更新器178、和/或从事件分类器170接收的事件数据179。事件处理程序190任选地利用或调用数据更新器176、对象更新器177或gui更新器178来更新应用程序内部状态192。另选地,应用程序视图191中的一个或多个应用程序视图包括一个或多个相应事件处理程序190。另外,在一些具体实施中,数据更新器176、对象更新器177和gui更新器178中的一者或多者被包括在相应应用程序视图191中。
[0116]
相应的事件识别器180从事件分类器170接收事件信息(例如,事件数据179),并且从事件信息识别事件。事件识别器180包括事件接收器182和事件比较器184。在一些具体实施中,事件识别器180还包括元数据183和事件传递指令188(其任选地包括子事件递送指令)的至少一个子集。
[0117]
事件接收器182从事件分类器170接收事件信息。事件信息包括关于子事件例如触摸或触摸移动的信息。根据子事件,事件信息还包括附加信息,诸如子事件的位置。当子事件涉及触摸的运动时,事件信息任选地还包括子事件的速率和方向。在一些具体实施中,事件包括设备从一个取向旋转到另一取向(例如,从纵向取向旋转到横向取向,或反之亦然),并且事件信息包括关于设备的当前取向(也被称为设备姿态)的对应信息。
[0118]
事件比较器184将事件信息与预定义的事件或子事件定义进行比较,并且基于该比较来确定事件或子事件,或者确定或更新事件或子事件的状态。在一些具体实施中,事件比较器184包括事件定义186。事件定义186包含事件的定义(例如,预定义的子事件序列),例如事件1(187

1)、事件2(187

2)以及其他。在一些具体实施中,事件187中的子事件包括例如触摸开始、触摸结束、触摸移动、触摸取消和多点触摸。在一个示例中,事件1(187

1)的定义是被显示对象上的双击。例如,双击包括被显示对象上的预先确定时长的第一次触摸(触摸开始)、预先确定时长的第一次抬起(触摸结束)、被显示对象上的预先确定时长的第二次触摸(触摸开始)以及预先确定时长的第二次抬起(触摸结束)。在另一个示例中,事件2(187

2)的定义是被显示对象上的拖动。例如,拖动包括被显示对象上的预先确定时长的触摸(或接触)、触摸在触敏显示器系统112上的移动、以及触摸的抬离(触摸结束)。在一些具体实施中,事件还包括用于一个或多个相关联的事件处理程序190的信息。
[0119]
在一些具体实施中,事件定义187包括对用于相应用户界面对象的事件的定义。在一些具体实施中,事件比较器184执行命中测试以确定哪个用户界面对象与子事件相关联。
例如,在触敏显示器系统112上显示三个用户界面对象的应用程序视图中,当在触敏显示器系统112上检测到触摸时,事件比较器184执行命中测试以确定这三个用户界面对象中的哪一个用户界面对象与该触摸(子事件)相关联。如果每个所显示对象与相应事件处理程序190相关联,则事件比较器使用该命中测试的结果来确定哪个事件处理程序190应当被激活。例如,事件比较器184选择与子事件和触发该命中测试的对象相关联的事件处理程序。
[0120]
在一些具体实施中,相应事件187的定义还包括延迟动作,该延迟动作延迟事件信息的递送,直到已确定子事件序列确实对应于或不对应于事件识别器的事件类型。
[0121]
当相应事件识别器180确定子事件序列不与事件定义186中的任何事件匹配时,该相应事件识别器180进入事件不可能、事件失败或事件结束状态,在此之后忽略基于触摸的手势的后续子事件。在这种情况下,对于命中视图保持活动的其他事件识别器(如果有的话)继续跟踪并处理持续进行的基于触摸的手势的子事件。
[0122]
在一些具体实施中,相应事件识别器180包括具有指示事件递送系统应当如何执行对活跃参与的事件识别器的子事件递送的可配置属性、标志和/或列表的元数据183。在一些具体实施中,元数据183包括指示事件识别器彼此如何交互或如何能够交互的可配置属性、标志和/或列表。在一些具体实施中,元数据183包括指示子事件是否递送到视图或程序化分级结构中的不同层级的可配置属性、标志和/或列表。
[0123]
在一些具体实施中,当事件的一个或多个特定子事件被识别时,相应事件识别器180激活与事件相关联的事件处理程序190。在一些具体实施中,相应事件识别器180将与事件相关联的事件信息递送到事件处理程序190。激活事件处理程序190不同于将子事件发送(和延期发送)到相应命中视图。在一些具体实施中,事件识别器180抛出与所识别的事件相关联的标记,并且与该标记相关联的事件处理程序190获取该标记并执行预定义过程。
[0124]
在一些具体实施中,事件递送指令188包括递送关于子事件的事件信息而不激活事件处理程序的子事件递送指令。相反,子事件递送指令将事件信息递送到与子事件序列相关联的事件处理程序或者递送到活跃参与的视图。与子事件序列或与活跃参与的视图相关联的事件处理程序接收事件信息并执行预先确定的过程。
[0125]
在一些具体实施中,数据更新器176创建并更新在应用程序136

1中使用的数据。例如,数据更新器176对联系人模块137中所使用的电话号码进行更新,或者对视频或音乐播放器模块152中所使用的视频文件进行存储。在一些具体实施中,对象更新器177创建并更新在应用程序136

1中使用的对象。例如,对象更新器177创建新的用户界面对象或更新用户界面对象的位置。gui更新器178更新gui。例如,gui更新器178准备显示信息,并且将显示信息发送到图形模块132用以显示在触敏显示器上。
[0126]
在一些具体实施中,事件处理程序190包括数据更新器176、对象更新器177和gui更新器178,或具有对该数据更新器、该对象更新器和该gui更新器的访问权限。在一些具体实施中,数据更新器176、对象更新器177和gui更新器178被包括在相应应用程序136

1或应用程序视图191的单个模块中。在其他具体实施中,它们被包括在两个或更多个软件模块中。
[0127]
应当理解,关于触敏显示器上的用户触摸的事件处理的上述论述还适用于利用输入设备来操作多功能设备100的其他形式的用户输入,并不是所有用户输入都是在触摸屏上发起的。例如,任选地与单次或多次键盘按下或按住协作的鼠标移动和鼠标按钮按下;触
控板上的接触移动,诸如轻击、拖动、滚动等;触笔输入;设备的移动;口头指令;检测到的眼睛移动;生物特征输入;和/或它们的任何组合任选地被用作对应于限定要识别的事件的子事件的输入。
[0128]
图2示出了根据一些具体实施的具有触摸屏(例如,图1a的触敏显示器系统112)的便携式多功能设备100。触摸屏任选地在用户界面(ui)200内显示一个或多个图形。在本具体实施以及下文所述的其他具体实施中,用户能够通过例如利用一根或多根手指202(在图中未按比例绘制)或一支或多支触笔203(在图中未按比例绘制)在图形上作出手势来选择这些图形中的一个或多个图形。在一些具体实施中,当用户中断与一个或多个图形的接触时,将发生对一个或多个图形的选择。在一些具体实施中,手势任选地包括一次或多次轻击、一次或多次轻扫(从左向右、从右向左、向上和/或向下)和/或已与设备100发生接触的手指的滚动(从右向左、从左向右、向上和/或向下)。在一些具体实施中或在一些情况下,不经意地与图形接触不会选择图形。例如,当与选择对应的手势是轻击时,在应用程序图标上方扫动的轻扫手势任选地不会选择对应的应用程序。
[0129]
设备100任选地还包括一个或多个物理按钮,诸如“主按钮”或菜单按钮204。如前所述,菜单按钮204任选地用于导航到任选地在设备100上被执行的一组应用程序中的任何应用程序136。另选地,在一些具体实施中,菜单按钮被实现为被显示在触摸屏显示器上的gui中的软键。
[0130]
在一些具体实施中,设备100包括触摸屏显示器、菜单按钮204、用于使设备通电/断电以及锁定设备的下压按钮206、音量调节按钮208、用户身份模块(sim)卡槽210、耳麦插孔212以及对接/充电外部端口124。下压按钮206任选地用于通过压下该按钮并且将该按钮保持在压下状态持续预定义的时间间隔来对设备进行开/关机;通过压下该按钮并在该预定义的时间间隔过去之前释放该按钮来锁定设备;和/或对设备进行解锁或发起解锁过程。在一些具体实施中,设备100还通过麦克风113来接受用于激活或停用某些功能的语音输入。设备100还任选地包括用于检测触敏显示器系统112上的接触的强度的一个或多个接触强度传感器165、和/或用于为设备100的用户生成触觉输出的一个或多个触觉输出发生器163。
[0131]
图3是根据一些具体实施的具有显示器和触敏表面的示例性多功能设备的框图。设备300不必是便携式的。在一些具体实施中,设备300是膝上型计算机、台式计算机、平板电脑、多媒体播放器设备、导航设备、教育设备(诸如儿童学习玩具)、游戏系统或控制设备(例如,家用控制器或工业用控制器)。设备300通常包括一个或多个处理单元(cpu)310、一个或多个网络或其他通信接口360、存储器370和用于使这些部件互连的一条或多条通信总线320。通信总线320任选地包括使系统部件互连并且控制系统部件之间的通信的电路(有时称作芯片组)。设备300包括具有显示器340的输入/输出(i/o)接口330,该显示器通常是触摸屏显示器。i/o接口330还任选地包括键盘和/或鼠标(或其他指向设备)350和触控板355、用于在设备300上生成触觉输出的触觉输出发生器357(例如,类似于以上参考图1a所述的一个或多个触觉输出发生器163)、传感器359(例如,类似于以上参考图1a所述的传感器112、164、165、166、167、168和169的触敏传感器、光学传感器、接触强度传感器、接近传感器、加速度传感器、姿态和/或磁传感器)。存储器370包括高速随机存取存储器,诸如dram、sram、ddr ram或其他随机存取固态存储器设备;并且任选地包括非易失性存储器,诸如一
个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器370任选地包括远离cpu 310定位的一个或多个存储设备。在一些具体实施中,存储器370存储与便携式多功能设备100(图1a)的存储器102中所存储的程序、模块和数据结构类似的程序、模块、和数据结构,或它们的子集。此外,存储器370任选地存储在便携式多功能设备100的存储器102中不存在的附加程序、模块和数据结构。例如,设备300的存储器370任选地存储绘图模块380、呈现模块382、文字处理模块384、网站创建模块386、盘编辑模块388、和/或电子表格模块390,而便携式多功能设备100(图1a)的存储器102任选地不存储这些模块。
[0132]
图3中上述所识别的元件中的每个元件任选地存储在先前提到的存储器设备中的一个或多个存储器设备中。上述所识别的模块中的每个模块对应于用于执行上述功能的指令集。上述所识别的模块或程序(即,指令集)不必被实现为单独的软件程序、过程或模块,因此这些模块的各种子集任选地在各种具体实施中组合或以其他方式重新布置。在一些具体实施中,存储器370任选地存储上述模块和数据结构的子集。此外,存储器370任选地存储上文未描述的附加模块和数据结构。
[0133]
现在将注意力转到任选地在便携式多功能设备100上实现的用户界面(“ui”)的具体实施。
[0134]
图4a示出根据一些具体实施的便携式多功能设备100上的应用程序菜单的示例性用户界面。类似的用户界面任选地在设备300上实现。在一些具体实施中,用户界面400包括以下元件或者其子集或超集:
[0135]
·
无线通信诸如蜂窝信号和wi

fi信号的信号强度指示符402;
[0136]
·
时间404;
[0137]
·
蓝牙指示符405;
[0138]
·
电池状态指示符406;
[0139]
·
具有针对常用应用程序的图标的托盘408,该图标诸如:
[0140]
ο电话模块138的被标记为“电话”的图标416,该图标416任选地包括未接来电或语音信箱的数量的指示符414;
[0141]
ο电子邮件客户端模块140的被标记为“邮件”的图标418,该图标418任选地包括未读电子邮件的数量的指示符410;
[0142]
ο浏览器模块147的标记为“浏览器”的图标420;和
[0143]
ο视频和音乐播放器模块152(也称为ipod (apple inc.(cupertino,california)的商标)模块152)的被标记为“ipod”的图标422;和
[0144]
·
其他应用的图标,诸如:
[0145]
οim模块141的被标记为“文本”的图标424;
[0146]
ο日历模块148的被标记为“日历”的图标426;
[0147]
ο图像管理模块144的被标记为“照片”的图标428;
[0148]
ο相机模块143的被标记为“相机”的图标430;
[0149]
ο在线视频模块155的被标记为“在线视频”的图标432;
[0150]
ο股市桌面小程序149

2的被标记为“股市”的图标434;
[0151]
ο地图模块154的被标记为“地图”的图标436;
[0152]
ο天气桌面小程序149

1的被标记为“天气”的图标438;
[0153]
ο闹钟桌面小程序169

6的被标记为“时钟”的图标440;
[0154]
ο健身支持模块142的被标记为“健身支持”的图标442;
[0155]
ο记事本模块153的标记为“记事本”的图标444;和
[0156]
ο用于设置应用程序或模块的图标446,该图标提供对设备100及其各种应用程序136的设置的访问。
[0157]
应当注意,图4a中示出的图标标签仅仅是示例性的。例如,在一些具体实施中,视频和音乐播放器模块152的图标422被标记为“音乐”或“音乐播放器”。对于各种应用程序图标任选地使用其他标签。在一些具体实施中,相应应用程序图标的标签包括与该相应应用程序图标对应的应用程序的名称。在一些具体实施中,特定应用程序图标的标签不同于与该特定应用程序图标对应的应用程序的名称。
[0158]
图4b示出了具有与显示器450分开的触敏表面451(例如,图3中的平板或触控板355)的设备(例如,图3中的设备300)上的示例性用户界面。设备300还任选地包括用于检测触敏表面451上的接触的强度的一个或多个接触强度传感器(例如,传感器359中的一个或多个传感器)和/或用于为设备300的用户生成触觉输出的一个或多个触觉输出发生器359。
[0159]
图4b示出了具有与显示器450分开的触敏表面451(例如,图3中的平板或触控板355)的设备(例如,图3中的设备300)上的示例性用户界面。尽管将参考触摸屏显示器112(其中组合了触敏表面和显示器)上的输入给出随后的许多示例,但是在一些具体实施中,设备检测与显示器分开的触敏表面上的输入,如图4b中所示。在一些具体实施中,触敏表面(例如,图4b中的451)具有与显示器(例如,450)上的主轴线(例如,图4b中的453)对应的主轴线(例如,图4b中的452)。根据这些具体实施,设备检测与显示器上相应位置对应的位置处的与触敏表面451的接触(例如,图4b中的460和462)(例如,在图4b中,460对应于468并且462对应于470)。这样,在触敏表面(例如,图4b中的451)与多功能设备的显示器(例如,图4b中的450)是分开的时侯,由设备在触敏表面上所检测到的用户输入(例如,接触460和462以及它们的移动)被该设备用于操纵显示器上的用户界面。应当理解,类似的方法任选地用于本文所述的其他用户界面。
[0160]
另外,虽然主要是参考手指输入(例如,手指接触、单指轻击手势、手指轻扫手势等)来给出下面的示例,但是应当理解的是,在一些具体实施中,这些手指输入中的一个或多个手指输入由来自另一输入设备的输入(例如,基于鼠标的输入或触笔输入)替换。例如,轻扫手势任选地由鼠标点击(例如,而不是接触),之后是光标沿着轻扫的路径的移动(例如,而不是接触的移动)替代。又如,轻击手势任选地由在光标位于轻击手势的位置上方时的鼠标点击(例如,代替对接触的检测,之后是停止检测接触)替代。类似地,当同时检测到多个用户输入时,应当理解的是,多个计算机鼠标任选地被同时使用,或鼠标和手指接触任选地被同时使用。
[0161]
示例性cgr文件呈现设备
[0162]
物理环境是指人们在没有电子系统帮助的情况下能够感测和/或交互的物理世界。物理环境诸如物理公园包括物理物品,诸如物理树木、物理建筑物和物理人。人们能够诸如通过视觉、触觉、听觉、味觉和嗅觉来直接感测物理环境和/或与物理环境交互。
[0163]
相反,计算机生成现实(cgr)环境是指人们经由电子系统感知和/或交互的完全或
部分模拟的环境。在cgr中,跟踪人的物理运动的一个子集或其表示,并且作为响应,以符合至少一个物理定律的方式调节在cgr环境中模拟的一个或多个虚拟对象的一个或多个特征。例如,cgr系统可以检测人的头部转动,并且作为响应,以与此类视图和声音在物理环境中变化的方式类似的方式调节呈现给人的图形内容和声场。在一些情况下(例如,出于可达性原因),对cgr环境中虚拟对象的特征的调节可以响应于物理运动的表示(例如,声音命令)来进行。
[0164]
人可以利用其感觉中的任一者来感测cgr对象和/或与cgr对象交互,包括视觉、听觉、触觉、味觉和嗅觉。例如,人可以感测音频对象和/或与音频对象交互,该音频对象创建3d或空间音频环境,该3d或空间音频环境提供3d空间中点音频源的感知。又如,音频对象可以使能音频透明度,该音频透明度在有或者没有计算机生成的音频的情况下选择性地引入来自物理环境的环境声音。在某些cgr环境中,人可以感测和/或只与音频对象交互。
[0165]
cgr的示例包括虚拟现实和混合现实。
[0166]
虚拟现实(vr)环境是指被设计成对于一个或多个感觉完全基于计算机生成的感官输入的模拟环境。vr环境包括人可以感测和/或交互的多个虚拟对象。例如,树木、建筑物和代表人的化身的计算机生成的图像是虚拟对象的示例。人可以通过在计算机生成的环境内人的存在的模拟和/或通过在计算机生成的环境内人的物理移动的一个子组的模拟来感测和/或与vr环境中的虚拟对象交互。
[0167]
与被设计成完全基于计算机生成的感官输入的vr环境相比,混合现实(mr)环境是指被设计成除了包括计算机生成的感官输入(例如,虚拟对象)之外还引入来自物理环境的感官输入或其表示的模拟环境。在虚拟连续体上,混合现实环境是完全物理环境作为一端和虚拟现实环境作为另一端之间的任何状况,但不包括这两端。
[0168]
在一些mr环境中,计算机生成的感官输入可以对来自物理环境的感官输入的变化进行响应。另外,用于呈现mr环境的一些电子系统可以跟踪相对于物理环境的位置和/或取向,以使虚拟对象能够与真实对象(即,来自物理环境的物理物品或其表示)交互。例如,系统可以导致移动使得虚拟树木相对于物理地面看起来是静止的。
[0169]
混合现实的示例包括增强现实和增强虚拟。
[0170]
增强现实(ar)环境是指其中一个或多个虚拟对象叠加在物理环境或其表示之上的模拟环境。例如,用于呈现ar环境的电子系统可具有透明或半透明显示器,人可以透过该显示器直接查看物理环境。该系统可以被配置为在透明或半透明显示器上呈现虚拟对象,使得人利用该系统感知叠加在物理环境之上的虚拟对象。另选地,系统可以具有不透明显示器和一个或多个成像传感器,该成像传感器捕获物理环境的图像或视频,这些图像或视频是物理环境的表示。系统将图像或视频与虚拟对象组合,并在不透明显示器上呈现组合物。人利用系统经由物理环境的图像或视频而间接地查看物理环境,并且感知叠加在物理环境之上的虚拟对象。如本文所用,在不透明显示器上显示的物理环境的视频被称为“透传视频”,意味着系统使用一个或多个图像传感器捕获物理环境的图像,并且在不透明显示器上呈现ar环境时使用那些图像。进一步另选地,系统可以具有投影系统,该投影系统将虚拟对象投射到物理环境中,例如作为全息图或者在物理表面上,使得人利用该系统感知叠加在物理环境之上的虚拟对象。
[0171]
增强现实环境也是指其中物理环境的表示被计算机生成的感官信息进行转换的
模拟环境。例如,在提供透传视频中,系统可以对一个或多个传感器图像进行转换以施加与成像传感器所捕获的视角不同的选择视角(例如,视点)。又如,物理环境的表示可以通过图形地修改(例如,放大)其部分而进行转换,使得经修改部分可以是原始捕获图像的代表性的但不是真实的版本。再如,物理环境的表示可以通过以图形方式消除其部分或将其部分进行模糊处理而进行转换。
[0172]
增强虚拟(av)环境是指其中虚拟或计算机生成的环境结合来自物理环境的一个或多个感官输入的模拟环境。感官输入可以是物理环境的一个或多个特性的表示。例如,av公园可以具有虚拟树木和虚拟建筑物,但人的脸部是从对物理人拍摄的图像逼真再现的。又如,虚拟对象可以采用一个或多个成像传感器所成像的物理物品的形状或颜色。再如,虚拟对象可以采用符合太阳在物理环境中的定位的阴影。
[0173]
有许多不同类型的电子系统使人能够感测和/或与各种cgr环境交互。示例包括头戴式系统、基于投影的系统、平视显示器(hud)、集成有显示能力的车辆挡风玻璃、集成有显示能力的窗户、被形成为被设计用于放置在人的眼睛上的透镜的显示器(例如,类似于隐形眼镜)、耳机/听筒、扬声器阵列、输入系统(例如,具有或不具有触觉反馈的可穿戴或手持控制器)、智能电话、平板电脑和台式/膝上型计算机。头戴式系统可以具有一个或多个扬声器和集成的不透明显示器。另选地,头戴式系统可以被配置为接受外部不透明显示器(例如,智能电话)。头戴式系统可以结合用于捕获物理环境的图像或视频的一个或多个成像传感器和/或用于捕获物理环境的音频的一个或多个麦克风。头戴式系统可以具有透明或半透明显示器,而不是不透明显示器。透明或半透明显示器可以具有媒介,代表图像的光通过该媒介被引导到人的眼睛。显示器可以利用数字光投影、oled、led、uled、硅基液晶、激光扫描光源或这些技术的任意组合。媒介可以是光学波导、全息图媒介、光学组合器、光学反射器、或它们的任意组合。在一个具体实施中,透明或半透明显示器可被配置为选择性地变得不透明。基于投影的系统可以采用将图形图像投影到人的视网膜上的视网膜投影技术。投影系统也可以被配置为将虚拟对象投影到物理环境中,例如作为全息图或在物理表面上。
[0174]
图5是根据一些具体实施的示例性操作架构500的框图。尽管示出了相关特征,但本领域的普通技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的示例性具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,操作架构500包括控制器110和电子设备520。
[0175]
在一些具体实施中,控制器510被配置为管理和协调用户体验。在一些具体实施中,控制器510包括软件、固件和/或硬件的合适组合。下文参考图2更详细地描述控制器510。在一些具体实施中,控制器510是相对于场景503处于本地或远程位置的计算设备。例如,控制器510是位于场景503内的本地服务器。又如,控制器510是位于场景503之外的远程服务器(例如,云服务器、中央服务器等)。在一些具体实施中,控制器510经由一个或多个有线或无线通信信道544(例如,蓝牙、ieee 802.11x、ieee 802.16x、ieee 802.3x等)与电子设备520通信地耦接。又如,控制器510包括在电子设备520的外壳内。在一些具体实施中,控制器510的功能由电子设备520提供和/或与该电子设备组合。
[0176]
在一些具体实施中,电子设备520被配置为向用户呈现cgr内容。在一些具体实施中,电子设备520包括软件、固件和/或硬件的合适组合。根据一些具体实施,在用户物理地存在于场景503内的同时,电子设备520经由显示器522向用户呈现cgr内容,该场景包括处
于电子设备520的视场511内的桌子507。在一些具体实施中,用户将电子设备520拿在他/她的一只或两只手中。在一些具体实施中,在提供cgr内容时,电子设备520被配置为显示虚拟对象(例如,虚拟圆筒509)以及实现在显示器522上对场景503(例如,包括桌子507的表示517)的视频透传。下文参考图3更详细地描述电子设备520。
[0177]
在一些具体实施中,用户将电子设备520佩戴在他/她的头上。例如,在一些具体实施中,电子设备520包括头戴式系统(hms)、头戴式设备(hmd)或头戴式外壳(hme)。因此,电子设备520包括被设置成显示cgr内容的一个或多个cgr显示器。例如,在各种具体实施中,电子设备520包围用户的视场。在一些具体实施中,电子设备520是被配置为呈现cgr内容的手持设备(诸如智能电话或平板电脑),并且用户不再佩戴电子设备520而是手持该设备,同时使显示器朝向用户的视场,并且使相机朝向场景503。在一些具体实施中,手持设备可被放置在可被佩戴在使用者的头部的外壳内。在一些具体实施中,用被配置为呈现cgr内容的cgr舱、外壳或室替代电子设备520,用户在其中不再佩戴或手持电子设备520。
[0178]
图6是根据一些具体实施的控制器510的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。出于该目的,作为非限制性示例,在一些具体实施中,控制器510包括一个或多个处理单元602(例如,微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)、图形处理单元(gpu)、中央处理单元(cpu)、处理核心等)、一个或多个输入/输出(i/o)设备606、一个或多个通信接口608(例如,通用串行总线(usb)、firewire、thunderbolt、ieee 802.3x、ieee 802.11x、ieee 802.16x、全球移动通信系统(gsm)、码分多址(cdma)、时分多址(tdma)、全球定位系统(gps)、红外(ir)、bluetooth、zigbee等类型接口)、一个或多个编程(例如,i/o)接口610、存储器620以及用于互连这些部件和各种其他部件的一条或多条通信总线604。
[0179]
在一些具体实施中,一条或多条通信总线604包括互连并控制系统部件之间的通信的电路。在一些具体实施中,一个或多个i/o设备606包括键盘、鼠标、触控板、操纵杆、一个或多个麦克风、一个或多个扬声器、一个或多个图像传感器、一个或多个显示器等中的至少一种。
[0180]
存储器620包括高速随机存取存储器,诸如动态随机存取存储器(dram)、静态随机存取存储器(sram)、双倍数据速率随机存取存储器(ddr ram)或者其他随机存取固态存储器设备。在一些具体实施中,存储器620包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器620任选地包括与一个或多个处理单元602远程定位的一个或多个存储设备。存储器620包括非暂态计算机可读存储介质。在一些具体实施中,存储器620或存储器620的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者它们的子集,其中包括任选的操作系统630和cgr内容模块640。
[0181]
操作系统630包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。在一些具体实施中,cgr内容模块640被配置为管理和协调一个或多个用户的cgr内容的呈现(例如,一个或多个用户的cgr内容的单个集合、或一个或多个用户的相应群组的cgr内容的多个集合)。为此,在各种具体实施中,cgr内容模块640包括数据获取单元642、跟踪单元644、协调单元646和数据传输单元648。
[0182]
在一些具体实施中,数据获取单元642被配置为至少从电子设备520获取数据(例如,呈现数据、交互数据、传感器数据、位置数据等)。为此,在各种具体实施中,数据获取单元642包括指令和/或用于指令的逻辑部件以及启发法和用于启发法的元数据。
[0183]
在一些具体实施中,跟踪单元644被配置为映射场景503并且至少跟踪电子设备520相对于图5的场景503的位置/定位。为此,在各种具体实施中,跟踪单元644包括指令和/或用于指令的逻辑部件以及启发法和用于启发法的元数据。
[0184]
在一些具体实施中,协调单元646被配置为管理和协调电子设备520向用户呈现的cgr内容。为此,在各种具体实施中,协调单元646包括指令和/或用于指令的逻辑部件以及启发法和用于启发法的元数据。
[0185]
在一些具体实施中,数据传输单元648被配置为至少向电子设备520传输数据(例如,呈现数据、位置数据等)。为此,在各种具体实施中,数据传输单元648包括指令和/或用于指令的逻辑部件以及启发法和用于启发法的元数据。
[0186]
尽管数据获取单元642、跟踪单元644、协调单元646和数据传输单元648被示出为驻留在单个设备(例如,控制器510)上,但应当理解,在其他具体实施中,数据获取单元642、跟踪单元644、协调单元646和数据传输单元648的任何组合可位于单独的计算设备中。
[0187]
此外,图6更多地用作可以存在于特定具体实施中的各种特征的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图6中单独示出的一些功能模块可以在单个模块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定实施方案选择的硬件、软件和/或固件的特定组合。
[0188]
图7是根据一些具体实施的电子设备520的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。出于该目的,作为非限制性示例,在一些具体实施中,电子设备520包括一个或多个处理单元702(例如,微处理器、asic、fpga、gpu、cpu、处理核心等)、一个或多个输入/输出(i/o)设备和传感器706、一个或多个通信接口708(例如,usb、firewire、thunderbolt、ieee 802.3x、ieee 802.11x、ieee 802.16x、gsm、cdma、tdma、gps、ir、bluetooth、zigbee和/或类似类型的接口)、一个或多个编程(例如,i/o)接口710、一个或多个cgr显示器712、一个或多个任选的面向内部和/或面向外部的图像传感器714、存储器720以及用于互连这些部件和各种其他部件的一条或多条通信总线704。
[0189]
在一些具体实施中,该一条或多条通信总线704包括互连系统部件和控制系统部件之间的通信的电路。在一些具体实施中,一个或多个i/o设备和传感器706包括惯性测量单元(imu)、加速度计、陀螺仪、温度计、一个或多个生理传感器(例如,血压监测仪、心率监视器、血氧传感器、血糖传感器等)、一个或多个麦克风707a、一个或多个扬声器707b、触觉引擎、一个或多个深度传感器(例如,结构光、飞行时间等)等中的至少一者。
[0190]
在一些具体实施中,一个或多个cgr显示器712被配置为向用户显示cgr内容。在一些具体实施中,一个或多个cgr显示器712对应于全息、数字光处理(dlp)、液晶显示器(lcd)、硅上液晶(lcos)、有机发光场效应晶体管(olet)、有机发光二极管(oled)、表面传导
电子发射显示器(sed)、场发射显示器(fed)、量子点发光二极管(qd

led)、微机电系统(mems)和/或类似的显示器类型。在一些具体实施中,一个或多个cgr显示器712对应于衍射、反射、偏振、全息等波导显示器。例如,电子设备520包括单个cgr显示器。又如,电子设备520包括针对用户的每只眼睛的cgr显示器。
[0191]
在一些具体实施中,一个或多个图像传感器714被配置为获取对应于用户面部的至少一部分(包括用户的眼睛)的图像数据(任一传感器可称为眼睛跟踪相机)。在一些具体实施中,一个或多个图像传感器714被配置为面向前方,以便获取对应于当不存在电子设备520时用户将看到的场景的图像数据(因而可以被称为场景相机)。一个或多个任选图像传感器714可包括一个或多个rgb相机(例如,具有互补金属氧化物半导体(cmos)图像传感器或电荷耦合器件(ccd)图像传感器)、一个或多个红外(ir)相机、一个或多个基于事件的相机等。
[0192]
存储器720包括高速随机存取存储器,诸如dram、sram、ddr ram或其他随机存取固态存储器设备。在一些具体实施中,存储器720包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器720任选地包括与一个或多个处理单元702远程定位的一个或多个存储设备。存储器720包括非暂态计算机可读存储介质。在一些具体实施中,存储器720或存储器720的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者它们的子集,其中包括任选的操作系统730和cgr呈现模块740。
[0193]
操作系统730包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。在一些具体实施中,cgr呈现模块740被配置为经由一个或多个cgr显示器712和/或i/o设备和传感器706(诸如一个或多个扬声器707b)向用户呈现cgr内容。出于该目的,在各种具体实施中,cgr呈现模块740包括数据获取单元742、cgr内容呈现单元744和数据传输单元746。
[0194]
在一些具体实施中,数据获取单元742被配置为至少从图5的控制器510获取数据(例如,呈现数据、交互数据、传感器数据、位置数据等)。在各种具体实施中,数据获取单元获取cgr文件。为此,在各种具体实施中,数据获取单元742包括指令和/或用于指令的逻辑部件以及启发法和用于启发法的元数据。
[0195]
在一些具体实施中,cgr内容呈现单元744被配置为向用户呈现cgr内容。在各种具体实施中,cgr内容呈现单元744根据cgr文件中阐述的规则来呈现cgr文件的cgr内容。为此,在各种具体实施中,cgr内容呈现单元744包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
[0196]
在一些具体实施中,数据传输单元746被配置为至少向控制器510传输数据(例如,呈现数据、位置数据等)。为此,在各种具体实施中,数据传输单元746包括指令和/或用于指令的逻辑部件以及启发法和用于启发法的元数据。
[0197]
尽管数据获取单元742、cgr内容呈现单元744和数据传输单元746被示出为驻留在单个设备(例如,图5的电子设备520)上,但应当理解,在其他具体实施中,数据获取单元742、cgr内容呈现单元744和数据传输单元746的任何组合可位于单独的计算设备中。
[0198]
此外,图7更多地用作可能存在于特定具体实施中的各种特征的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图7中单独示出的一些功能模块可在单个模块
中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定实施方案选择的硬件、软件和/或固件的特定组合。
[0199]
在各种具体实施中,将cgr内容从cgr文件呈现给用户,该cgr文件包括关于cgr内容的数据并且还包括描述如何呈现cgr内容的数据。在各种具体实施中,cgr文件包括关于一个或多个cgr场景的数据。cgr文件还包括关于用于呈现各种cgr场景的触发器(例如,可检测事件)的数据。作为示例,在各种具体实施中,cgr文件包括关于表示游戏板的cgr场景的数据并且还包括指示当在场景相机的视场中检测到水平平坦表面时要呈现表示游戏板的cgr场景的数据。
[0200]
cgr文件还包括关于与相应cgr场景相关联的一个或多个cgr对象的数据。cgr文件还包括关于与cgr对象的动作有关的触发器的数据。作为示例,在各种具体实施中,cgr文件包括关于与表示游戏板的cgr场景相关联的多个cgr对象的数据,多个cgr对象中的每个cgr对象表示游戏块。cgr文件还包括指示多个cgr对象响应于检测到的触发器的动作的数据,例如,当检测到两个游戏块的碰撞时,停止显示游戏块。
[0201]
创建此类cgr文件可能是困难且耗时的过程,需要例如3d对象设计和应用程序编码方面的专门知识。这对高质量cgr应用程序的生成造成了高障碍。因此,在各种具体实施中,提供了图形用户界面(gui)以简化cgr文件的生成,该cgr文件可由用户设备读取(或执行)以呈现包括cgr文件所描述的cgr内容的cgr应用程序。具体地,将一个或多个cgr对象置于cgr场景中的期望位置和/或取向可能是麻烦和/或令人困惑的过程。因此,在各种具体实施中,提供了gui,该gui包括用于在空间上操纵cgr场景内的cgr对象的空间操纵用户界面元素。
[0202]
用户界面和相关联的过程
[0203]
现在将注意力转到用户界面(“ui”)和可在电子设备上实现的相关过程的具体实施,该电子设备为诸如具有显示器、触敏表面和用于检测与触敏表面的接触强度的任选地一个或多个传感器的便携式多功能设备(pmd)100,或者为具有一个或多个处理器、非暂态存储器、显示器和输入设备的设备300。
[0204]
图8a至图8y示出了根据一些具体实施的用于在空间上操纵cgr场景中的cgr对象的示例性用户界面。这些附图中的用户界面用于示出下文描述的过程,包括图9中的过程。尽管将参考触摸屏显示器(其中组合了触敏表面和显示器)上的输入给出随后的示例中的一些示例,但在一些具体实施中,设备检测与显示器450分开的触敏表面451上的输入,如图4b中所示。
[0205]
图8a示出了由便携式多功能设备100(下文称为“设备100”)显示的cgr场景操纵用户界面801。在各种具体实施中,cgr场景操纵用户界面801由cgr文件构成应用程序显示,该cgr文件构成应用程序由设备100执行。
[0206]
cgr场景操纵用户界面801包括cgr场景(例如,三维空间)。cgr场景操纵用户界面801包括其上覆盖有网格803的地平面指示符802。cgr场景操纵用户界面801包括cgr马克杯810(例如,三维空间中的三维对象)。在图8a中,cgr场景操纵用户界面801从第一虚拟相机视角显示cgr场景(和cgr马克杯810)。
[0207]
在各种具体实施中,cgr场景与全局三维坐标系相关联,该全局三维坐标系包括x方向(图8a中从左到右)、y方向(图8a中从前到后)和z方向(图8a中从上到下)。在图8a中,cgr马克杯810显示在cgr场景内与全局三维坐标系的x坐标、y坐标和z坐标相关联的第一位置处。
[0208]
图8a示出了指向cgr马克杯810的用户输入899a。在各种具体实施中,用户输入899a对应于在cgr马克杯810的位置处检测到的接触(例如,轻击)。
[0209]
图8b示出了响应于检测到指向cgr马克杯810的用户输入899a的cgr场景操纵用户界面801。在图8b中,cgr空间操纵用户界面801包括围绕cgr马克杯810的空间操纵用户界面元素820。空间操纵用户界面元素820指示cgr马克杯810是所选择的cgr对象。在图8b中,空间操纵用户界面元素820包括分别与第一组空间操纵相关联的第一组空间操纵示能表示。
[0210]
具体地,在图8b中,空间操纵用户界面元素820包括y轴环821y、x轴箭头822x、y轴箭头822y和z轴箭头822z。y轴环821y是用于缩放(例如,重设尺寸)所选择的cgr对象、使所选择的cgr对象围绕y轴旋转以及使所选择的cgr对象在xz平面内进行二维平移的空间操纵示能表示。在各种具体实施中,y轴环821y包括边缘(如图8b所示显示为粗线)和内部(在边缘内)。在各种具体实施中,边缘是用于缩放所选择的cgr对象和旋转所选择的cgr对象的空间操纵示能表示,并且内部是用于使所选择的cgr对象进行二维平移的空间操纵示能表示。在各种具体实施中,在显示y轴环821y时,用于使与y轴环821y相关联的所选择的cgr对象进行二维平移的空间操纵示能表示延伸超过边缘以涵盖所选择的cgr对象。
[0211]
x轴箭头822x是用于使所选择的cgr对象沿x轴进行一维平移的空间操纵示能表示。x轴箭头822x与全局三维坐标系的x轴基本上对准(至少包括一个点,使得所选择的cgr对象的中心和该点限定平行于x轴的线段),指向x坐标的正值或负值。y轴箭头822y是用于使所选择的cgr对象沿y轴进行一维平移的空间操纵示能表示。y轴箭头822y与全局三维坐标系的y轴基本上对准(至少包括一个点,使得所选择的cgr对象的中心和该点限定平行于y轴的线段),指向y坐标的正值或负值。z轴箭头822z是用于使所选择的cgr对象沿z轴进行一维平移的空间操纵示能表示。z轴箭头822z与全局三维坐标系的z轴基本上对准(至少包括一个点,使得所选择的cgr对象的中心和该点限定平行于z轴的线段),指向z坐标的正值或负值。
[0212]
在图8b中,空间操纵用户界面元素820不包括z轴环821z(下文描述)、用于使所选择的cgr对象围绕z轴旋转的空间操纵示能表示等等。空间操纵用户界面元素820包括基于第一虚拟相机视角的y轴环821y(而不是z轴环821z)。
[0213]
设备100确定当前虚拟相机视角是否最垂直于全局三维坐标系的xz平面、xy平面或yz平面。如果当前虚拟相机视角最垂直于xz平面(如图8a的第一虚拟相机视角),则空间操纵用户界面元素820包括y轴环821y。如果当前虚拟相机视角最垂直于xy平面(如下述图8m的第二虚拟相机视角),则空间操纵用户界面元素820包括z轴环821z。如果当前虚拟相机视角最垂直于yz平面,则空间操纵用户界面元素820包括x轴环、用于使所选择的cgr对象围绕x轴旋转的空间操纵示能表示等等。
[0214]
图8b示出了指向y轴环821y的内部的用户输入899b。在各种具体实施中,用户输入899b对应于以在y轴环821y内的某一位置处的起始位置、到起始位置左侧和上方两者的中间位置的弧形路径以及在起始位置进一步左边的结束位置检测到的移动接触(例如,拖动
或触摸并拖动)。
[0215]
图8c示出了响应于检测到指向y轴环821y的内部的用户输入899b的第一部分的cgr场景操纵用户界面801。响应于用户输入899b的第一部分、接触在屏幕上的向左和向上移动,cgr马克杯810(和周围空间操纵用户界面元素820)向左和向上移动,这对应于cgr马克杯810的全局三维坐标系在xz平面内的位置变化(例如,在x维度上进一步向左并且在z维度上进一步向上,如cgr马克杯810下方显示的阴影811所示)。
[0216]
图8d示出了相对于检测到指向y轴环821y的内部的用户输入899b的第二部分的cgr场景操纵用户界面801。响应于用户输入899b的第二部分、接触在屏幕上的进一步向左和向下往回移动,cgr马克杯810(和周围空间操纵用户界面元素820)向左和向下移动,这对应于cgr马克杯810的全局三维坐标系在xz平面内的进一步位置变化(例如,在x维度上进一步向左并且在z维度上往回向下)。
[0217]
图8e示出了图8d的cgr场景操纵用户界面,其中用户输入899c指向x轴箭头822x。在各种具体实施中,用户输入899c对应于以在x轴箭头822x的位置处的起始位置、到起始位置右侧和上方两者的中间位置的直线路径以及在中间位置进一步右侧和上方的结束位置检测到的移动接触(例如,拖动或触摸并拖动)。
[0218]
图8f示出了响应于检测到指向x轴箭头822x的用户输入899c的第一部分的cgr场景操纵用户界面801。响应于用户输入899c的第一部分、接触在屏幕上的向右和向上移动,cgr马克杯810(和周围空间操纵用户界面元素820)仅向右移动(例如,不向上),这对应于cgr马克杯810的全局三维坐标系中沿x轴的位置变化(例如,在x维度上进一步向右)。
[0219]
图8g示出了响应于检测到指向x轴箭头822x的用户输入899c的第二部分的cgr场景操纵用户界面801。响应于用户输入899c的第二部分、接触在屏幕上的进一步向右和向上移动,cgr马克杯810(和周围空间操纵用户界面元素820)仅向右移动(例如,不向上),这对应于cgr马克杯810的全局三维坐标系中沿x轴的进一步位置变化(例如,在x维度上进一步向右)。
[0220]
因此,与指向y轴环821y的内部的用户输入899b的向上分量和向下分量不同,指向x轴箭头822x的用户输入899c的向上分量不改变cgr场景操纵用户界面801内的cgr马克杯810的竖直位置或全局三维坐标系内的cgr马克杯810的z坐标。因此,cgr马克杯810不是响应于用户输入899b而在xz平面内进行二维平移,而是响应于用户输入899c而沿x轴进行一维平移。
[0221]
图8h示出了图8g的cgr场景操纵用户界面801,其中用户输入899d指向y轴环821y的边缘。在各种具体实施中,用户输入899d对应于以在y轴环821y的边缘的距y轴环821y的中心第一距离的位置处的起始位置和距y轴环821y的中心第二距离的结束位置检测到的移动接触(例如,拖动或触摸并拖动)。
[0222]
图8i示出了响应于检测到指向y轴环821y的边缘的用户输入899d的cgr场景操纵用户界面801。在图8i中,cgr马克杯810(和周围的空间操纵用户界面元素820)被缩放(例如,增大尺寸)。在各种具体实施中,远离y轴环821y的中心移动的用户输入(例如,用户输入899d)增大cgr马克杯810的尺寸,其中朝向y轴环821y的中心移动的用户输入减小cgr马克杯810的尺寸。
[0223]
图8j示出了图8i的cgr场景操纵用户界面801,其中用户输入899e指向y轴环821y
的边缘。在各种具体实施中,用户输入899e对应于以在y轴环821y的边缘的位置处的起始位置检测到并沿y轴环821y移动(例如,从垂直于起始位置与y轴环821y的中心之间的线开始)的移动接触(例如,拖动或触摸并拖动)。
[0224]
图8k1示出了响应于检测到指向y轴环821y的边缘的用户输入899e的cgr场景操纵用户界面801。在图8k1中,cgr马克杯810(而不是空间操纵用户界面元素820)围绕y轴旋转。由于cgr马克杯810的旋转不改变全局三维坐标系,因此空间操纵用户界面元素820未改变。然而,在各种具体实施中,空间操纵用户界面820不与全局三维坐标系对准,而是与所选择的cgr对象的局部三维坐标系对准。
[0225]
图8k2示出了响应于检测到具有另选的空间操纵用户界面元素829的用户输入899e的cgr场景操纵用户界面801,该另选的空间操纵用户界面元素与cgr马克杯810的局部三维坐标系对准。局部三维坐标系包括与cgr马克杯810的中心及其手柄对准的x轴、与cgr马克杯810的中心及其顶部和底部对准的z轴以及垂直于x轴和z轴两者的y轴。因此,在图8k2中,响应于检测到用户输入899e,cgr马克杯810(和空间操纵用户界面元素820)围绕y轴旋转。
[0226]
图8k2中的x轴箭头822x(如图8j所示)与局部三维坐标系的x轴基本上对准(至少包括一个点,使得cgr马克杯810的中心和该点限定与x轴平行的线段)。y轴箭头822y和z轴箭头822z类似地对准。
[0227]
图8l示出了图8j的cgr场景操纵用户界面801,其中用户输入899f指向远离空间操纵用户界面元素820的位置。在各种具体实施中,用户输入899f对应于以在远离空间操纵用户界面元素820的位置处的起始位置和在起始位置下方的结束位置检测到的移动接触(例如,拖动或触摸并拖动)。
[0228]
图8m示出了响应于检测到指向远离空间操纵用户界面元素820的位置的用户输入899f的cgr场景操纵用户界面801。在图8m中,cgr场景操纵用户界面801包括从第二虚拟相机视角(不同于图8a至图8l的第一虚拟相机视角)显示的cgr场景。
[0229]
如上所述,设备100确定当前虚拟相机视角是否最垂直于全局三维坐标系的xz平面、xy平面或yz平面。如果当前虚拟相机视角最垂直于xz平面(如上述图8a的第一虚拟相机视角),则空间操纵用户界面元素820包括y轴环821y。如果当前虚拟相机视角最垂直于xy平面(如图8m的第二虚拟相机视角),则空间操纵用户界面元素820包括z轴环821z。如果当前虚拟相机视角最垂直于yz平面,则空间操纵用户界面元素820包括x轴环、用于使所选择的cgr对象围绕x轴旋转的空间操纵示能表示等等。
[0230]
响应于虚拟相机视角的变化,空间操纵用户界面元素820也被改变。空间操纵用户界面元素820不再包括y轴环821y,但是空间操纵用户界面元素820确实包括z轴环821z。z轴环821z是用于缩放(例如,重设尺寸)所选择的cgr对象、使所选择的cgr对象围绕y轴旋转以及使所选择的cgr对象在xy平面内进行二维平移的空间操纵示能表示。在各种具体实施中,z轴环821z包括边缘(如图8m所示显示为粗线)和内部(在边缘内)。在各种具体实施中,边缘是用于缩放所选择的cgr对象和旋转所选择的cgr对象的空间操纵示能表示,并且内部是用于使所选择的cgr对象进行二维平移的空间操纵示能表示。在各种具体实施中,在显示z轴环821z时,用于使与z轴环821z相关联的所选择的cgr对象进行二维平移的空间操纵示能表示延伸超过边缘以涵盖所选择的cgr对象。
[0231]
因此,在图8m中,空间操纵用户界面元素820包括分别与第二组空间操纵相关联的第二组空间操纵示能表示。第一组空间操纵包括排除在第二组空间操纵之外的至少一个空间操纵(例如,围绕y轴的旋转或使用y轴环821y在xz平面中的二维平移)并且第二组空间操纵包括排除在第一组空间操纵之外的至少一个空间操纵(例如,围绕z轴的旋转或使用z轴环821z在xy平面中的二维平移)。
[0232]
图8n示出了图8m的cgr空间操纵用户界面801,其中用户输入899g指向z轴环821z的内部。在各种具体实施中,用户输入899g对应于以在z轴环821z内的某一位置处的起始位置和在起始位置左侧和上方的结束位置检测到的移动接触(例如,拖动或触摸并拖动)。
[0233]
图8o示出了响应于检测到指向z轴环821z的内部的用户输入899g的cgr场景操纵用户界面801。响应于用户输入899b,cgr马克杯810(和周围的空间操纵用户界面元素820)向左和向上移动,对应于cgr马克杯810在xy平面内的全局三维坐标系中的位置变化(例如,在x维度上向左和在y维度上向后)。cgr马克杯810的z维度未改变。
[0234]
图8p示出了图8o的cgr场景操纵用户界面801,其中用户输入899h指向z轴环821z的边缘。在各种具体实施中,用户输入899h对应于以在z轴环821z的边缘的位置处的起始位置检测到并沿z轴环821z移动(例如,从垂直于起始位置与z轴环821z的中心之间的线开始)的移动接触(例如,拖动或触摸并拖动)。
[0235]
图8q1示出了响应于检测到指向z轴环821z的边缘的用户输入899h的cgr场景操纵用户界面801。在图8q1中,cgr马克杯810(而不是空间操纵用户界面元素820)围绕z轴旋转。由于cgr马克杯810的旋转不改变全局三维坐标系,因此空间操纵用户界面元素820未改变。然而,在各种具体实施中,空间操纵用户界面820不与全局三维坐标系对准,而是与所选择的cgr对象的局部三维坐标系对准。
[0236]
图8q2示出了响应于检测到具有另选的空间操纵用户界面元素829的用户输入899h的cgr场景操纵用户界面801,该另选的空间操纵用户界面元素与cgr马克杯810的局部三维坐标系对准。因此,在图8q2中,响应于检测到用户输入899h,cgr马克杯810(和空间操纵用户界面元素820)围绕z轴旋转。
[0237]
图8r示出了图8q1的cgr场景操纵用户界面801,其中用户输入899i指向z轴箭头822z。在各种具体实施中,用户输入899i对应于在z轴箭头822z的位置处检测到的接触(例如,轻击)。
[0238]
图8s示出了响应于检测到指向z轴箭头822z的用户输入899i的cgr场景操纵用户界面801。在图8s中,z轴箭头822z以与图8r不同的方式显示(例如,突出显示、不同的颜色、不同的尺寸、不同的亮度等),指示空间操纵用户界面元素820被锁定到z轴。因此,虚拟相机视角的改变不会改变空间操纵用户界面元素820的一组空间操纵示能表示。
[0239]
图8s示出了指向远离空间操纵用户界面元素820的位置的用户输入899j。在各种具体实施中,用户输入899j对应于以在远离空间操纵用户界面元素820的位置处的起始位置和在起始位置上方的结束位置检测到的移动接触(例如,拖动或触摸并拖动)。
[0240]
图8t示出了响应于检测到指向远离空间操纵用户界面元素820的位置的用户输入899j的cgr场景操纵用户界面801。在图8t中,cgr场景操纵用户界面801包括从第一虚拟相机视角(图8a至图8l的第一虚拟相机视角,不同于图8m至图8s的第二虚拟相机视角)显示的cgr场景。
[0241]
如上所述,在各种具体实施中,设备100确定当前虚拟相机视角是否最垂直于全局三维坐标系的xz平面、xy平面或yz平面,并且显示对应的环。然而,当空间操纵用户界面元素被锁定到轴线时,无论虚拟相机的视角如何,都显示对应的环。
[0242]
因此,在图8t中,即使第一虚拟相机视角最垂直于xz平面(并且如果空间操纵用户界面元素820未被锁定,则将显示y轴环821y),空间操纵用户界面元素820也包括z轴环821z。
[0243]
图8u示出了cgr场景操纵用户界面801,其中用户输入899k指向z轴环821z的边缘。在各种具体实施中,用户输入899k对应于以在z轴环821z的边缘的位置处的起始位置检测到并沿z轴环821z移动(例如,从垂直于起始位置与z轴环821z的中心之间的线开始)的移动接触(例如,拖动或触摸并拖动)。
[0244]
图8v示出了响应于检测到指向z轴环821z的边缘的用户输入899k的cgr场景操纵用户界面801。在图8v中,cgr马克杯810(而不是空间操纵用户界面元素820)围绕z轴旋转。
[0245]
图8w示出了图8v的cgr场景操纵用户界面801,其中用户输入899l指向x轴箭头822x。在各种具体实施中,用户输入899l对应于在x轴箭头822x的位置处检测到的接触(例如,轻击)。
[0246]
图8x示出了响应于检测到指向x轴箭头822x的用户输入899l的cgr场景操纵用户界面801。在图8x中,z轴箭头822z以其原始方式显示,并且x轴箭头822x以指示空间操纵用户界面元素820被锁定到x轴的不同方式显示。因此,虚拟相机视角的改变不会改变空间操纵用户界面元素820的一组空间操纵示能表示。然而,改变空间操纵用户界面元素820被锁定到的轴线改变了该组空间操纵示能表示。具体地,在图8x中,空间操纵用户界面元素820包括x轴环821x而不是z轴环821z。
[0247]
x轴环821x是用于缩放(例如,重设尺寸)所选择的cgr对象、使所选择的cgr对象围绕x轴旋转以及使所选择的cgr对象在yz平面内进行二维平移的空间操纵示能表示。在各种具体实施中,x轴环821x包括边缘(如图8x所示显示为粗线)和内部(在边缘内)。在各种具体实施中,边缘是用于缩放所选择的cgr对象和旋转所选择的cgr对象的空间操纵示能表示,并且内部是用于使所选择的cgr对象进行二维平移的空间操纵示能表示。在各种具体实施中,在显示x轴环821x时,用于使与x轴环821x相关联的所选择的cgr对象进行二维平移的空间操纵示能表示延伸超过边缘以涵盖所选择的cgr对象。当x轴环821x的内部较小时,如图8x所示,这可能特别有用。因此,用户可通过由cgr马克杯810的手柄(手柄在x轴环821x的内部之外)拖放cgr马克杯810来执行cgr马克杯在yz平面中的二维平移。
[0248]
图8x示出了指向x轴环821x的边缘的用户输入899m。在各种具体实施中,用户输入899m对应于以在x轴环821x的边缘的位置处的起始位置检测到并沿x轴环821x移动(例如,从垂直于起始位置与x轴环821x的中心之间的线开始)的移动接触(例如,拖动或触摸并拖动)。
[0249]
图8y示出了响应于检测到指向x轴环821x的边缘的用户输入899m的cgr场景操纵用户界面801。在图8y中,cgr马克杯810(而不是空间操纵用户界面元素820)围绕x轴旋转。
[0250]
图9是根据一些具体实施的在三维空间中在空间上操纵三维对象的方法900的流程图表示。在各种具体实施中,方法900由具有一个或多个处理器、非暂态存储器、显示器和一个或多个输入设备(例如,图1a的便携式多功能设备100或图5的电子设备520)的设备执
行。在一些具体实施中,方法900由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法900由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
[0251]
方法900在框910处开始,其中设备从第一虚拟相机视角在三维空间中显示三维对象,其中该三维空间由包括三个垂直轴线的三维坐标系限定。例如,在图8j中,设备100从第一虚拟相机视角在cgr场景中显示cgr马克杯810。
[0252]
在各种具体实施中,该三维坐标系是不响应于三维对象的空间操纵而改变的全局三维坐标系。例如,在图8k1中,设备100显示空间操纵用户界面元素820,该空间操纵用户界面元素包括与cgr场景的全局三维坐标系的三个垂直轴线对准的x轴箭头822x、y轴箭头822y和z轴箭头822z。在各种具体实施中,该三维坐标系是在三维对象在不响应于三维对象的空间操纵而改变的全局三维坐标系中移动时与三维对象固定地对准的局部三维坐标系。例如,在图8k2中,设备100显示空间用户界面元素820,该空间用户界面元素包括在cgr马克杯810已在cgr场景的全局三维坐标系内移动(例如,旋转)后与cgr马克杯810的局部三维坐标系的三个垂直轴线对准的x轴箭头822x、y轴箭头822y和z轴箭头822z。
[0253]
方法900在框920中继续,其中设备显示包括分别与三维对象的第一组空间操纵相关联的第一组空间操纵示能表示的空间操纵用户界面元素,其中第一组空间操纵基于第一虚拟相机视角。例如,在图8j中,设备100显示空间操纵用户界面元素820,该空间操纵用户界面元素包括用于沿x轴进行一维平移的x轴箭头822x、用于沿y轴进行一维平移的y轴箭头822y、用于沿z轴进行一维平移的z轴箭头822z以及(基于y轴为最接近平行于第一虚拟相机视角的轴线,或换句话讲,基于xz平面为最接近垂直于第一虚拟相机视角的平面)用于围绕y轴旋转的y轴环821y等等。
[0254]
方法900在框930中继续,其中设备检测将第一虚拟相机视角改变为第二虚拟相机视角的用户输入。例如,在图8l中,设备100检测改变虚拟相机视角的用户输入899f。
[0255]
方法900在框940中继续,其中设备响应于检测到将第一虚拟相机视角改变为第二虚拟相机视角的用户输入,从第二虚拟相机视角在三维空间中显示三维对象。例如,在图8m中,响应于检测到用户输入899f,设备100从第二虚拟相机视角显示crg马克杯810。
[0256]
方法900在框950中继续,其中设备还响应于检测到将第一虚拟相机视角改变为第二虚拟相机视角的用户输入,显示包括分别与三维对象的第二组空间操纵相关联的第二组空间操纵示能表示的空间操纵用户界面元素,其中第二组空间操纵基于第二虚拟相机视角,其中第一组空间操纵包括排除在第二组空间操纵之外的至少一个空间操纵并且第二组空间操纵包括排除在第一组空间操纵之外的至少一个空间操纵。
[0257]
例如,在图8m中,响应于检测到用户输入899f,设备100显示空间操纵用户界面元素820,该空间操纵用户界面元素包括用于沿x轴进行一维平移的x轴箭头822x、用于沿y轴进行一维平移的y轴箭头822y、用于沿z轴进行一维平移的z轴箭头822z以及(基于z轴为最接近平行于第二虚拟相机视角的轴线,或换句话讲,基于xy平面为最接近垂直于第二虚拟相机视角的平面)用于围绕z轴旋转的z轴环821z等等。虽然图8j的空间操纵用户界面元素820包括用于围绕y轴旋转的示能表示(例如,y轴环821y),但图8j的空间操纵用户界面元素820不包括用于围绕z轴旋转的示能表示。相反,虽然图8m的空间操纵用户界面元素820包括用于围绕z轴旋转的示能表示(例如,z轴环821z),但图8m的空间操纵用户界面元素820不包
括用于围绕y轴旋转的示能表示。
[0258]
在各种具体实施中,排除在第二组空间操纵之外的至少一个空间操纵包括在垂直于三个垂直轴线中最接近平行于第一虚拟相机视角的第一轴线的第一平面中的二维平移并且排除在第一组空间操纵之外的至少一个空间操纵包括在垂直于三个垂直轴线中最接近平行于第二虚拟相机视角的第二轴线的第二平面中的二维平移。例如,虽然图8j的空间操纵用户界面元素820包括用于在xz平面中进行二维平移的示能表示(例如,y轴环821y),但图8j的空间操纵用户界面元素820不包括用于在xy平面中进行二维平移的示能表示。相反,虽然图8m的空间操纵用户界面元素820包括用于在xy平面中进行二维平移的示能表示(例如,z轴环821z),但图8m的空间操纵用户界面元素820不包括用于在xz平面中进行二维平移的示能表示。
[0259]
在各种具体实施中,排除在第二组空间操纵之外的至少一个空间操纵包括围绕三个垂直轴线中最接近平行于第一虚拟相机视角的第一轴线的旋转并且排除在第一组空间操纵之外的至少一个空间操纵包括围绕三个垂直轴线中最接近平行于第二虚拟相机视角的第二轴线的旋转。例如,虽然图8j的空间操纵用户界面元素820包括用于围绕y轴旋转的示能表示(例如,y轴环821y),但图8j的空间操纵用户界面元素820不包括用于围绕z轴旋转的示能表示。相反,虽然图8m的空间操纵用户界面元素820包括用于围绕z轴旋转的示能表示(例如,z轴环821z),但图8m的空间操纵用户界面元素820不包括用于围绕y轴旋转的示能表示。
[0260]
在各种具体实施中,第一组空间操纵和第二组空间操纵包括沿三个垂直轴线中的每个垂直轴线的一维平移。例如,图8j和图8m两者的空间操纵用户界面元素820包括用于沿x轴进行一维平移的x轴箭头822x、用于沿y轴进行一维平移的y轴箭头822y、用于沿z轴进行一维平移的z轴箭头822z。
[0261]
在各种具体实施中,第一组空间操纵和第二组空间操纵包括缩放。例如,图8j的空间操纵用户界面元素820包括用于缩放的示能表示(例如,y轴环821y),并且图8m的空间操纵用户界面元素820也包括用于缩放的示能表示(例如,z轴环821z)。
[0262]
在各种具体实施中,空间操纵用户界面元素与三维对象相关联地显示。在各种具体实施中,空间操纵用户界面元素被显示为覆盖在三维对象上。在各种具体实施中,空间操纵用户界面元素围绕三维对象显示。例如,在图8j中,空间操纵用户界面元素820被显示为覆盖在cgr马克杯810上和cgr马克杯周围。
[0263]
在各种具体实施中,方法900包括当从第二虚拟相机视角在三维空间中显示三维对象时,检测将空间操纵用户界面元素锁定到第二组空间操纵的用户输入。例如,在图8r中,设备100检测将空间操纵用户界面元素820锁定到z轴的用户输入899i。
[0264]
在各种具体实施中,方法900包括检测将第二虚拟相机视角改变为第三虚拟相机视角的用户输入。例如,在图8s中,设备100检测将虚拟相机视角改变回第一虚拟相机视角的用户输入899j。
[0265]
在各种具体实施中,方法900包括响应于检测到将第二虚拟相机视角改变为第三虚拟相机视角的用户输入并且根据确定空间操纵用户界面元素被锁定到第二组空间操纵,从第三虚拟相机视角在三维空间中显示三维对象。例如,在图8t中,设备100从第一虚拟相机视角显示cgr马克杯810。
[0266]
在各种具体实施中,方法900还包括响应于检测到将第二虚拟相机视角改变为第三虚拟相机视角的用户输入并且根据确定空间操纵用户界面元素被锁定到第二组空间操纵,显示包括第二组空间操纵示能表示的空间操纵用户界面元素。例如,在图8t中,即使y轴最接近垂直于当前虚拟相机视角(例如,第一虚拟相机视角),设备100也显示包括z轴环821z而不是y轴环821y的空间操纵用户界面元素820。
[0267]
在各种具体实施中,方法900包括当从第二虚拟相机视角在三维空间中显示三维对象时,检测将空间操纵用户界面元素锁定到三维对象的第三组空间操纵的用户输入。例如,在图8w中,设备100检测将空间操纵用户界面元素820锁定到x轴的用户输入899l。
[0268]
在各种具体实施中,方法900包括响应于检测到将空间操纵用户界面元素锁定到三维对象的第三组空间操纵的用户输入,从第二虚拟相机视角在三维空间中显示三维对象。例如,在图8x中,响应于检测到用户输入899l,设备100从与图8w中相同的虚拟相机视角显示cgr马克杯810。
[0269]
在各种具体实施中,方法900还包括响应于检测到将空间操纵用户界面元素锁定到三维对象的第三组空间操纵的用户输入,显示包括分别与三维对象的第三组空间操纵相关联的第三组空间操纵示能表示的空间操纵用户界面元素,其中第三组空间操纵包括排除在第二组空间操纵之外的至少一个空间操纵并且第二组空间操纵包括排除在第三组空间操纵之外的至少一个空间操纵。
[0270]
例如,在图8x中,设备100显示空间操纵用户界面元素820,该空间操纵用户界面元素包括用于沿x轴进行一维平移的x轴箭头822x、用于沿y轴进行一维平移的y轴箭头822y、用于沿z轴进行一维平移的z轴箭头822z以及(基于空间操纵用户界面元素820被锁定到x轴)用于围绕x轴旋转的x轴环821x等等。虽然图8m的空间操纵用户界面元素820包括用于围绕z轴旋转的示能表示(例如,z轴环821z),但图8m的空间操纵用户界面元素820不包括用于围绕x轴旋转的示能表示。相反,虽然图8x的空间操纵用户界面元素820包括用于围绕x轴旋转的示能表示(例如,x轴环821x),但图8x的空间操纵用户界面元素820不包括用于围绕z轴旋转的示能表示。
[0271]
上述信息处理方法中的操作任选地通过运行信息处理装置中的一个或多个功能模块来实现,该信息处理装置诸如为通用处理器(例如,如相对于图1a、图3和图5a所描述的)或特定于应用的芯片。此外,以上参考图9所描述的操作任选地由图1a至图1b中所描绘的部件来实现。例如,用户输入和用户界面元素任选地由事件分类器170、事件识别器180和事件处理程序190来实现。事件分类器170中的事件监视器171检测在触敏表面604上的接触,并且事件分配器模块174将事件信息递送到应用程序136

1。应用程序136

1的相应事件识别器180将事件信息与相应事件定义186进行比较,并且确定触敏表面上第一位置处的第一接触是否与预定义的事件或子事件对应,预定义的事件或子事件诸如为对用户界面上的对象的选择。当检测到相应的预定义事件或子事件时,事件识别器180激活与该事件或子事件的检测相关联的事件处理程序190。事件处理程序190任选地利用或调用数据更新器176或对象更新器177来更新应用程序内部状态192。在一些具体实施中,事件处理程序190访问相应gui更新器178来更新应用程序所显示的内容。类似地,本领域的技术人员会清楚地知道基于在图1a

图1b中所描绘的部件可如何实现其他过程。
[0272]
出于解释的目的,前面的描述是通过参考特定具体实施来描述的。然而,上面的例
示性论述并非旨在是穷尽的或将本发明限制为所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择和描述具体实施是为了最佳地阐明本发明的原理及其实际应用,以便由此使得本领域的其他技术人员能够最佳地使用具有适合于所构想的特定用途的各种修改的本发明以及各种所描述的具体实施。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献