在便携式计算设备上控制三维虚拟物体的系统和方法

文档序号:6351140阅读:156来源:国知局
专利名称:在便携式计算设备上控制三维虚拟物体的系统和方法
在便携式计算设备上控制三维虚拟物体的系统和方法
背景技术
便携式计算设备(P⑶)已经普遍存在。这些设备可以包括手机、便携式数字助理(PDA)、便携式游戏控制台、掌上型计算机以及其它便携式电子设备。许多便携式计算设备包括触摸屏接口,在触摸屏接口中用户可以与设备进行交互并输入命令。进一步,触摸屏接口可以用于显示例如应用程序图标(icon)、缩略图(thumbnail)、块(tile)或其组合的多个项目。所显示的某些项目可以是三维(3D)虚拟物体。根据应用,将3D虚拟物体在显示范围以内进行移动是有益的。相应地,人们需要在便携式计算设备处控制3D虚拟物体的改进的系统和方法。


在图中,除非另有说明,在各个视图中相同的参考标号表示相同的组件。图I是关闭位置中的便携式计算设备(P⑶)的第一方面的正视图;图2是打开位置中的P⑶的第一方面的正视图;图3是P⑶的第一方面的框图;图4是P⑶的第二方面的剖面图;图5是P⑶的第二方面的另一剖面图;图6是TCD的第三方面的剖面图;图7是P⑶的第四方面的剖面图;图8是示出在PCD处控制3D虚拟物体的方法的第一方面的流程图;图9是示出在PCD处控制3D虚拟物体的方法的第二方面的第一部分的流程图;图10是示出在PCD处控制3D虚拟物体的方法的第二方面的第二部分的流程图;图11是示出在PCD处控制3D虚拟物体的方法的第二方面的第三部分的流程图;图12是示出在PCD处控制3D虚拟物体的方法的第二方面的第四部分的流程图;图13是示出在PCD处控制3D虚拟物体的方法的第二方面的第五部分的流程图;图14是示出在PCD处控制3D虚拟物体的方法的第二方面的第六部分的流程图;图15是示出在PCD处控制3D虚拟物体的方法的第二方面的第七部分的流程图;图16是示出在PCD处控制3D虚拟物体的方法的第二方面的第八部分的流程图;图17是在P⑶显示屏上向前移动的3D虚拟物体的视图;图18是在P⑶显示屏上向后移动的3D虚拟物体的视图;图19是在P⑶显示屏上向左移动的3D虚拟物体的视图;图20是在P⑶显示屏上向右移动的3D虚拟物体的视图;图21是在P⑶显示屏上向上移动的3D虚拟物体的视图;图22是在P⑶显示屏上向下移动的3D虚拟物体的视图;图23是在P⑶显示屏上转动的3D虚拟物体的视图;图24是在P⑶显示屏上被挤压的3D虚拟物体的视图;以及
图25是在P⑶显示屏上以一定角度移动的3D虚拟物体的视图。
具体实施例方式本申请中使用的“示例性的”一词表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何方面不应被解释为必然比其它方面更优选或更具优势。在本说明中,术语“应用程序”还可以包括具有可执行内容的文件,具有可执行内容的文件例如是目标代码、脚本、字节码、标记语言文件以及补丁(patch)。另外,本申请中的“应用程序”还可以包括性质上不可执行的文件,其中,不可执行的文件例如是需要打开的文档或者需要进行访问的其它数据文件。术语“内容”还可以包括具有可执行内容的文件,具有可执行内容的文件例如是目标代码、脚本、字节码、标记语言文件以及补丁。另外,本申请中的“内容”还可以包括性质上不可执行的文件,其中,不可执行的文件例如是需要打开的文档或者需要进行访问的其它数据文件。 在本申请中所用的“组件”、“数据库”、“模块”、“系统”等意指与计算机相关的实体,其可以是硬件、固件、硬件和软件的组合、软件、执行中的软件。例如,组件可以是、但并不仅限于处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,在计算设备上运行的应用程序和该计算设备都可以是组件。一个或多个组件可以位于执行中的一个进程和/或线程内,并且一个组件可以位于一台计算机上和/或分布于两台或更多台计算机之间。另外,可以通过存储了多种数据结构的多种计算机可以读介质来执行这些组件。这些组件可以通过本地和/或远程进程(例如,根据具有一个或多个数据分组的信号)进行通信(例如,来自一个组件的数据通过信号与本地系统、分布式系统中和/或通过诸如互联网等具有其它系统的网络中的其它组件进行交互)。先参考图I和图2,示出了示例性便携式计算设备(P⑶),并将P⑶一般地标记为100。如所示的,P⑶100可以包括壳体102。壳体102可以包括上壳体部分104和下壳体部分106。图I示出了上壳体部分104可以包括显示装置108。根据具体的方面,显示装置108可以是触摸显示屏。上壳体部分104还可以包括轨迹球输入设备110。进一步,如图I中所示,上壳体部分104可以包括开机按钮112和关机按钮114。如图I中所示,P⑶100的上壳体部分104可以包括多个指示灯116和扬声器118。每个指示灯116可以是发光二极管(LED)。根据具体的方面,如图2中所示,上壳体部分104可以相对于下壳体部分106进行移动。具体地,上壳体部分104可以相对于下壳体部分106滑动。如图2中所示,下壳体部分106可以包括多按钮键盘120。根据具体的方面,多按钮键盘120可以是标准QWERTY键盘。多按钮键盘120可以在上壳体部分104相对于下壳体部分106移动时显露。图2还示出了 P⑶100可以包括下壳体部分106上的重置按钮122。参照图3,示出了便携式计算设备(PCD)的示例性、非限制性的方面,并将PCD —般地标记为320。如所示的,P⑶320包括片上系统322,其中,片上系统322包括耦合在一起的数字信号处理器324和模拟信号处理器326。片上系统322可以包括多于两个处理器。例如,片上系统322可以包括四核处理器和ARM 11处理器,即,如下面结合图3所描述的。如图3中所示,显示屏控制器328和触摸屏控制器330耦合到数字信号处理器324。然后,片上系统322外部的触摸显示屏332耦合到显示屏控制器328和触摸屏控制器330。图3还示出视频编码器334耦合到数字信号处理器324,其中,该视频编码器334例如,逐行倒相(PAL)编码器、顺序传送彩色与存储(SECAM)编码器或者国家电视系统委员会(NTSC)编码器。进一步,视频放大器336耦合到视频编码器334和触摸显示屏332。另夕卜,视频端口 338耦合到视频放大器336。如图3中所示,通用串行总线(USB)控制器340耦合到数字信号处理器324。另外,USB端口 342耦合到USB控制器340。存储器344和用户识别模块(SM)卡346还可以耦合到数字信号处理器324。进一步,如图3中所示,数字摄像机348可以耦合到数字信号处理器324。根据示例性方面,数字摄像机348是电荷耦合器件(CXD)摄像机或者互补金属氧化物半导体( CMOS)摄像机。如图3中进一步示出,立体声音频CODEC 350可以耦合到模拟信号处理器326。进一步,音频放大器352可以耦合到立体声音频CODEC 350。根据示例性方面,第一立体声扬声器354和第二立体声扬声器356耦合到音频放大器352。图3示出了麦克风放大器358还可以耦合到立体声音频CODEC 350。另外,麦克风360可以耦合到麦克风放大器358。根据具体的方面,频率调制(FM)无线电调谐器362可以耦合到立体声音频C0DEC350。另外,FM天线364耦合到FM无线电调谐器362。进一步,立体声耳机366可以耦合到立体声音频CODEC 350。图3还示出了射频(RF)收发机368可以耦合到模拟信号处理器326。RF开关370可以耦合到RF收发机368和RF天线372。如图3中所示,小键盘374可以耦合到模拟信号处理器326。另外,具有麦克风的单声道耳机376可以耦合到模拟信号处理器326。进一步,振动器设备378可以耦合到模拟信号处理器326。图3还示出了电源380可以耦合到片上系统322。根据具体的方面,电源380是直流(DC)电源,其向需要用电的PCD 320的各种组件进行供电。进一步,根据具体的方面,电源是可充电的DC电池或者从连接到交流(AC)电源的AC到DC转换器得到的DC电源。图3示出了 P⑶320可以包括3D触摸控制器382。3D触摸控制器382可以是单独的控制器,或者其可以是存储器344内的软件控制器。进一步,3D触摸控制器382可以独立地或者与处理器324、326 —起来用作执行本申请描述的一个或多个方法步骤的模块。图3还示出了 P⑶320还可以包括触觉反馈系统384。触觉反馈系统384可以用于当用户控制3D虚拟物体的移动时向用户提供触觉反馈。本申请描述的各种传感器可以包括包含在其内的触觉输出设备,触觉输出设备可以用于当用户抓取3D虚拟物体时向用户呈现触摸反馈。触觉输出设备可以包括压电致动器、振动触觉致动器或其组合。例如,触觉输出设备可以在用户拇指和食指上产生触摸感觉,以模拟各种位置中的3D虚拟物体的质地或特性。如图3中所示,触摸显示屏332、视频端口 338、USB端口 342、摄像机348、第一立体声扬声器354、第二立体声扬声器356、麦克风360、FM天线364、立体声耳机366、RF开关370,RF天线372、小键盘374、单声道耳机376、振动器378和电源380位于片上系统322的外部。根据具体的方面,本申请描述的一个或多个方法步骤可以作为计算机程序指令存储在存储器344中。这些指令可以由处理器324、326执行,以执行本申请描述的方法。进一步,处理器324、326、存储器344、3D触摸控制器382、显示屏控制器328、触摸屏控制器330或其组合可以作为用于执行本申请描述的一个或多个方法步骤的模块,以控制在显示屏/触摸屏332处显示的虚拟键盘。图4和图5示出了 P⑶的另一方面,其中P⑶一般地标记为400。图4和图5示出了 P⑶400的剖面。如所示的,P⑶400可以包括壳体402。根据具体的方面,结合图3示出的一个或多个单元可以放置在或者以其它方式安装在内部壳体402内。然而,为清楚起见,在壳体402内仅示出了处理器404和与其连接的存储器406。图4和图5示出了顶部触摸/压力传感器410和底部触摸/压力传感器412可以安装在或者以其它方式放置在壳体402内。进一步,左侧触摸/压力传感器414和右侧触摸/压力传感器416可以安装在或者以其它方式放置在壳体402内。图5还示出了 P⑶400可以包括前侧触摸/压力传感器418和后侧触摸/压力传感器420,前侧触摸/压力传感器418和后侧触摸/压力传感器420可以安装在或者以其它方式放置在壳体402内。在具体的实施例中,前侧触摸/压力传感器418可以是触摸感应显示屏。触摸/压力传感器410、 412、414、416、418和420可以作为3D传感器阵列。进一步,当显示3D虚拟物体时,可以启用3D传感器阵列,并且3D传感器阵列可以根据本申请描述的一个或多个方法提供对3D虚拟物体的主动控制。3D传感器阵列结合3D触摸控制器(或另一控制器/处理器)可以用作检测PCD 400上的按压、触摸、释放、挤压、拖移、快速滑动、冲击等的模块。图6示出了 P⑶的又一方面,其中P⑶一般地标记为600。图6示出了 P⑶600的剖面。如所示的,PCD 600可以包括壳体602。根据具体的方面,结合图3示出的一个或多个单元可以放置在或者以其它方式安装在内部壳体602内。然而,为清楚起见,在壳体602内仅示出了处理器604和与其连接的存储器606。另外,P⑶600可以包括压力感应层608,压力感应层608置于壳体602的外表面。在具体的实施例中,压力感应层608可以包括压电材料,压电材料置于或者以其它方式置于壳体602上。压力感应层608可以作为3D传感器阵列,并可以用于检测P⑶上各个位置的触摸。进一步,当显示3D虚拟物体时,可以启用3D传感器阵列,并且3D传感器阵列可以根据本申请描述的一个或多个方法提供对3D虚拟物体的主动控制。3D传感器阵列结合3D触摸控制器(或另一控制器/处理器)可以用作检测PCD 700上的按压、触摸、释放、挤压、拖移、快速滑动、冲击等的模块。图I示出了 P⑶的另一方面,其中P⑶一般地标记为700。图7示出了 P⑶700的剖面。如所示的,PCD 700可以包括壳体702。根据具体的方面,结合图3示出的一个或多个单元可以放置在或者以其它方式安装在内部壳体702内。然而,为清楚起见,壳体702内仅示出了处理器704和与其连接的存储器706。另外,P⑶700可以包括连接到P⑶700内的处理器704的第一陀螺仪708、第二陀螺仪710和加速度计712。陀螺仪708、710和加速度计712可以用于检测P⑶700何时受到冲击以及P⑶700从哪个方向受到冲击。当显示3D虚拟物体时,陀螺仪708、710和加速度计712可以根据本申请描述的一个或多个方法提供对3D虚拟物体的主动控制。陀螺仪708、710和加速度计712结合3D触摸控制器(或另一控制器/处理器)可以作为用于检测P⑶700处的冲击、摇晃、其它运动等的模块。进一步,陀螺仪708、710和加速度计712可以检测并确定与冲击相关联的力。
参照图8,示出了对3D虚拟物体提供三维控制的方法的第一方面,并将该方法一般地标记为800。从方框802开始,可以进入执行(do)循环,其中当显示3D虚拟物体时可以执行下述步骤。在方框804,可以例如由控制器、处理器或其组合来启用3D触摸传感器阵列。转到决定806,3D触摸控制器可以确定从3D触摸传感器阵列的后侧是否检测到按压。如果是,则方法800可以继续至方框808,并将3D虚拟物体从感测到按压的传感器处移开,就像用户正在推着3D虚拟物体一样。在决定810,3D触摸控制器可以确定是否检测到释放,即,3D触摸控制器可以确定用户是否仍在触摸3D触摸传感器阵列的传感器。如果未检测到释放,则方法800可以返回方框808,并且3D虚拟物体可以继续在显示屏中移动。否贝U,如果检测到释放,则在方框812,3D虚拟物体可以停止在显示屏中移动。之后,方法800可以继续至决定814。返回决定806,如果未检测到按压,则方法800可以直接进行至决定814。在决定814,3D触摸控制器可以确定在3D触摸传感器阵列上是否检测到冲击。3D触摸控制器可以 通过使用与其连接的加速度计以及陀螺仪来确定是否检测到冲击。进一步,3D触摸控制器可以使用加速度计和陀螺仪来确定与冲击相关联的力以及冲击的方向。返回决定814,如果从3D触摸传感器阵列的后侧检测到冲击,则方法800可以继续至方框816,可以将3D虚拟物体在显不屏中从冲击的位置移开一个对应于该冲击(例如,对应于与该冲击相关联的力)的距离。之后,方法800可以移至决定818。返回决定814,如果从3D触摸传感器阵列的后侧未检测到冲击,则方法800可以直接移至决定818。在决定818,3D触摸控制器可以确定3D物体是否已关闭,S卩,是否不再显示3D物体。如果不,则方法800可以返回决定806,并且方法800可以如本申请描述的继续进行。否则,如果3D物体已经被关闭,则方法800可以结束。下面参照图9,示出了提供对3D虚拟物体进行三维控制的方法的第二方面,并将该方法一般地标记为900。开始于方框902,当显示3D虚拟物体时可以进入执行(do)循环,可以执行下述步骤。在方框904,可以由例如控制器、处理器或其组合来启用3D触摸传感器阵列。转到决定906,3D触摸控制器可以确定从3D触摸传感器阵列的后侧是否检测到按压。如果是,则方法900可以继续至方框908,并将3D虚拟物体在显示屏中向前移动,就像用户正在从后面推着3D虚拟物体一样。在决定910,3D触摸控制器可以确定是否检测到释放,即,3D触摸控制器可以确定用户是否仍在触摸3D触摸传感器阵列的后侧传感器。如果未检测到释放,则方法900可以返回方框908,并且3D虚拟物体可以继续在显示屏中向前移动。否则,如果检测到释放,则3D虚拟物体可以在方框912停止在显示屏中向前移动。之后,方法900可以继续至决定914。返回决定906,如果未从后侧检测到按压,则方法900可以直接进行至决定914。在决定914,3D触摸控制器可以确定是否从3D触摸传感器阵列的前侧检测到按压。如果是,则方法900可以继续至方框916,并且可以将3D虚拟物体在显示屏中向后移动,就像用户正在从前侧推着3D虚拟物体一样。在决定918,3D触摸控制器可以确定是否检测到释放,即,3D触摸控制器可以确定用户是否仍在触摸3D触摸传感器阵列的前侧传感器。如果未检测到释放,则方法900可以返回方框916,并且3D虚拟物体可以继续在显示屏中向后移动。否贝U,如果检测到释放,则3D虚拟物体可以在方框920在显示屏中停止向后移动。之后,方法900可以继续至图10的决定1002。返回决定914,如果未从前侧检测到按压,则方法900可以直接进行至图10的决定1002。在图10的决定1002,3D触摸控制器可以确定是否从3D触摸传感器阵列的左侧检测到按压。如果是,则方法900可以继续至方框1004,并且可以将3D虚拟物体在显示屏中向右移动,就像用户正在从左侧推着3D虚拟物体一样。转到决定1006,3D触摸控制器可以确定是否检测到释放,即,3D触摸控制器可以确定用户是否仍在触 摸3D触摸传感器阵列的左侧传感器。如果未检测到释放,则方法900可以返回方框1004,并且3D虚拟物体可以继续在显示屏中向右移动。否则,如果检测到释放,则3D虚拟物体可以在方框1008停止在显示屏中向右移动。之后,方法900可以继续至图10的决定1010。返回决定1002,如果未从左侧检测到按压,则方法900可以直接进行至决定1010。在图10的决定1010,3D触摸控制器可以确定是否从3D触摸传感器阵列的右侧检测到按压。如果是,则方法900可以继续至方框1012,并且可以将3D虚拟物体在显示屏中向左移动,就像用户正在从右侧推着3D虚拟物体一样。转到决定1014,3D触摸控制器可以确定是否检测到释放,即,3D触摸控制器可以确定用户是否仍在触摸3D触摸传感器阵列的右侧传感器。如果未检测到释放,则方法900可以返回方框1012,并且3D虚拟物体可以继续在显示屏中向左移动。否则,如果检测到释放,则3D虚拟物体可以在方框1016在显示屏中停止向左移动。之后,方法900可以继续至图11的决定1102。返回决定1010,如果未从左侧检测到按压,则方法900可以直接进行至图11的决定1102。转到图11的决定1102,3D触摸控制器可以确定是否从3D触摸传感器阵列的底部检测到按压。如果是,则方法900可以继续至方框1104,并且可以将3D虚拟物体在显示屏中向上移动,就像用户正在从底部推着3D虚拟物体一样。转到决定1106,3D触摸控制器可以确定是否检测到释放,即,3D触摸控制器可以确定用户是否仍在触摸3D触摸传感器阵列的底部传感器。如果未检测到释放,则方法900可以返回方框1104,并且3D虚拟物体可以继续在显示屏中向上移动。否则,如果检测到释放,则3D虚拟物体可以在方框1108停止在显示屏中向上移动。之后,方法900可以继续至决定1110。返回决定1102,如果未从左侧检测到按压,则方法900可以直接进行至决定1110。在图11的决定1110,3D触摸控制器可以确定是否从3D触摸传感器阵列的顶部检测到按压。如果是,则方法900可以继续至方框1112,并且可以将3D虚拟物体在显示屏中向下移动,就像用户正在从顶部推着3D虚拟物体一样。转到决定1114,3D触摸控制器可以确定是否检测到释放,即,3D触摸控制器可以确定用户是否仍在触摸3D触摸传感器阵列的顶部传感器。如果未检测到释放,则方法900可以返回方框1112,并且3D虚拟物体可以继续在显示屏中向下移动。否则,如果检测到释放,则3D虚拟物体可以在方框1116停止在显示屏中向下移动。之后,方法900可以继续至图12的决定1202。返回决定1110,如果未从顶部检测到按压,则方法900可以直接进行至图12的决定1202。继续至图12的决定1202,3D触摸控制器可以确定是否从3D触摸传感器阵列的后侧检测到冲击。3D触摸控制器可以通过使用与其连接的加速度计和陀螺仪来确定是否检测到冲击。进一步,3D触摸控制器可以使用该加速度计和该陀螺仪来确定与冲击相关联的力以及冲击的方向。返回决定1202,如果从3D触摸传感器阵列的后侧检测到冲击,则方法900可以继续至方框1204,并且可以将3D虚拟物体在显示屏中向前移动一个对应于该冲击(例如,对应于与该冲击相关联的力)的距离。之后,方法900可以移至决定1206。返回决定1202,如果未从3D触摸传感器阵列的后侧检测到冲击,则方法900可以直接移至决定1206。转到决定1206,3D触摸控制器可以确定是否从3D触摸传感器阵列的前侧检测到冲击。如果是,则方法900可以移至方框1208,并且可以将3D虚拟物体在显示屏中向后移动一个对应于该冲击(例如,对应于与该冲击相关联的力)的距离。然后,方法900可以移至决定1210。返回决定1206,如果未从3D触摸传感器阵列的前侧检测到冲击,则方法900可以直接移至决定1210。在决定1210,3D触摸控制器可以确定是否从3D触摸传感器阵列的左侧检测到冲击。如果是,则方法900可以移至方框1212,并且可以将3D虚拟物体在显示屏中向右移动 一个对应于该冲击(例如,对应于与该冲击相关联的力)的距离。之后,方法900可以移至图13的决定1302。返回决定1210,如果未从3D触摸传感器阵列的左侧检测到冲击,则方法900可以直接移至图13的决定1302。下面参照图13,在决定1302,3D触摸控制器可以确定是否从3D触摸传感器阵列的右侧检测到冲击。如果从3D触摸传感器阵列的右侧检测到冲击,则方法900可以继续至方框1304,并且可以将3D虚拟物体在显示屏中向左移动一个对应于该冲击(例如,对应于与该冲击相关联的力)的距离。之后,方法900可以移至决定1306。返回决定1302,如果未从3D触摸传感器阵列的右侧检测到冲击,则方法900可以直接移至决定1306。在决定1306,3D触摸控制器可以确定是否从3D触摸传感器阵列的顶部检测到冲击。如果是,则方法900可以移至方框1308,并且可以将3D虚拟物体在显示屏中向下移动一个对应于该冲击(例如,对应于与该冲击相关联的力)的距离。接着,方法900可以移至决定1310。返回决定1306,如果未从3D触摸传感器阵列的顶部检测到冲击,则方法900可以直接移至决定1310。进行至决定1310,3D触摸控制器可以确定是否从3D触摸传感器阵列的底部检测到冲击。如果是,则方法900可以移至方框1312,并且可以将3D虚拟物体在显示屏中向上移动一个对应于该冲击(例如,对应于与该冲击相关联的力)的距离。然后,方法900可以移至图14的决定1402。返回决定1310,如果未从3D触摸传感器阵列的底部检测到冲击,则方法900可以直接移至图14的决定1402。在图14的决定1402,3D触摸控制器可以确定是否检测到相对的传感器触摸。相对的传感器触摸可以包括用户基本上同时触摸顶部和底部传感器,基本上同时触摸左侧和右侧传感器,或者基本上同时触摸前侧和后侧传感器。如果检测到相对的传感器触摸,则方法900可以移至方框1404,并且3D触摸控制器可以允许3D虚拟物体由用户在显示屏内虚拟地进行抓取。如果未检测到相对的传感器触摸,则方法900可以直接进行至图16的决定1616,如下面详细所述。转到决定1406,3D触摸控制器可以确定在一个或两个传感器上是否检测到快速拖移。快速拖移类似于快速滑动运动。如果在决定1406检测到快速拖移,则方法900可以移至方框1408,并且3D虚拟物体基于快速拖移的速度绕着与快速拖移运动的方向相垂直的轴进行旋转。该轴可以是从前向后,从上向下,或者从左向右的。从方框1408,方法900可以移至决定1410。返回决定1406,如果未检测到快速拖移,则方法900可以直接进行至决定1410。在决定1410,3D触摸控制器可以确定在两个传感器上是否检测到相对的运动。如果是,则方法900可以移至方框1412,并且3D虚拟物体可以绕与运动方向相垂直的轴进行转动。该轴可以是从前向后,从上向下,或者从左向右的。接着,在决定1414,3D触摸控制器可以确定所述运动是否停止。如果没有,则方法900可以返回方框1412,并且3D虚拟物体可以继续绕中心轴转动。如果所述运动已经停止,则方法900可以进行至方框1416并且3D虚拟物体的相对应的转动可以停止。然后,方法900可以进行至图15的决定1502。返回决定1410,如果传感器上未检测到相对的运动,则方法900可以直接移至图15的决定1502。下面参照图15,在决定1502,3D触摸控制器可以确定在两个传感器上是否检测到单向运动。如果是,则方法900可以移至方框1504,并且3D虚拟物体可以延与运动方向平行的轴进行拖移。该轴可以是从前向后,从上向下,或者从左向右的。在决定1506,3D触摸控制器可以确定运动是否已经停止。如果没有,则方法900可以返回方框1504,并且3D虚拟物体可以继续延着轴进行拖移。如果运动已经停止,则方法900可以进行至方框1508,并 且3D虚拟物体的相对应的拖移可以停止。之后,方法900可以进行至决定1510。返回决定1502,如果在传感器上未检测到单向运动,则方法900可以直接移至决定1510。在决定1510,3D触摸控制器可以确定是否在其中一个传感器上检测到移动。如果是,则方法900可以移至方框1512,并且3D虚拟物体可以绕着与检测到运动的传感器相对的3D虚拟物体的表面或面转动。接着,在决定1514,3D触摸控制器可以确定运动是否已经停止。如果没有,则方法900可以返回方框1512,并且3D虚拟物体可以如本申请所描述的继续转动。如果运动已经停止,则方法900可以进行至方框1516,并且3D虚拟物体的相对应的转动可以停止。然后,方法900可以进行至图16的决定1602。返回决定1510,如果在其中一个传感器上未检测到运动,则方法900可以直接移至图16的决定1602。继续至图16的决定1602,3D触摸控制器可以确定是否检测到挤压。换句话说,3D触摸控制器可以确定是否在两个相对的传感器上存在延长的接触而没有运动。可替换地,3D触摸控制器可以确定用户是否在按压相对的传感器。如果检测到挤压,则方法900可以移至方框1604,并且可以对3D虚拟物体进行虚拟地挤压,即,3D虚拟物体的形状可以像在两个物体之间虚拟地受到挤压一样而变化。转到决定1606,3D触摸控制器可以确定已检测到的挤压是否已结束,S卩,用户可能已经在两个传感器上放开了其手指。如果挤压动作未结束,则方法900可以返回方框1604,并且3D虚拟物体可以继续被挤压。如果挤压动作已经停止,则方法900可以进行至方框1608,并且3D虚拟物体的虚拟挤压可以结束或以其它方式停止。之后,在决定1610,3D触摸控制器可以确定3D虚拟物体是否是有弹性的。可以由用户、软件程序、软件程序员或其组合来确定3D虚拟物体的弹性。如果3D虚拟物体不是弹性的,则方法900可以移至方框1612,并且可以维持3D虚拟物体的新形状。如果3D虚拟物体是弹性的,则方法900可以移至方框1614,并且3D虚拟物体的形状可以恢复其原始形状。从方框1612和方框1614,方法900可以继续至决定1616。在决定1616,3D触摸控制器可以确定在相邻的传感器上是否检测到触摸,相邻的传感器例如是左侧传感器和顶部传感器、左侧传感器和底部传感器、左侧传感器和后侧传感器、左侧传感器和前侧传感器、右侧传感器和顶部传感器、右侧传感器和底部传感器、右侧传感器和后侧传感器、右侧传感器和前侧传感器或其组合。如果在相邻的传感器上检测到触摸,则方法900可以进行至方框1618,并且3D虚拟物体可以以一定角度从相邻的传感器移开,就像用户在虚拟地捏着物体一样。接着,方法900可以移至决定1620。返回决定1616,如果未在相邻的传感器上检测到触摸,则方法900可以直接移至决定1620,并如本申请描述的继续处理。在决定1620,3D触摸控制器可以确定3D物体是否已关闭,即,是否不再显示3D物体。如果没有关闭,则方法900可以返回图9的决定906。否则,如果3D物体已经关闭,则方法900可以结束。 图17示出了 PCD 1700,其中,PCD 1700上显示了 3D虚拟物体1702。3D虚拟物体1702在第一位置以虚线示出,并且在第二位置以实线示出。如所示的,3D虚拟物体1702可以由于在后侧传感器的按压、对后侧传感器的冲击、对PCD 1700后侧的冲击、在两个传感器上的抓取和拖移或其组合而在显示屏中向前移动。图18示出了 PCD 1800,其中,PCD 1800上显示了 3D虚拟物体1802。3D虚拟物体1802在第一位置以虚线示出,并且在第二位置以实线示出。如所示的,3D虚拟物体1802可以由于在前侧传感器的按压、对前侧传感器的冲击、对PCD 1800前侧的冲击、在两个传感器上的抓取和拖移或其组合而在显示屏中向后移动。参照图19,示出了 PCD 1900,其中,PCD 1900上显示了 3D虚拟物体1902。3D虚拟物体1902在第一位置以虚线示出,并且在第二位置以实线示出。如所示的,3D虚拟物体1902可以由于在左侧传感器的按压、对左侧传感器的冲击、对PCD 1900左侧的冲击、在两个传感器上的抓取和拖移或其组合而在显示屏中从左向右移动。参照图20,示出了 PCD 2000,其中,PCD 2000上显示了 3D虚拟物体2002。3D虚拟物体2002在第一位置以虚线示出,并且在第二位置以实线示出。如所示的,3D虚拟物体2002可以由于在右侧传感器的按压、对右侧传感器的冲击、对PCD 2000右侧的冲击、在两个传感器上的抓取和拖移或其组合而在显示屏中从右向左移动。图21示出了 PCD 2100,其中,PCD 2100上显示了 3D虚拟物体2102。3D虚拟物体2102在第一位置以虚线示出,并且在第二位置以实线示出。如所示的,3D虚拟物体2102可以由于在底部传感器的按压、对底部传感器的冲击、对PCD 2100底部的冲击、在两个传感器上的抓取和拖移或其组合而在显示屏中向上移动。图22示出了 PCD 2200,其中,PCD 2200上显示了 3D虚拟物体2202。3D虚拟物体2202在第一位置以虚线示出,并且在第二位置以实线示出。如所示的,3D虚拟物体2202可以由于在顶部传感器的按压、对顶部传感器的冲击、对PCD 2200顶部的冲击、在两个传感器上的抓取和拖移或其组合而在显示屏中向下移动。参照图23,示出了 PCD 2300,其中,PCD 2300上显示了 3D虚拟物体2302。如所示的,3D虚拟物体2302可以由于在一个传感器上的拖移、在两个传感器上的抓取和相对的拖移或其组合而在显示屏中转动。下面参照图24,示出了 PCD 2400,其中,PCD 2400上显示了 3D虚拟物体2402。如所示的,3D虚拟物体2402由于两个相对的传感器被按压和按住而被挤压。如本申请所描述的,3D虚拟物体2402可以保持新形状或者返回原始形状。图25示出了 PCD 2500,其中,PCD 2500上显示了 3D虚拟物体2502。3D虚拟物体2502在第一位置以虚线示出,并且在第二位置以实线示出。如所示的,3D虚拟物体2502可以响应于在两个相邻的传感器上的按压而在显示屏中以一定的角度移动。应当理解的是,本申请描述的方法步骤并不一定要如所描述的顺序来执行。进一步,例如“之后”、“然后”、“接着”等的词并不是要限制步骤的顺序。这些词仅仅是用于引导读者了解方法步骤的描述。采用本申请描述的结构配置,用户可以控制3D虚拟物体的运动。用户可以抓取3D虚拟物体并且转动或拖移3D虚拟物体。进一步,用户可以在PCD上以任何方向推动、拖移或冲击3D虚拟物体。当在PCD上玩游戏、在PCD上操作其它应用程序、移动或控制3D菜单项目或其组合时,控制3D虚拟物体可以是有用的。进一步,用户可以抓取3D虚拟物体和停止已经在移动中的3D虚拟物体。用户可以利用抓取动作(例如,通过触摸两个相对的传感器)来抓取在移动中的3D虚拟物体。然后,用户可以停止3D虚拟物体。另外,用户可以轻敲传感器来停止已经在移动中的3D虚拟物体。可替换地,用户可以轻敲一个或多个传感器来改变移动中的3D虚拟物体的移动。 根据一个或多个示例性方面,本申请描述的功能可以实现为硬件、软件、固件或其任意组合。如果在软件中实现,则可以以一个或多个指令或代码在机器可读介质(即,计算机可读介质)上存储或传输所述功能。计算机可读介质包括计算机存储介质和通信介质,其中,通信介质包括任何有助于将计算机程序从一个位置转移到另一位置的介质。存储介质可以是任何可由计算机存取的可用介质。通过示例性的、而非限制性的方式,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储器件或可以用于携带或存储以指令或数据结构的形式的、可由计算机存取的所要程序代码的任何其它介质。另外,任何适当的连接以计算机可读介质作为术语。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源来传输软件,那么同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电和微波的无线技术也包括在介质的定义中。本申请所使用的磁盘和光盘包括压缩光盘(⑶)、激光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁的方式再现数据,而光盘采用激光以光学的方式再现数据。上述的组合也应当包括在计算机可读介质的范围内。虽然详细示出并描述了所选择的方面,将会理解的是,也可以对所选择的方面进行各种替换和改变,而不脱离随附权利要求所定义的本发明的精神和范围。
权利要求
1.ー种在无线设备处操作三维(3D)虚拟物体的方法,所述方法包括 检测3D传感器阵列上的按压;以及 响应于所述按压而移动所述3D虚拟物体。
2.如权利要求I所述的方法,还包括 检测所述3D传感器阵列上所述按压的释放;以及 停止所述3D虚拟物体。
3.如权利要求I所述的方法,还包括 检测所述3D传感器阵列上的冲击;以及 响应于所述冲击而移动所述3D虚拟物体,其中,所述3D虚拟物体移动了基于所述冲击而生成的距离。
4.如权利要求I所述的方法,还包括 检测所述3D传感器阵列中两个相対的传感器中每个传感器上的触摸;以及 虚拟地抓取所述3D虚拟物体。
5.如权利要求4所述的方法,还包括 检测所述3D传感器阵列中所述两个相対的传感器中任何一个传感器上的快速拖移;以及 在与所述快速拖移的方向一致的方向上并且以基于所述快速拖移的速度的速度旋转所述3D虚拟物体。
6.如权利要求4所述的方法,还包括 检测所述3D传感器阵列中所述两个相対的传感器中每个传感器上的相对运动;以及 在基于所述相对运动的方向的方向上绕所述3D虚拟物体的中心转动所述3D虚拟物体。
7.如权利要求4所述的方法,还包括 检测所述3D传感器阵列中所述两个相対的传感器中每个传感器上的单向运动;以及 在基于所述单向运动的方向的方向上拖移所述3D虚拟物体。
8.如权利要求4所述的方法,还包括 检测所述3D传感器阵列中所述两个相対的传感器中的一个传感器上的运动;以及在基于所述运动的方向的方向上绕着与所述两个相对的传感器中的所述ー个传感器相対的面转动所述3D虚拟物体。
9.如权利要求4所述的方法,还包括 检测所述3D传感器阵列中所述两个相対的传感器中的每个传感器之间的挤压;以及在基于所述3D传感器阵列中所述两个相対的传感器中的每个传感器之间的所述挤压的方向上虚拟地挤压所述3D虚拟物体。
10.如权利要求9所述的方法,还包括 确定所述3D虚拟物体是否是弹性的; 如果所述3D虚拟物体不是弹性的,则维持所述3D虚拟物体的新形状;以及 如果所述3D虚拟物体是弹性的,则使所述3D虚拟物体恢复原始形状。
11.ー种便携式计算设备,包括 处理器,其中,所述处理器用于检测3D传感器阵列上的按压;以及 响应于所述按压而移动所述3D虚拟物体。
12.如权利要求11所述的设备,其中,所述处理器还用于 检测所述3D传感器阵列上所述按压的释放;以及 停止所述3D虚拟物体。
13.如权利要求11所述的设备,其中,所述处理器还用于 检测所述3D传感器阵列上的冲击;以及 响应于所述冲击而移动所述3D虚拟物体,其中,所述3D虚拟物体移动了基于所述冲击而生成的距离。
14.如权利要求11所述的设备,其中,所述处理器还用于 检测所述3D传感器阵列中两个相対的传感器中每个传感器上的触摸;以及 虚拟地抓取所述3D虚拟物体。
15.如权利要求14所述的设备,其中,所述处理器还用于 检测所述3D传感器阵列中所述两个相対的传感器中任何一个传感器上的快速拖移;以及 在与所述快速拖移的方向一致的方向上并且以基于所述快速拖移的速度的速度旋转所述3D虚拟物体。
16.如权利要求14所述的设备,其中,所述处理器还用于 检测所述3D传感器阵列中所述两个相対的传感器中每个传感器上的相对运动;以及 在基于所述相对运动的方向的方向上绕所述3D虚拟物体的中心转动所述3D虚拟物体。
17.如权利要求14所述的设备,其中,所述处理器还用于 检测所述3D传感器阵列中所述两个相対的传感器中每个传感器上的单向运动;以及 在基于所述单向运动的方向的方向上拖移所述3D虚拟物体。
18.如权利要求14所述的设备,其中,所述处理器还用于 检测所述3D传感器阵列中所述两个相対的传感器中的一个传感器上的运动;以及在基于所述运动的方向的方向上绕着与所述两个相对的传感器中的所述ー个传感器相対的面转动所述3D虚拟物体。
19.如权利要求14所述的设备,其中,所述处理器还用于 检测所述3D传感器阵列中所述两个相対的传感器中的每个传感器之间的挤压;以及在基于所述3D传感器阵列中所述两个相対的传感器中的每个传感器之间的所述挤压的方向上虚拟地挤压所述3D虚拟物体。
20.如权利要求19所述的设备,其中,所述处理器还用于 确定所述3D虚拟物体是否是弹性的; 如果所述3D虚拟物体不是弹性的,则维持所述3D虚拟物体的新形状;以及 如果所述3D虚拟物体是弹性的,则使所述3D虚拟物体恢复原始形状。
21.ー种便携式计算设备,包括 用于检测3D传感器阵列上的按压的模块;以及 用于响应于所述按压而移动所述3D虚拟物体的模块。
22.如权利要求21所述的设备,还包括 用于检测所述3D传感器阵列上所述按压的释放的模块;以及 用于停止所述3D虚拟物体的模块。
23.如权利要求21所述的设备,还包括 用于检测所述3D传感器阵列上的冲击的模块;以及 用于响应于所述冲击而移动所述3D虚拟物体的模块,其中,所述3D虚拟物体移动了基于所述冲击而生成的距离。
24.如权利要求21所述的设备,还包括 用于检测所述3D传感器阵列中两个相対的传感器中每个传感器上的触摸的模块;以及 用于虚拟地抓取所述3D虚拟物体的模块。
25.如权利要求24所述的设备,还包括 用于检测所述3D传感器阵列中所述两个相対的传感器中任何一个传感器上的快速拖移的模块;以及 用于在与所述快速拖移的方向一致的方向上并且以基于所述快速拖移的速度的速度旋转所述3D虚拟物体的模块。
26.如权利要求24所述的设备,还包括 用于检测所述3D传感器阵列中所述两个相対的传感器中每个传感器上的相对运动的模块;以及 用于在基于所述相对运动的方向的方向上绕所述3D虚拟物体的中心转动所述3D虚拟物体的模块。
27.如权利要求24所述的设备,还包括 用于检测所述3D传感器阵列中所述两个相対的传感器中每个传感器上的单向运动的模块;以及 用于在基于所述单向运动的方向的方向上拖移所述3D虚拟物体的模块。
28.如权利要求24所述的设备,还包括 用于检测所述3D传感器阵列中所述两个相対的传感器中的一个传感器上的运动的模块;以及 用于在基于所述运动的方向的方向上绕着在与所述两个相対的传感器中的所述ー个传感器相対的面转动所述3D虚拟物体的模块。
29.如权利要求24所述的设备,还包括 用于检测所述3D传感器阵列中所述两个相対的传感器中的每个传感器之间的挤压的模块;以及 用于在基于所述3D传感器阵列中所述两个相対的传感器中的每个传感器之间的所述挤压的方向上虚拟地挤压所述3D虚拟物体的模块。
30.如权利要求29所述的设备,还包括 用于确定所述3D虚拟物体是否是弹性的的模块; 用于如果所述3D虚拟物体不是弹性的,则维持所述3D虚拟物体的新形状的模块;以及 用于如果所述3D虚拟物体是弹性的,则使所述3D虚拟物体恢复原始形状的模块。
31.一种机器可读介质,包括 用于检测3D传感器阵列上的按压的至少ー个指令;以及 用于响应于所述按压而移动所述3D虚拟物体的至少ー个指令。
32.如权利要求31所述的机器可读介质,还包括 用于检测所述3D传感器阵列上所述按压的释放的至少ー个指令;以及 用于停止所述3D虚拟物体的至少ー个指令。
33.如权利要求31所述的机器可读介质,还包括 用于检测所述3D传感器阵列上的冲击的至少ー个指令;以及 用于响应于所述冲击而移动所述3D虚拟物体的至少ー个指令,其中,所述3D虚拟物体移动了基于所述冲击而生成的距离。
34.如权利要求31所述的机器可读介质,还包括 用于检测所述3D传感器阵列中两个相対的传感器中每个传感器上的触摸的至少ー个指令;以及 用于虚拟地抓取所述3D虚拟物体的至少ー个指令。
35.如权利要求34所述的机器可读介质,还包括 用于检测所述3D传感器阵列中所述两个相対的传感器中任何一个传感器上的快速拖移的至少ー个指令;以及 用于在与所述快速拖移的方向一致的方向上并且以基于所述快速拖移的速度的速度旋转所述3D虚拟物体的至少ー个指令。
36.如权利要求34所述的机器可读介质,还包括 用于检测所述3D传感器阵列中所述两个相対的传感器中每个传感器上的相对运动的至少ー个指令;以及 用于在基于所述相对运动的方向的方向上绕所述3D虚拟物体的中心转动所述3D虚拟物体的至少ー个指令。
37.如权利要求34所述的机器可读介质,还包括 用于检测所述3D传感器阵列中所述两个相対的传感器中每个传感器上的单向运动的至少ー个指令;以及 用于在基于所述单向运动的方向的方向上拖移所述3D虚拟物体的至少ー个指令。
38.如权利要求34所述的机器可读介质,还包括 用于检测所述3D传感器阵列中所述两个相対的传感器中的一个传感器上的运动的至少ー个指令;以及 用于在基于所述运动的方向的方向上绕着与所述两个相対的传感器中的所述ー个传感器相対的面转动所述3D虚拟物体的至少ー个指令。
39.如权利要求34所述的机器可读介质,还包括 用于检测所述3D传感器阵列中所述两个相対的传感器中的每个传感器之间的挤压的至少ー个指令;以及 用于在基于所述3D传感器阵列中所述两个相対的传感器中的每个传感器之间的所述挤压的方向上虚拟地挤压所述3D虚拟物体的至少ー个指令。
40.如权利要求39所述的机器可读介质,还包括用于确定所述3D虚拟物体是否是弹性的的模块; 用于如果所述3D虚拟物体不是弹性的,则维持所述3D虚拟物体的新形状的模块;以及用于如果所述3D虚拟物体是弹性的,则使所述3D虚拟物体恢复原始形状的模块。
全文摘要
公开了一种在无线设备上操作三维(3D)虚拟物体的方法,该方法包括检测3D传感器阵列上的按压、冲击或拖移,以及响应于所述按压、冲击或拖移而移动所述3D虚拟物体。进一步,该方法包括检测所述3D传感器阵列上所述按压的释放,以及停止所述3D虚拟物体的移动。
文档编号G06F1/16GK102667674SQ201080052077
公开日2012年9月12日 申请日期2010年11月16日 优先权日2009年11月17日
发明者J·B·卡里, R·S·塔尔兹 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1