CN101553843A - 与3d表面上的2d内容进行交互 - Google Patents
与3d表面上的2d内容进行交互 Download PDFInfo
- Publication number
- CN101553843A CN101553843A CNA2007800437399A CN200780043739A CN101553843A CN 101553843 A CN101553843 A CN 101553843A CN A2007800437399 A CNA2007800437399 A CN A2007800437399A CN 200780043739 A CN200780043739 A CN 200780043739A CN 101553843 A CN101553843 A CN 101553843A
- Authority
- CN
- China
- Prior art keywords
- input equipment
- content
- point
- scene
- seizure
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
Abstract
公开了启用与置于3D表面上的2D内容进行交互的各种技术和方法。系统确定输入设备相对于3D表面定位在何处。如果输入设备撞击3D表面,则定位2D中的隐藏内容以使表示在3D表面上撞击的区域的点与2D中的隐藏内容上的对应的点排齐。例如,在场景中的一位置处检测到输入设备时,在接收到对输入设备位置的请求时,3D表面被投影到2维中。在所投影的3D表面上计算最接近输入设备的2D位置的点。响应于被用来定位隐藏内容,向该最接近的点提供3D表面的对应的点。
Description
背景
在2维(2D)环境中,系统通过简单地确定活动的X和Y坐标,可以知道用户选择了什么区域或以其它方式与什么区域交互。然而,在3维(3D)世界中,寻找相对于3D表面上的交互式2D元素的X/Y坐标并不总是直截了当的。例如,诸如用户界面等2D对象可被置于诸如球面等3D表面上。在这种2D对象被置于3D表面的情况下,可能难以处理用户与该现在投影在3D中的2D对象的交互。
概述
公开了启用与置于3D表面上的2D内容进行交互的各种技术和方法。系统确定输入设备相对于3D表面定位在何处。如果输入设备撞击3D表面,则定位2D中的隐藏内容以使表示在3D表面上撞击的区域的点与2D中的隐藏内容上的对应的点排齐。在一个实现中,在场景中的一位置处检测到不在交互式2D内容的边界的上方的输入设备时,在接收到对该输入设备位置的请求时,3D表面被投影到2维中。在所投影的3D表面上计算最接近输入设备的2D位置的点。响应于被用来定位隐藏内容,向该最接近的点提供3D表面的对应的点。
在一个实现中,取决于特定3D表面是否具有捕捉来遵循不同的过程。例如,如果3D场景中的3D表面不具有捕捉,并且如果输入设备撞击3D表面,则在3D三角形上使用纹理坐标来确定在2D中的隐藏内容上撞击了什么点。隐藏内容随后被移动到一位置,以使得隐藏内容与3D表面上的对应点排齐。类似地,如果3D场景中的3D表面具有捕捉,并且如果确定输入设备用该捕捉内容撞击3D表面,则使用纹理坐标和先前所述的过程来排齐隐藏内容。
在另一实现中,如果3D场景中的3D表面具有捕捉,并且如果确定输入设备未用捕捉内容撞击3D表面,则系统计算捕捉内容的边界,寻找边界上最接近输入设备的位置的点,并将边界上该最接近的点置于输入设备的位置的下方。
提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图简述
图1是一个实现的计算机系统的图示。
图2是在图1的计算机系统上操作的一个实现的交互式3D应用程序的图示。
图3是图1的系统的一个实现的高级处理流程图。
图4是图1的系统的一个实现的处理流程图,其示出在用3D对象提供输入设备位置时所涉及的各阶段。
图5是图1的系统的一个实现的处理流程图,其示出在启用与置于3D表面上的2D内容的交互时所涉及的更详细的阶段。
图6是图1的系统的一个实现的模拟图像,其示出在没有捕捉时隐藏内容的2D表示。
图7是图1的系统的一个实现的模拟图像,其示出在没有捕捉时与隐藏内容交互的3D表面。
图8是图1的系统的一个实现的模拟图像,其示出在没有捕捉时覆盖在3D表面上的2D表示。
图9是图1的系统的一个实现的模拟图像,其示出在存在捕捉时显示按钮和文本的3D表面。
图10是图1的系统的一个实现的模拟图像,其示出在存在捕捉时选择文本的一部分的图9所示的3D表面。
图11是图1的系统的一个实现的模拟图像,其示出其中预期输入设备与图10所示的3D表面的方位上的2D相关的最接近的边点。
图12是图1的系统的一个实现的模拟图像,其示出具有捕捉的2D文本框。
图13是图1的系统的一个实现的模拟图像,其示出获得图12的图像的边并将这些边投影回2D来以2D形式在3D上给出2D内容的轮廓。
详细描述
为促进对本发明的原理的理解,现将对图中所示的各实施例加以参考,同时也将用具体语言描述它们。不过,需要理解的是,并无意由此作范围上的限制。在所述实施例中的任何改变和进一步更改,以及在此所述的原理的进一步应用都可以预期将是本领域技术人员通常能想到的。
该系统可以在一般上下文中描述为提供与置于3D表面上的2D内容的交互的应用程序,但是该系统还用于除此之外的其它目的。在一个实现中,此处所描述的一种或多种技术可被实现为图形呈现程序内的特征,诸如包括在诸如等操作系统环境中或来自处理图形呈现的任何其它类型的程序或服务中的那些特征。在另一实现中,此处所描述的一种或多种技术被实现为处理允许2D内容与3D表面一起使用的其它应用程序的特征。
在一个实现中,系统通过使用隐藏的2D内容来提供与3D表面的交互。真实的交互式2D内容保持隐藏,但不隐藏该隐藏的2D内容的外观并将其置于3D上。该隐藏内容以截取用户与在3D表面上所呈现的内容的外观进行交互的尝试的方式来定位。此处所使用的术语“隐藏内容”旨在包括因其不可见、被定为不能被看到的大小、定位在另一对象之后等因而用户未注意到的2D内容。在另一实现中,在2D内容的任何部分请求输入设备的位置或请求捕捉时,该2D内容的3D表示被投影回2D。该投影的内容的边界随后被用来确定如何响应来自所捕捉的3D表面的任何输入请求。此处所使用的术语“捕捉”意味着向2D内容请求通知输入设备状态改变的时候。
如图1所示,用于实现该系统的一个或多个部分的示例性计算机系统包括诸如计算设备100等计算设备。在其最基本的配置中,计算设备100通常包括至少一个处理单元102和存储器104。取决于计算设备的确切配置和类型,存储器104可以是易失性的(如RAM)、非易失性的(如ROM、闪存等)或是两者的某种组合。该最基本配置在图1中由虚线106来例示。
另外,设备100还可具有附加的特征/功能。例如,设备100还可包含额外的存储(可移动和/或不可移动),其中包括但不限于磁盘、光盘或磁带。这样的附加存储在图1中由可移动存储108和不可移动存储110示出。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。存储器104、可移动存储108和不可移动存储110都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或者可用于存储所需信息并且可由设备100访问的任何其它介质。任何这样的计算机存储介质都可以是设备100的一部分。
计算设备100包括允许计算设备100与其它计算机/应用程序115进行通信的一个或多个通信连接114。设备100还可以具有诸如键盘、鼠标、笔、语音输入设备、触摸输入设备等输入设备112。还可以包括诸如显示器、扬声器、打印机等输出设备111。这些设备在本领域中公知且无需在此处详细讨论。在一实现中,计算设备100包括交互式3D应用程序200。交互式3D应用程序200将在图2中更详细地描述。
继续参照图1,现转到图2,其示出了运行于计算设备100上的交互式3D应用程序200。交互式3D应用程序200是驻留在计算设备100上的应用程序之一。然而,可以理解,交互式3D应用程序200可另选地或另外地被具体化为一个或多个计算机上的计算机可执行指令和/或与图1所示的不同的变型。另选地或另外地,交互式3D应用程序200的一个或多个部分可以是系统存储器104的一部分、可以在其它计算机和/或应用程序115上、或可以是计算机软件领域的技术人员能想到的其它此类变型。
交互式3D应用程序200包括负责执行在此描述的一些或全部技术的程序逻辑204。程序逻辑204包括用于确定存在更新隐藏内容的需求(例如,在接收请求时或在程序上确定)的逻辑206;用于确定输入设备(例如鼠标、指示笔等)相对于3D表面位于何处的逻辑208;用于确定输入设备是否撞击(hit)了3D表面的逻辑210;用于在系统确定输入设备未撞击3D表面的情况下将隐藏内容变为不活动(例如,将隐藏内容从输入设备移开或以其它方式移除或使其不活动,以使用户不会意外地与其交互)的逻辑212;用于在系统确定输入设备确实撞击了3D表面的情况下定位2D对象,以使得3D表面上的用输入设备所撞击的点与该隐藏的2D对象排齐(例如移动以使得相同的点排齐)的逻辑214;用于等待存在更新隐藏内容的需求(例如接收请求或在程序上确定)的另一指示并相应地进行响应的逻辑216;以及用于操作该应用程序的其它逻辑220。在一个实现中,程序逻辑204可用于通过编程,如使用对程序逻辑204中的一个过程的单一调用而从另一程序调用。
现在转向图3-5,并继续参考图1-2,更详细地描述了用于实现交互式3D应用程序200的一个或多个实现的各阶段。图3是交互式3D应用程序200的高级处理流程图。在一种形式中,图3的过程至少部分地在计算设备100的操作逻辑中实现。该过程在开始点240处开始,可任选地确定存在更新隐藏内容的需求(例如,在接收请求时或在程序上确定)(阶段242)。系统确定输入设备(例如鼠标、指示笔等)相对于3D表面定位在何处(阶段244)。如果输入设备未撞击(例如接触)3D表面(例如3D空间中的一般区域)(判定点246),则将隐藏内容变为不活动(例如,从输入设备移开或以其它方式移除或使其不活动,以使用户不会意外地与其交互)(阶段248)。如果输入设备确实撞击了3D表面(判定点246),则定位2D对象,以使得3D表面上的用输入设备所撞击的点与该隐藏的2D对象排齐(例如移动以使得相同的点排齐)(阶段250)。系统可任选地等待存在更新隐藏内容的需求的另一指示并相应地作出响应(阶段252)。该过程在结束点256处结束。
图4示出在提供输入设备相对于3D表面的位置时所涉及的各阶段的一个实现。在一种形式中,图4的过程至少部分地在计算设备100的操作逻辑中实现。该过程在开始点270处开始,在场景的某处检测到输入设备时,接收(例如来自诸如任意3D几何结构、球等区域)对输入设备位置的请求或查询(阶段272)。获得该3D表面并将其投影到2维中(阶段274)。计算该投影上最接近于输入设备的2D位置的点(阶段276)。投影对象上最接近的点是响应于请求或查询所返回的位置(例如返回到3D空间中的请求对象)(阶段278)。该过程在结束点280处结束。
图5示出在启用与置于3D表面上的2D内容的交互时所涉及的更详细的阶段的一个实现。在一种形式中,图5的过程至少部分地在计算设备100的操作逻辑中实现。该过程在开始点310处开始,可任选地确定存在更新隐藏内容的需求(“正在进行(on)”事件等)(阶段312)。如果系统确定3D表面不具有捕捉(判定点314),则执行撞击测试3D场景来确定输入设备相对于3D表面位于何处(阶段316)。如果3D表面未被撞击(判定点320),则将隐藏内容从输入设备移开(阶段324)。如果3D表面被撞击(判定点320),则在3D三角形上使用纹理坐标来寻找撞击了2D内容上的什么点(阶段326)。2D内容被置于隐藏层中,并且移动该隐藏层以使各点排齐(阶段326)。
如果系统确定3D表面确实具有捕捉(判定点314),则执行撞击测试3D场景来确定输入设备相对于3D表面位于何处(阶段318)。系统确定3D表面是否被(例如由输入设备)用捕捉内容撞击(判定点322)。如果是,则在3D三角形上使用纹理坐标来寻找撞击了2D内容上的什么点(阶段326)。2D内容被置于隐藏层中,并且移动该隐藏层以使各点排齐(阶段326)。如果系统确定3D表面未被用捕捉内容撞击(判定点322),则计算所捕捉的内容的边界(阶段328)。定位边界上最接近于输入设备位置的点,并且将边界上该最接近的点置于输入设备位置下方(阶段328)。该过程在结束点330处结束。
现转向图6-13,使用模拟图像来更详细地示出图3-5的各阶段。在图6-8中,使用一些示例性模拟图像来示出3D表面不具有捕捉时的一些可能的场景。这些模拟图像和它们伴随的描述提供图5的和/或此处所描述的某些其它技术的阶段314、316、320、324和326的进一步图示。图6是图1的系统的一个实现的模拟图像400,其示出没有捕捉时隐藏内容的2D表示。模拟图像500包含被映射到球体的内容。图7包含示出图6的图像400被映射到球体(例如3D)的模拟图像500。图8包含模拟图像600,其示出如何对齐隐藏内容以使得3D表面上的、输入设备位于其上方的滑动条部分与2D中的滑动条相同。点击输入设备将随后与拇指控件交互。因为维持了这一映射,所以3D表面被正确地通知输入设备何时进入并离开它们,以及其位于它们自身上方的什么部分。这创建能够与3D上的2D内容进行交互的结果。在一个实现中,输入设备移动作为隐藏内容需要更新的信号来跟踪。
现将使用一些非限制性示例来描述如何将2D内容映射到3D表面来达到图6-8所示的结果。在输入设备不在3D表面上方时,则隐藏层可被置于任何位置以使得输入设备不在其上方。在一个实现中,所需行为是3D表面上的2D内容不行动,如同输入设备在其上方一样,并且任何其它事件应当不影响它。将隐藏层远离输入设备放置使其不被告知移动或点击等。
为示例起见,假定所有3D表面都由三角形组成,并且所有三角形都具有与其相关联的纹理坐标。纹理坐标指定图像(纹理)的哪一部分应被显示在三角形上。例如,假定纹理坐标处于(0,0)到(1,1)的范围内,其中(0,0)是图像的左上角,而(1,1)是图像的右下角。则如果纹理坐标是(0,0)、(1,0)和(0,1),则图像的左上半被显示在三角形上。此外,假定显示在3D表面上的2D内容可被表示为图像,并且该图像是应用于该图像的3D表面的纹理。例如,图6可被认为是纹理,并且纹理坐标是使其环绕球体的坐标,如图7所示。
现在,在输入设备在3D表面上方时,光线被射入到3D场景来查看其与该3D表面的什么部分相交。这可以用许多标准技术来完成。一旦系统知道相交的是什么,则可以确定三角形上的所撞击的点以及其纹理坐标。一旦确定了纹理坐标,由于还知道纹理,则系统可以从该纹理坐标映射到2D内容上的位置。该位置是3D表面上方的精确点。为正确定位,系统移动隐藏内容,以使得在先前部分中所计算的位置直接在输入设备位置的下方。3D表面上方的点直接在隐藏内容上的同一位置的下方,其两者都直接在输入设备的下方。因此,如果用户点击或以其它方式从该位置输入,则他们将点击/输入隐藏内容上的和3D上的2D内容上的精确相同的点。同样,在输入设备移动时,由于这种定位,隐藏内容和其在3D上的2D表示都将被告知精确相同的点上方的输入设备移动。
现转向图9-13,示出了一些示例性模拟图像来说明其中3D表面具有捕捉的一些可能的场景。这些模拟图像和它们伴随的描述提供图5的和/或此处所描述的某些其它技术的阶段314、318、322、326和328的进一步图示。在一个实现中,在3D上的2D元素得到捕捉时,正确的隐藏内容定位可能变得更复杂。作为一个示例,在3D中,由于3D到2D平面上的投影,输入设备的位置实际上对应于3D空间中的一条线。另外,具有捕捉的3D表面还可被映射到任何任意几何结构。因此,在输入设备位于3D表面上方时,撞击测试指示输入设备相对于2D视件位于何处。在其离开3D表面时,由于以上问题,不再有对该问题的直接回答:2D点对应于3D线并且2D内容可以在任意几何结构上。同样,因为3D表面具有捕捉,所以其想要接收所有事件。之前,在不涉及捕捉时,系统只需要确保输入设备一直在正确的对象上方。现在,具有捕捉,则系统需要定位隐藏内容以使其处于相对于具有捕捉的对象的适当的位置。图9-11所示的模拟图像更详细地示出这一点。
在一个实现中,对该问题的一个可能的解决方案是将该3D问题还原回2D。在正常的2D情况下,应用于该内容的变换可被用来将输入设备位置转换为该内容的局部坐标系。该经变换的位置随后使该内容知道输入设备相对于它处于什么位置。在3D中,由于几何结构和纹理坐标布局的多种方位,有时难以判断3D点位于3D上的2D内容的相关坐标系中的什么位置。在一个实现中,为近似这一点,在3D上的2D内容在被投影到屏幕空间后,计算其轮廓并随后基于该投影来定位输入设备。图9-11更详细地示出这一点。
图9的模拟图像700示出3D上的2D内容。图10上的模拟图像750示出已经选择了文本,并且输入设备被移动到离开该对象的点。图11示出具有文本框(即具有捕捉的对象)的轮廓的模拟图像800。该轮廓随后被用来定位隐藏内容。
在轮廓可用之后,计算该轮廓上最接近输入设备位置的点,并随后轮廓上的该点被认为是被“撞击”的点,且其被置于输入设备位置的下方。在所示示例中,执行加亮直到图像750的中央的“T”。由于输入设备是按最接近的边点放置的,所以交互趋向于像其在2D中一样行动,因为隐藏内容是基于输入设备最接近与3D上的2D内容上的位置来定位的。通过将隐藏内容放置在最接近的边点处,系统指示其预期输入设备相对于3D表面的方位上的2D位于何处。
为实际执行参考图9-11所述的过程,系统计算具有捕捉的对象的边界,该捕捉与该对象被包含在内的2D内容相关。作为示例,考虑图12-13所示的2D内容。假定文本框具有捕捉。在图12中,图像900中包含的文本框的边界被以粗体划出轮廓。这些边界可被转换为纹理坐标,因为具有捕捉的3D表面的边界是已知的并且2D内容作为整体的大小也是已知的。使用纹理坐标,系统随后可以检查3D表面位于其上的网格的每一个三角形,并寻找包含与边界坐标相交的纹理坐标的那些三角形。例如,假定存在一个三角形,并且具有纹理坐标的三角形如图12中的2D内容上所示的一样被绘出。系统检查来查看该三角形的边是否与具有捕捉的3D表面的边界相交,在这一情况下它们确实相交(它们与具有捕捉的文本框相交)。如果三角形面向查看者,并且边界边的任一个与其相交,则边界边和三角形相交的边被添加到最终列表。将被添加的边在图13的图像950中示出。通过执行这些步骤,确定与所捕捉的3D表面的边界相交的可视边。
在一个实现中,系统还跟踪哪些三角形面向查看者而哪些背向。如果两个三角形共享一条边,一个面向用户而一个背向用户,则系统还可以将该共享边的在所捕捉的3D表面的边界内的部分添加到最终列表。这可能是必要的,以便计算可视边界。作为这种情况的非限制性示例,考虑图9中的球体。左边和右边都是廓影边(即,边既具有可视三角形又具有不可视三角形)。系统添加这些来计算所捕捉的3D表面的整个可视轮廓(如图11所示)。否则,最左侧和最右侧图像将丢失,并且将不计算完全轮廓。一旦确定了边的列表,则随后将它们投影回2D。这以2D形式给出3D上的2D内容的轮廓。随后,计算这些边上最接近输入设备的点。该点具有其自己的纹理坐标,并且该纹理坐标如上被用来定位隐藏内容。取决于所需行为,可以加粗所捕捉的3D表面的边界,如果有必要进一步从所捕捉的3D表面移开。
尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。落入在此所述和/或所附权利要求所描述的实现的精神的范围内的所有等效方案、更改和修正都期望受到保护。
例如,计算机软件领域普通技术人员会认识到客户机和/或服务器布置、用户界面屏幕内容、和/或在此讨论的示例中所述的数据布局可在一台或多台计算机上不同地组织,以包括比示例中所描绘的更少或更多的选项或特征。
Claims (20)
1.一种具有用于使得计算机执行以下步骤的计算机可执行指令的计算机可读介质,所述步骤包括:
确定输入设备相对于3D表面定位在何处;以及
如果所述输入设备撞击所述3D表面,则定位2D中的隐藏内容以使表示在所述3D表面上撞击的区域的点与2D中的所述隐藏内容上的对应的点排齐。
2.如权利要求1所述的计算机可读介质,其特征在于,还具有用于使得计算机执行以下步骤的计算机可执行指令,所述步骤包括:
如果所述输入设备未撞击所述3D表面,则使所述隐藏内容不活动。
3.如权利要求1所述的计算机可读介质,其特征在于,还具有用于使得计算机执行以下步骤的计算机可执行指令,所述步骤包括:
在确定所述输入设备相对于所述3D表面位于何处之前,确定存在更新所述隐藏内容的需求。
4.一种用于提供输入设备相对于3D表面的位置的方法,所述方法包括以下步骤:
在场景中的一位置处检测到输入设备时,接收对输入设备位置的请求;
将3D表面投影到所述场景中的2维中;
计算所投影的3D表面上最接近所述输入设备的2D位置的点;以及
响应于所述请求来返回所述最接近的点。
5.如权利要求4所述的方法,其特征在于,所述输入设备是鼠标。
6.如权利要求4所述的方法,其特征在于,所述输入设备是指示笔。
7.如权利要求4所述的方法,其特征在于,所述请求是从一区域中接收的。
8.如权利要求7所述的方法,其特征在于,所述区域是任意3D几何结构。
9.一种具有用于使得计算机执行如权利要求4所述的步骤的计算机可执行指令的计算机可读介质。
10.一种用于启用与置于3D表面上的2D内容的交互的方法,所述方法包括以下步骤:
确定处于3D场景中的2D内的隐藏内容需要更新;
确定输入设备在所述3D场景中的位置;以及
如果所述3D场景中的3D表面不具有捕捉,则确定所述输入设备是否撞击所述3D场景中的3D表面,并且如果所述输入设备确实撞击了所述3D表面,则在3D三角形上使用纹理坐标来确定在2D中的隐藏内容上撞击了多个点中的什么点,并且将所述隐藏内容移到一位置以使得所述隐藏内容与所述3D表面上的对应的点排齐。
11.如权利要求10所述的方法,其特征在于,还包括:
如果所述3D场景中的3D表面具有捕捉,则确定所述输入设备是否用捕捉内容撞击所述3D表面。
12.如权利要求11所述的方法,其特征在于,还包括:
如果所述3D场景中的3D表面具有捕捉,并且如果确定所述输入设备用所述捕捉内容撞击了所述3D表面,则在所述3D三角形上使用纹理坐标来确定在2D中的所述隐藏内容上撞击了多个点中的什么点,并且将所述隐藏内容移到所述位置以使得所述隐藏内容与所述3D表面上的对应的点排齐。
13.如权利要求11所述的方法,其特征在于,还包括:
如果所述3D场景中的3D表面具有捕捉,并且如果确定所述输入设备未用所述捕捉内容撞击所述3D表面,则计算所述捕捉内容的边界,寻找所述边界上最接近所述输入设备的位置的点,并将所述边界上最接近的点置于所述输入设备的位置的下方。
14.如权利要求10所述的方法,其特征在于,在来自所述输入设备的正在移动事件发生时,确定所述隐藏内容需要更新。
15.如权利要求10所述的方法,其特征在于,所述输入设备是鼠标。
16.如权利要求10所述的方法,其特征在于,所述输入设备是指示笔。
17.如权利要求10所述的方法,其特征在于,更新所述隐藏内容的需求是在接收到来自一区域的对所述输入设备的位置的请求时确定的。
18.如权利要求17所述的方法,其特征在于,所述区域是任意3D几何结构。
19.如权利要求10所述的方法,其特征在于,还包括:
如果所述3D场景中的3D表面不具有捕捉,并且如果确定所述输入设备未撞击所述3D场景中的3D表面,则将所述隐藏内容从所述输入设备的位置处移开。
20.一种具有用于使得计算机执行如权利要求10所述的步骤的计算机可执行指令的计算机可读介质。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/605,183 | 2006-11-28 | ||
US11/605,183 US20080122839A1 (en) | 2006-11-28 | 2006-11-28 | Interacting with 2D content on 3D surfaces |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101553843A true CN101553843A (zh) | 2009-10-07 |
Family
ID=39463202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007800437399A Pending CN101553843A (zh) | 2006-11-28 | 2007-11-27 | 与3d表面上的2d内容进行交互 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20080122839A1 (zh) |
EP (1) | EP2095326A1 (zh) |
JP (1) | JP2010511228A (zh) |
KR (1) | KR20090084900A (zh) |
CN (1) | CN101553843A (zh) |
MX (1) | MX2009004894A (zh) |
TW (1) | TW200828098A (zh) |
WO (1) | WO2008067330A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915232A (zh) * | 2011-08-01 | 2013-02-06 | 华为技术有限公司 | 一种3d控件的交互方法及通信终端 |
CN109087402A (zh) * | 2018-07-26 | 2018-12-25 | 上海莉莉丝科技股份有限公司 | 在3d场景的特定表面上覆盖特定表面形态的方法、系统、设备和介质 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101416235B1 (ko) * | 2008-02-12 | 2014-07-07 | 삼성전자주식회사 | 3차원 위치 입력 방법 및 장치 |
US8436816B2 (en) | 2008-10-24 | 2013-05-07 | Apple Inc. | Disappearing button or slider |
US8854357B2 (en) | 2011-01-27 | 2014-10-07 | Microsoft Corporation | Presenting selectors within three-dimensional graphical environments |
US9361283B2 (en) | 2011-11-30 | 2016-06-07 | Google Inc. | Method and system for projecting text onto surfaces in geographic imagery |
US9167999B2 (en) | 2013-03-15 | 2015-10-27 | Restoration Robotics, Inc. | Systems and methods for planning hair transplantation |
US9320593B2 (en) | 2013-03-15 | 2016-04-26 | Restoration Robotics, Inc. | Systems and methods for planning hair transplantation |
CN103529943B (zh) * | 2013-10-17 | 2016-05-04 | 合肥金诺数码科技股份有限公司 | 一种基于流体物理模拟系统的人体投影交互方法 |
WO2022130393A1 (en) | 2020-12-20 | 2022-06-23 | Lumus Ltd. | Image projector with laser scanning over spatial light modulator |
KR20220120141A (ko) | 2021-02-23 | 2022-08-30 | 이동건 | 혼합 현실 입출력 확장 시스템 |
WO2022056499A1 (en) * | 2021-10-13 | 2022-03-17 | Innopeak Technology, Inc. | 3d rendering and animation support for ui controls |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030048277A1 (en) * | 2001-07-19 | 2003-03-13 | Jerome Maillot | Dynamically adjusted brush for direct paint systems on parameterized multi-dimensional surfaces |
US20050268254A1 (en) * | 2001-04-30 | 2005-12-01 | Michael Abramson | Interactive electronically presented map |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6037936A (en) * | 1993-09-10 | 2000-03-14 | Criticom Corp. | Computer vision system with a graphic user interface and remote camera control |
US5511157A (en) * | 1993-12-13 | 1996-04-23 | International Business Machines Corporation | Connection of sliders to 3D objects to allow easy user manipulation and viewing of objects |
JPH0869274A (ja) * | 1994-08-30 | 1996-03-12 | Sega Enterp Ltd | 画像処理装置およびその方法 |
US5903271A (en) * | 1997-05-23 | 1999-05-11 | International Business Machines Corporation | Facilitating viewer interaction with three-dimensional objects and two-dimensional images in virtual three-dimensional workspace by drag and drop technique |
KR20010087256A (ko) * | 2000-03-03 | 2001-09-15 | 김종민 | 3차원 사이버 공간 제공 시스템 |
US6556227B1 (en) * | 2000-03-16 | 2003-04-29 | Autodesk, Inc. | Visualization techniques for constructive systems in a computer-implemented graphics system |
JP2001276420A (ja) * | 2000-03-30 | 2001-10-09 | Namco Ltd | ゲーム装置および情報記憶媒体 |
JP4167390B2 (ja) * | 2000-11-20 | 2008-10-15 | 日本電気株式会社 | 物体照合方法,物体照合装置,およびそのプログラムを記録した記録媒体 |
FR2820269A1 (fr) * | 2001-01-30 | 2002-08-02 | Koninkl Philips Electronics Nv | Procede de traitement d'images en 2d appliquees sur des objets en 3d |
US20030071810A1 (en) * | 2001-08-31 | 2003-04-17 | Boris Shoov | Simultaneous use of 2D and 3D modeling data |
US7554541B2 (en) * | 2002-06-28 | 2009-06-30 | Autodesk, Inc. | Widgets displayed and operable on a surface of a volumetric display enclosure |
EP1565888A2 (en) * | 2002-11-29 | 2005-08-24 | Bracco Imaging S.p.A. | System and method for displaying and comparing 3d models |
US7480873B2 (en) * | 2003-09-15 | 2009-01-20 | Sun Microsystems, Inc. | Method and apparatus for manipulating two-dimensional windows within a three-dimensional display model |
JP2005339060A (ja) * | 2004-05-25 | 2005-12-08 | Nec Electronics Corp | クロストーク計算装置およびクロストーク計算方法 |
US7543239B2 (en) * | 2004-06-04 | 2009-06-02 | Stereotaxis, Inc. | User interface for remote control of medical devices |
US7178111B2 (en) * | 2004-08-03 | 2007-02-13 | Microsoft Corporation | Multi-planar three-dimensional user interface |
CN101065773A (zh) * | 2004-11-27 | 2007-10-31 | 布雷克成像有限公司 | 2d/3d集成式轮廓编辑器 |
-
2006
- 2006-11-28 US US11/605,183 patent/US20080122839A1/en not_active Abandoned
-
2007
- 2007-10-24 TW TW096139918A patent/TW200828098A/zh unknown
- 2007-11-27 MX MX2009004894A patent/MX2009004894A/es active IP Right Grant
- 2007-11-27 KR KR1020097010916A patent/KR20090084900A/ko not_active IP Right Cessation
- 2007-11-27 WO PCT/US2007/085666 patent/WO2008067330A1/en active Application Filing
- 2007-11-27 JP JP2009538536A patent/JP2010511228A/ja not_active Withdrawn
- 2007-11-27 EP EP07854803A patent/EP2095326A1/en not_active Withdrawn
- 2007-11-27 CN CNA2007800437399A patent/CN101553843A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050268254A1 (en) * | 2001-04-30 | 2005-12-01 | Michael Abramson | Interactive electronically presented map |
US20030048277A1 (en) * | 2001-07-19 | 2003-03-13 | Jerome Maillot | Dynamically adjusted brush for direct paint systems on parameterized multi-dimensional surfaces |
Non-Patent Citations (1)
Title |
---|
MAUREEN C. STONE, ET AL.: "The Movable Filter as a User Interface Tool", 《HUMAN FACTORS COMPUTING SYSTEMS,CHI’94 "CELEBRATING INERDEPENDENCE》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915232A (zh) * | 2011-08-01 | 2013-02-06 | 华为技术有限公司 | 一种3d控件的交互方法及通信终端 |
CN102915232B (zh) * | 2011-08-01 | 2016-08-10 | 华为技术有限公司 | 一种3d控件的交互方法及通信终端 |
CN109087402A (zh) * | 2018-07-26 | 2018-12-25 | 上海莉莉丝科技股份有限公司 | 在3d场景的特定表面上覆盖特定表面形态的方法、系统、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2008067330A1 (en) | 2008-06-05 |
MX2009004894A (es) | 2009-05-19 |
JP2010511228A (ja) | 2010-04-08 |
KR20090084900A (ko) | 2009-08-05 |
US20080122839A1 (en) | 2008-05-29 |
TW200828098A (en) | 2008-07-01 |
EP2095326A1 (en) | 2009-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101553843A (zh) | 与3d表面上的2d内容进行交互 | |
JP7079231B2 (ja) | 情報処理装置及び情報処理システム及び制御方法、プログラム | |
CN105659295B (zh) | 用于在移动设备上的真实环境的视图中表示兴趣点的方法以及用于此方法的移动设备 | |
US9632677B2 (en) | System and method for navigating a 3-D environment using a multi-input interface | |
US11443453B2 (en) | Method and device for detecting planes and/or quadtrees for use as a virtual substrate | |
US20140375587A1 (en) | Method of controlling virtual object or view point on two dimensional interactive display | |
Pucihar et al. | Exploring the evolution of mobile augmented reality for future entertainment systems | |
US10950056B2 (en) | Apparatus and method for generating point cloud data | |
Pietroszek et al. | Smartcasting: a discount 3D interaction technique for public displays | |
CN104081307A (zh) | 图像处理装置、图像处理方法和程序 | |
JP2015118556A (ja) | コントロールデバイスのための拡張現実オーバーレイ | |
US10855481B2 (en) | Live ink presence for real-time collaboration | |
US20230325009A1 (en) | Methods, devices, apparatuses, and storage media for mapping mouse models for computer mouses | |
WO2016136380A1 (ja) | 情報処理システム及びプログラム、サーバ、端末、並びに媒体 | |
Medeiros et al. | A tablet-based 3d interaction tool for virtual engineering environments | |
CN107688426B (zh) | 选中目标物体的方法和装置 | |
CN113680065A (zh) | 一种游戏中的地图处理方法和装置 | |
CN111459266A (zh) | 一种在虚拟现实的3d场景中操作2d应用的方法和装置 | |
US11562538B2 (en) | Method and system for providing a user interface for a 3D environment | |
TWI766258B (zh) | 用於選擇在設備的顯示媒介上的交互物件的方法 | |
Raziapov | Application of AR technologies in the building industry | |
CN102902412A (zh) | 多指针间接输入设备的基于加速的交互 | |
US20210278954A1 (en) | Projecting inputs to three-dimensional object representations | |
CN112569601B (zh) | 一种游戏中模型组件的拼接方法、装置及电子设备 | |
JP6002346B1 (ja) | ゲームにおけるオブジェクト画像表示のためのプログラム、方法、電子装置及びシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20091007 |