本申请要求于2013年5月29日提交且题为“ApparatusandMethodforManipulatingtheOrientationofanObjectonaDisplayDevice”的第13/904,470号美国申请的优先权,将其整体结合于此供参考。
发明内容
根据本发明的一个实施方式,一种操纵三维对象的方法在触摸屏上显示三维对象的第一视图。该触摸屏具有与触摸屏的至少一个预先指定的视觉上未勾画的部分相关联的三维视图。该方法在视觉上未勾画的部分中接收在所述触摸屏上的触摸输入,并且基于被分配给接收所述触摸输入的所述视觉上未勾画的部分的视图而确定所述三维对象的第二视图。该方法在所述触摸屏上显示所述三维对象的所述第二视图。
该视觉上未勾画的部分可以没有与该三维对象的操纵相关的可视标记。另外,触摸屏的仅一部分具有带有相关视图的视觉上未勾画的部分。
该方法可以基于触摸输入在触摸屏上的位置而确定第二视图。该方法还可以基于三指敲击在所述触摸屏上的位置而确定所述第二视图。此外,基于所述触摸输入在所述触摸屏上的位置,该第二视图可以是多个标准视图中的一个。示例性标准视图包括西北等距视图、东北等距视图、西南等距视图、东南等距视图、后视图、左视图、右视图、正视图和俯视图。
根据本发明的另一个实施方式,一种计算机程序产品具有非暂时性计算机可读介质,所述非暂时性计算机可读介质上具有用于操纵三维对象的计算机代码。所述计算机代码包括用于在触摸屏上显示三维对象的第一视图的程序代码。所述触摸屏具有与所述触摸屏的至少一个预先指定的视觉上未勾画的部分相关联的三维视图。所述计算机代码包括用于在所述视觉上未勾画的部分中接收在所述触摸屏上的触摸输入的程序代码和用于基于被分配给接收所述触摸输入的所述视觉上未勾画的部分的视图而确定所述三维对象的第二视图的程序代码。所述计算机代码还包括用于在所述触摸屏上显示所述三维对象的所述第二视图的程序代码。
根据另一个实施方式,一种设备具有用于显示三维对象的多个视图的触摸屏。为此,该触摸屏被配置为当显示三维对象时具有多个未勾画的触摸屏部分。另外,该设备还具有被配置为响应于触摸输入来检测和确定对触摸屏的多个未勾画的部分的选择的传感器,以及可操作地与所述传感器连接的视图控制器。该视图控制器被配置为将每个未勾画的部分与所述三维对象的多个不同的视图中的一个视图相关联。另外,该视图控制器还被配置为(在选择所述多个未勾画的部分中的一个部分之后)使所述触摸屏显示与所选择的未勾画的部分相关联的所述三维对象的视图。
根据另一个实施方式,一种操纵三维对象的方法在显示装置上显示三维对象的第一视图。该显示装置被配置为显示与触摸屏的至少一个预先指定的视觉上未勾画的部分相关联的三维视图。该方法还在该显示装置上接收关于至少一个视觉上未勾画的部分的输入。该方法还基于被分配给与所接收的输入相关的至少一个视觉上未勾画的部分的视图而确定所述三维对象的第二视图。另外,该方法在该显示装置上显示所述三维对象的所述第二视图。
在多个实施方式中,该输入可以包括通过鼠标做出的选择,和/或该显示装置可以包括触摸屏。
本发明的示例性实施方式被实施为具有计算机可用介质的计算机程序产品,所述计算机可用介质上具有计算机可读程序代码。该计算机可读代码可以根据常规过程被计算机系统读取和利用。
具体实施方式
示例性实施方式最大化具有操纵计算机装置显示的对象的取向的能力的该计算机装置上的可用屏幕实际使用面积(availablescreenrealestate)。因此,诸如平板电脑、便携式计算机、膝上型计算机和智能电话这些更小的显示装置可以提供用于改变对象的视点的显著功能,而不会遮盖许多屏幕。为此,该计算机系统/计算装置具有被划分为多个视觉上未勾画出的部分的显示器(例如,触摸屏显示器)。在任何部分处接收的诸如触摸输入的一些预先设定的输入会使对象以一些方式改变其取向。例如,在触摸屏装置的上部象限中的敲击可以使所显示的对象旋转180度。下文讨论各种实施方式的细节。
图1A示意性示出了可以根据本发明的各种实施方式来配置的计算机装置。具体地,图1A中所示的装置是具有在第一取向上显示对象的触摸屏的平板电脑。注意,在该实例中的触摸屏简单示出了该对象且没有其它。然而,受过培训的用户会理解该平板电脑具有根据接收的针对该显示器的特定输入(下文讨论)来改变该对象的取向的逻辑。
因此,图1B示意性示出了在该平板电脑已接收到预先设定的输入(下文讨论)之后的该对象的另一视图。在该情况下,该对象已被旋转至示出俯视图。图1C至图1E示出了也响应于所述输入而形成的该对象的多个其它潜在视图。这些视图包括某些所谓的“标准视图”,它们在其它方式中可以被一些标准化组织预先定义、众所周知或者被用户或一些其他人限定。作为一个实例,那些视图可以包括西北等距视图、东北等距视图、西南等距视图、东南等距视图、后视图、左视图、右视图、正视图和俯视图。其它视图也是可行的,且因此,所讨论的视图只是任何数量的不同视图中的示例性视图。
示例性实施方式可以被用于各种不同领域中的任何领域。例如,三维(3D)建模是可应用于许多技术(诸如在计算机辅助设计和三维打印中)的有用的设计工具。例如,产品设计者可以使用3D建模来形象化和改善消费商品的样品,且工程师可以使用建模来开发工业建筑的内部基础设施。用于3D建模的程序允许用户调整他或她对对象的观察视图以在设计过程中起辅助作用。例如,用户可以对该对象的一部分进行放大,并且增加、删除或调整该具体视图中的特征。在另一实例和示例性实施方式中,用户可以调整该对象以便从不同视角来观看它。
图2示出了使用本文中所述的3D建模程序的计算装置200的示例性方块图。该计算装置200包括处理器230,该处理器230执行对应于本文中所述的建模程序的程序代码。该程序代码可以被存储在存储器205中。用于对象的文件也可以被存储在该存储器205中。处理器203向视图控制器207发送对应于该对象的视图的数据。视图控制器207向触摸屏209驱动该视图以用于显示。当用户向触摸屏209施加触摸输入时,触摸屏209的传感器211或者与触摸屏209连接的传感器211向处理器203发送触摸输入(例如,触摸的位置、类型)。如果该触摸输入调用命令以通过不同视图来显示该对象,那么该处理器203向视图控制器207发送与该对象的不同视图对应的数据。
举例来说,当3D建模程序在触觉计算装置(诸如带有或者不带有触摸屏的平板电脑或膝上型计算机)上执行时,该程序通常在比可用在台式计算机上的显示屏更小的区域内显示该对象。给定有限的用于显示的空间,发明人认识到最大化用于显示感兴趣的对象的空间量将是有利的。因此,各种实施方式实施隐藏的控制以通过在触摸屏上的预定的、视觉上未勾画出的触摸输入位置来操纵对象,例如,不需要专用的图形用户界面标记(诸如专用的工具栏或托盘)来操纵该对象的取向。因此,示例性实施方式减少了用于显示图形控制和对象所需的屏幕空间量。
另外,用户也可以使用其它触摸输入以其它方式(例如,放大、旋转、删除特征)来控制该对象。还通过编码预定触摸输入作为控制以获得标准视图(例如,俯视图、侧视图等),用户可以通过一系列不同的触摸输入以无缝方式与该对象交互。
观看控制可以基于多种不同标准,诸如触摸输入的类型、接收触摸输入的位置或上述两者。例如,观看控制可以对应于在触摸屏的预定部分上接收的具体类型的触摸输入。在示例性实施方式中,当显示3D对象时,该预定部分在触摸屏上视觉上未被勾画出,从而使所显示的3D对象不会模糊。换言之,当显示3D对象时,该显示器不会显示指示触摸屏的不同部分之间的轮廓的任何边界线或其它标记。
该3D建模程序可以在特定时间(诸如当不显示该对象时)显示关于未勾画出的部分的信息。例如,当实施特定实施方式的3D建模程序首先被安装在触觉计算装置上时,该程序可以显示每个未勾画出的部分的边界以及通过触摸输入类型组织的其相关视图控制。在安装之后,一些实施方式可以通过显示不同部分的边界来响应于一些用户交互,诸如响应于用户从触摸屏的一个角滑动向另一相对角。该程序还可以显示关于如何访问其帮助菜单的信息,以及到在线帮助手册的链接。在一些实施方式中,所显示的边界可以在某一时间段(例如,5秒)内变淡,或者该边界可以在用户重复预定触摸输入时消失。
如上所述,该建模程序可以不通过仅在一个未勾画部分上的触摸来改变对象的视点。相反,该系统优选被编程为响应于一些预定类型的触摸输入。例如,预定触摸输入可以是单次五指敲击(即,五指同时敲击的触摸输入)、四指敲击、三指敲击、两指敲击或者一指敲击。作为另一实例,该输入可能需要多次敲击(例如,两次、三次或四次敲击)。其它示例性的触摸输入类型包括三连击、画出一或二指圆、双击与滑动的组合或者以预定特征形式的滑动。
一些实施方式可能需要更复杂的触摸图案。例如,为了旋转或者操纵该对象的视图,一些实施方式可能需要在特定象限上进行指定图案的多个触摸输入。继续采用上述未勾画出部分显示的具有四象限的例子,为将对象旋转至侧视图,一些实施方式可能需要该用户敲击左上象限,随后的敲击右下象限并且随后再敲击左上象限。
该触摸屏可以被划分为一致或不一致尺寸和形状的部分,例如栅格或矩阵。为此,图3至图9示意性示出了划分触摸屏的各种不同的非详尽方式。例如,图3示出了被划分为象限300的触摸屏,而图4示出了3×3栅格400。在另一实例中,该触摸屏可以被划分为行500或列600,如图5和6中所示。相比之下,该触摸屏可以基于到参考点的距离被划分为多个部分。因此,该触摸屏可以被划分为从其中心700辐射的同心圆,如在图7中所示。作为又一实例,该触摸屏可以被划分为同心矩形800,如在图8中所示。该触摸屏可以基于相对于参考点的触摸输入角被划分为多个部分。在这些实施方式中,该多个部分可以通过屏幕边缘和从触摸屏的中心900辐射的线划分边界,如图9中所示。事实上,一些实施方式将该触摸屏划分为不规则形状或尺寸的多个部分。
如上所建议,用户可以配置触摸屏的预定部分。更具体地,3D建模程序可以具有允许用户选择用于操纵对象的所有需求的实用性。因此,用户可以指定该触摸屏将被如何划分,以及哪种具体的输入(触摸或非触摸)将产生期望的功能。用户可以在屏幕上画出这些部分的边界。该建模程序响应于另一或相同的预定触摸输入可以保存用户配置的预定部分。
用户也可以改变该触摸屏被划分为多个预定部分的方式。例如,用户可以施加预定触摸输入(例如,围绕显示屏的周边的圆形运动、在显示屏上的“X”运动)来改变该多个预定部分。响应于每次施加预定触摸输入(例如,象限、四个同心矩形),3D建模程序可以显示不同的划分触摸屏的方式。用户可以持续施加触摸输入以改变多个触摸屏部分,直到该程序显示用户想使用的多个预定部分。
在上述所讨论的一个实例中,对于一组触摸输入控制,触摸输入的类型是三连击,且触摸屏的多个预定部分是3×3栅格上的多个部分。当用户在3×3栅格的一个部分中三连击时,该3D建模程序可以以西北等距视图、东北等距视图、西南等距视图、东南等距视图、后视图、左视图、右视图、正视图或俯视图中的一个显示该3D对象。图10示出了用于对象的标准视图与触摸屏上3×3栅格800的多个部分之间的示例性关联。
为此,该对象的文件示例性地包括用于在标准视图中显示对象的信息。例如,该对象文件可以包括用于根据每个标准视图在显示屏上定向该对象的坐标。因此,在那些实施方式中,3D建模程序从该对象文件确定用于在标准视图中显示该对象的信息。更具体地,为定向该对象,该建模程序可以基于文件中的数据获取该对象中每个像素的相关像素坐标。对象的3D建模文件可以遵循针对对象的取向的与该对象的数据相关的标准格式。例如,用于该数据的X、Y和Z坐标可以从正视图中描述对象。在这些实施方式中,该程序可能已经存储相对于正视图的用于从不同标准视图中观看该对象的信息(例如,相对坐标)。当该程序打开对象文件时,该程序将用于从不同标准视图观看对象的信息与对应于该视图的触摸输入控制相关联。
另外,如上所述,用户可以配置与触摸屏的不同部分相关联的视图。为此,用户可以首先选择触摸屏被划分为多个预定部分的方式。例如,用户可以施加预定触摸输入(例如,围绕显示屏的周边的圆形运动,或者在显示屏上的“X”运动)以观看划分触摸屏的不同方式(例如,象限、3×3栅格、同心矩形)。该建模程序随后可以显示所述多个部分的边界,通常所述多个部分的边界在显示该对象时不会被勾画出。响应于每次施加的预定触摸输入,该程序可以响应于预定触摸输入的每次施加来显示划分该触摸屏的另一方式。在一些实施方式中,配置该视图仅被允许以预定方式将该触摸屏划分为多个部分。例如,该程序可以允许用户选择仅针对3×3栅格中的多个部分的视图。
在用户已选择触摸屏被划分为多个部分的方式之后,该用户可以施加用于选择视图以与所述多个部分相关联的另外的(多个)预定触摸输入。例如,用户可以施加触摸输入来进入用于选择视图以与该部分相关联的模式。用户可以选择触摸屏的一个部分、操纵对象(例如,立方体、人的三维模型)到某一视图、以及将该视图与该一个部分相关联。在一些实施方式中,用户可以敲击一个部分(例如,象限)、操纵对象到俯视图、以及再次敲击该一个部分以将该俯视图与所敲击的部分相关联。在一些实施方式中,用户可以通过输入对应于视图的坐标来操纵对象。用户可以对触摸屏的其它部分执行类似的操作。
在3D建模程序进入选择模式之后,用户可以操纵该对象到某一视图,并且随后将该视图分配给一个部分。用户可以操纵对象到第一视图,并且随后施加预定触摸输入以将该第一视图与触摸屏的一个部分相关联。用户随后操纵该对象到第二视图,并且随后施加预定触摸输入以将该第二视图与触摸屏的不同的部分相关联。在一个实例中,用户操纵该对象到正视图,施加两指敲击,并且将他或她的手指拖动至触摸屏的左上象限。随后,用户操纵该对象到后视图,施加两指敲击,并且将他或她的手指拖动至触摸屏的右上象限。该用户重复类似的步骤,直至触摸屏的所有部分具有相关联视图。
各种实施方式可以在触摸屏上将未勾画出的部分设定为直观区域,从而便于对该对象的操纵。例如,在未勾画出的部分的3×3栅格中,中心部分可以对应于对象的正视图。以类似的方式,左上部分、右上部分、左下部分和右下部分可以分别对应于西北等距视图、东北等距视图、西南等距视图和东南等距视图。上中部分和下中部分可以分别对应于俯视图和仰视图。其它实施方式可以具有用户接触触摸屏的位置与该对象的视图之间的类似相关性。因此,就许多其它实施方式来说,对3×3栅格的讨论是一个实例且并不旨在限制所有实施方式。
在各种实施方式中,与触摸屏的未勾画的部分相关联的视图相对于正视图的角位移可以和与该视图相关联的未勾画部分的位置相对于触摸屏的未勾画的中心部分的的角位移相关。上述实例只是该配置的一种实施。
图11示出了用于基于在触摸屏的未勾画部分上接收的触摸输入以不同视图显示三维对象的示例性处理。该处理开始于步骤11001处,其中,在触觉或其它类型的计算装置上执行的3D建模程序显示三维对象的视图。
接下来,在一些时间之后,该计算装置在触摸屏的视觉上未勾画部分上接收触摸输入(步骤11003)。为此,该计算装置具有触摸传感器或其它装置用来检测在触摸屏上的触摸输入。例如,该触摸屏可以具有当前广泛使用的电容或压电触摸感应屏。计算装置内的视图控制器或其它逻辑检测输入的类型(例如,敲击次数、滑动的图案或者手指数目),并且确定显示器的哪个区域被触摸。
如果该逻辑确定在触摸屏的特定的未勾画区域中已接收到合适的触摸输入,那么该视图控制器确定与该输入相关联的第二视图(步骤11005)。具体地,该视图控制器基于触摸屏的视觉上未勾画的部分、触摸输入的类型或者两者识别第二视图。因此,该视图控制器(例如,从对象文件)收集合适的信息,并且使3D建模程序显示三维对象的第二视图(步骤11007)。因此,触摸屏可以直接变为第二视图(即,仅采用第二视图示出不同图像),或者可以将该对象旋转至第二视图,从而示出旋转或运动到第二视图的动画。
一些实施方式并不依赖于触摸输入。相反,这些实施方式可以响应于一些其它类型的输入。例如,该3D建模程序可以简单地响应于通过传统鼠标或者一些键盘输入进行的选择。另一实例可以包括一些光源(诸如激光或聚光灯)的使用,或者施加压力信号到显示装置。
因此,上述所讨论的实施方式最大化了显示装置(诸如触摸屏)上的屏幕实际使用面积的量,同时仍允许用户简单地操纵所显示的对象。当然,尽管在结合小显示装置来使用时有大幅改善,但是本领域人员应当理解,多种实施方式也适用于更大的显示装置,诸如占据墙壁相当大的位置的大的发光二极管(LED)显示器。因此,对较小显示装置的讨论并不旨在限制本发明的所有实施方式。
然而,应当注意,一些实施方式以除了简单改变对象的视图之外的方式修改该对象或场景。换言之,对象或下面的场景的一些特征可以响应于给定输入而改变。例如,在特定象限中的双击可以使风景的场景从白天变为黑夜,或者使对象改变颜色、形状,具有不同的标志或商标等。因此,对对象视图操纵的讨论只是多种不同用途中的一个实例。
本发明的各种实施方式可以至少部分以任何传统计算机编程语言来实施。例如,一些实施方式可以以过程化编程语言(例如,“C”)来实施,或者以面向对象的编程语言(例如,“C++”)来实施。本发明的其它实施方式可以被实施为预先编程的硬件元件(例如,专用集成电路、FPGA和数字信号处理器)或者其它相关部件。
在替代实施方式中,所公开的设备和方法(例如,参见上述各种流程图)可以被实施为利用计算机系统来使用的计算机程序产品。该实施可以包括固定在有形介质(诸如计算机可读介质(例如,磁盘、CD-ROM、ROM或硬盘))上或者经由调制解调器或其它接口装置(诸如通过介质连接至网络的通信适配器)可发送至计算机系统的一系列计算机指令。
该介质可以是有形介质(例如,光或模拟通信线路)或者采用无线技术(例如,WIFI、微波、红外或其它传输技术)实施的介质。该系列的计算机指令可以实现之前本文中参照该系统所描述的所有或部分功能。图2的处理仅是示例性的,且要理解的是,其各种替代、数学等价或推导均落入本发明的范围内。
本领域技术人员应当理解,为了多种计算机架构或操作系统可以使用,该计算机指令可以以多种编程语言来书写。另外,该指令可以被存储在任何存储器装置(诸如半导体、磁性、光学或其它存储器装置)中,并且可以使用任何通信技术(诸如光学、红外、微波或其它传输技术)来传输。
此外,该计算机程序产品可以作为具有随附的印刷或电子文档(例如,收缩式包装软件)的可移除介质而被发布,利用计算机系统(例如,在系统ROM或硬盘上)被预加载,或者从服务器或电子公告板通过网络(例如,因特网或万维网)被发布。当然,本发明的一些实施方式可以被实施为软件(例如,计算机程序产品)和硬件的组合。本发明的其它实施方式被整个实施为硬件,或者整个实施为软件。
尽管上述讨论公开了本发明的各种示例性实施方式,但是应当显而易见的是,在不背离本发明的真实范围的情况下,本领域技术人员可以进行各种修改以获得本发明的一些优势。