专利名称:俯冲导航的利记博彩app
技术领域:
本发明涉及三维环境中的导航。
背景技术:
存在用于导航通过三维环境以显示三维数据的系统。所述三维环境包括定义显示 什么三维数据的虚拟相机。所述虚拟相机具有根据其位置和方位的透视角(perspective)。 通过改变虚拟相机的透视角,用户能够导航通过三维环境。地理信息系统是一种使用虚拟相机导航通过三维环境的系统。地理信息系统是用 于存储、检索、操纵和显示基本球状的地球三维模型的系统。所述三维模型可以包括映射到 诸如山脉、流域和峡谷之类的地形的卫星图像纹理。此外,所述三维模型可以包括建筑物和 其它三维特征。所述地理信息系统中的虚拟相机可以从不同透视角查看地球的球形三维模型。地 球模型的空中透视角可以示出卫星图像,但是难以看到地形和建筑物。另一方面,所述模型 的地面水平透视角可以详细示出地形和建筑物。在当前的系统中,难以从空中透视角导航 到地面水平透视角并且对用户造成混乱。需要从空中透视角导航到地面水平透视角而不会对用户造成混乱的方法和系统。
发明内容
本发明涉及三维环境中的导航。在本发明的一个实施例中,一种计算机实现的方 法在三维环境中对虚拟相机进行导航。所述方法包括确定三维环境中的目标。所述方法进 一步包括确定虚拟相机的第一位置和所述三维环境中的目标之间的距离,确定减少后的距 离,并且根据所述减少后的距离确定斜度。最后,所述方法包括根据所述斜度、减少后的距 离和目标将所述虚拟相机定位在第二位置的步骤。在第二实施例中,一种系统在三维环境中对虚拟相机进行导航。所述系统包括确 定三维环境中的目标的目标模块。当被激活时,斜度计算器模块确定虚拟相机的第一位置 和所述三维环境中的目标之间的距离,确定减少后的距离,并且作为所述减少后的距离的 函数确定斜度。而且在被激活时,定位器模块将所述虚拟相机定位在根据所述斜度、减少后 的距离和目标所确定的第二位置。最后,所述系统包括控制器模块,其重复地激活所述斜度 计算器和定位器模块,直至虚拟相机和目标之间的距离低于阈值。在第三实施例中,一种计算机实现的方法在三维环境中对虚拟相机进行导航。所 述方法包括确定三维环境中的目标;更新虚拟相机的俯冲参数;并且将所述虚拟相机定 位在通过所述俯冲参数所确定的新位置。所述俯冲参数包括相对于从所述目标向上指向的 矢量的斜度值,相对于所述矢量的方位角值,以及目标和虚拟相机之间的距离值。通过倾斜虚拟相机并减少所述虚拟相机和目标之间的距离,所述虚拟相机向目标 俯冲。以这种方式,本发明的实施例以不会对用户造成混乱的方式将虚拟相机从空中透视 角导航到地面水平透视角。
以下将参考附图对本发明的其它实施例、特征和优势以及本发明各个实施例的结 构和操作进行详细描述。
结合于此并作为说明书一部分的附图对本发明进行了图示,而且连同描述一起进 一步对本发明的原理进行解释,并且使得本领域技术人员能够制造和使用本发明。图IA-D是图示本发明实施例中若干种俯冲轨道的示图。图2是地理信息系统的示例性用户界面的截屏。图3A-B是图示根据本发明实施例的用于俯冲导航的方法的流程图。图4-5是图示用于确定目标的方法的示图,其可以在图3A-B的方法中使用。图6是图示在图3A-B的方法示例中利用初始斜度进行俯冲导航的示图。图7A-C是图示用于确定减少后的距离和相机斜度的方法的流程图,其可以在图 3A-B的方法中使用。图8A是图示用于根据距离确定斜度的函数的图形。图8B是示出使用图8A中的函数的示例性俯冲轨道的示图。图9是图示用于减少滚动的方法的示图,其可以在图3A-B的方法中使用。图10是图示用于恢复目标的屏幕空间投影的方法的示图,其可以在图3A-B的方 法中使用。图IlA-B示出了用于调整流线型地形的俯冲轨道的方法,其可以在图3A-B的方法 中使用。图12是示出根据本发明实施例的用于俯冲导航的地理信息系统的构造图。其中元素首次出现的图通常以相应的附图标记最左数字来指示。在图中,相同的 附图标记可以指示相同或功能类似的元素。
具体实施例方式本发明的实施例涉及沿俯冲轨道在三维环境中对虚拟相机进行导航。在本发明的 以下详细描述中,对“一个实施例”、“实施例”、“示例性实施例”等的引用指示所描述的实施 例可以包括特定的特征、结构或特性,但是每个实施例可以不必包括所述特定特征、结构或 特性。此外,这样的短语不必指代相同的实施例。而且,当结合实施例对特定特征、结构或 特性进行描述时,无论是否明确描述,都认为结合其它实施例影响这样的特征、结构或特性 处于本领域技术人员的知识范围内。根据本发明的实施例,俯冲导航移动相机以到达相对于目标的期望位置和方位。 俯冲参数相对于所述目标对相机的位置和方位进行编码。俯冲参数可以包括(1)到目标 的距离,(2)相对于目标处垂直线的斜度,(3)方位角,以及可选地(4)滚动。在一个示例 中,方位角可以是相机的主方向。以下对每个参数及其在实践中的操作进行描述。俯冲导航可以类似于手柄相机(camera-on-a-stick)。在此模拟中,虚拟相机通 过手柄连接到目标点。矢量点从目标点向上。例如,向上矢量可以与三维模型的表面垂直。 如果所述三维模型是球形(诸如地球的三维模型),则矢量可以通过目标从三维模型的中 心延伸。在该模拟中,随着相机倾斜,手柄成角度远离所述矢量。在一个实施例中,手柄也可以通过改变相机相对于目标点的方位角而绕所述矢量进行旋转。图IA示出了图示本发明实施例中的简单俯冲轨道的示图100。示图100示出在位 置102的虚拟相机。在位置102,虚拟相机具有空中透视角。在所示示例中,用户希望从空 中透视角导航到建筑物108的地面水平透视角。在位置102,虚拟相机被定向为竖直向下, 因此其斜度为零,并且虚拟相机距目标110的距离为116。为了确定俯冲轨道上的下一个位置,距离116被减少以确定新的距离118。在所示 示例中,虚拟相机和目标之间的距离被减少。还确定斜度112。斜度112是从目标110向上 指向的矢量和连接位置104和目标112的线段之间的角度。斜度112可以根据减少后的距 离118来确定。所述相机在俯冲轨道上的下一个位置对应于斜度112和减少后的距离118。 所述相机被重新定位到位置104。位置104距目标的距离为118。最后,相机以斜度112旋 转以面向目标110。所述过程重复直至虚拟相机到达目标110。当虚拟相机到达目标110时,斜度为 90度,并且虚拟相机面向建筑物108。以这种方式,本发明的实施例容易地从位置102处的 空中透视角导航到建筑物108的地面透视角。以下对有关俯冲导航、其变化形式和其它实 施例的操作的更多细节进行描述。图100中的俯冲轨道也可以在俯冲参数和以上所提到的手柄模拟方面进行描述。 在图100中的俯冲轨道期间,斜度值增加到90度,距离值减小到零,并且方位角值保持恒 定。在手柄模拟的环境下,矢量点从目标110向上。在图100中的俯冲轨道期间,手柄的长 度减小且手柄角度远离所述矢量。图100中的俯冲轨道仅仅是本发明的一个实施例。俯冲 参数可以以其它方式进行更新以形成其它轨道。图IB示出了图示本发明实施例中的另一轨道的示图140。图140中的轨道示出了 围绕目标110盘旋(helicoptering)的虚拟相机。图140示出了虚拟相机开始在位置148。 沿轨道行进,所述虚拟相机保持与目标等距离。在俯冲参数方面,距离保持恒定,但是斜度 和方位角值可以随着相机沿轨道移动而变化。在手柄模拟方面,手柄的长度保持恒定,但是 手柄围绕目标转动。以这种方式,相机沿以目标为原点的球体的表面移动。图140中所示的轨道例如可以被用于从不同透视角查看目标点。然而,图140中 的轨道并不必将用户从空中转换到地面水平透视角。而且,图IB示出了目标110无需从虚拟相机的中心投影(project)出来。这将参 照图4和5进行更为详细的描述。图IC示出了图示俯冲轨道的示图170,所述俯冲轨道从不同透视角示出目标以及 从空中到地面水平透视角的转换。虚拟相机在位置174开始图170中的俯冲轨道。随着虚 拟相机从位置174移动到位置176,虚拟相机接近目标,并且如图100中的俯冲轨道那样相 对于目标发生倾斜。但是,虚拟相机还如图140中的轨道那样围绕目标进行盘旋。图170 中所示的俯冲轨道继续直至虚拟相机到达目标110。在俯冲参数方面,斜度值增加到90度, 距离值减小为零,并且方位角值变化。在手柄模拟方面,手柄的长度减小,并且手柄倾斜远 离从目标110向上指引的矢量并且围绕所述矢量旋转。图ID示出了图示俯冲轨道可以如何被用于导航通过三维空间的示图180。所述 三维空间包括两个建筑物182和184。在建筑物182的顶部,虚拟相机位于位置186。目标 110处于建筑物184的顶部。如以下关于图4和5所描述的,目标110可以响应于用户输入进行选择。虚拟相机从建筑物182处的位置186沿俯冲轨道188移动到建筑物184处的目 标110。换句话说,所述虚拟相机从建筑物182俯冲到建筑物184。以这种方式,俯冲轨道 可以被用来导航通过三维空间。在另一实施例中,目标位置可以处于移动当中。在该实施例中,俯冲导航可以被用 来跟随移动目标。以下详细描述利用移动目标计算俯冲轨道的示例性实施例。俯冲导航可以被地理信息系统用来在包括地球三维模型的三维环境中进行导航。 图2是地理信息系统的用户界面200的截屏。用户界面200包括用于显示地理信息/数据 的显示区域202。如以上所提到的,在显示区域202中显示的数据来自于虚拟相机的透视 角。在一个实施例中,所述透视角由例如去掉顶部的三维锥形的平截头体限定。根据其距 虚拟相机的距离,所述平截头体内的地理数据可以以变化的细节水平进行显示。在显示区域202中所显示的示例性地理数据包括地球的图像。这些图像可以呈现 于几何图形上,所述几何图形表示创建地球的三维模型的地球地形。其它可以显示的数据 包括建筑物的三维模型。用户界面200包括用于改变虚拟相机方位的控件204。控件204使得用户能够改 变例如虚拟相机的高度、纬度、经度、倾斜度(pitch)、偏航角和滚动。在一个实施例中,使用 诸如鼠标的计算机指示设备操纵控件204。随着虚拟相机的方位变化,虚拟相机的平截头体 和所显示的地理信息/数据也发生变化。除了控件204之外,用户还可以使用例如计算机 键盘或操作杆的其它计算机输入设备来控制虚拟相机的方位。在所示示例中,虚拟相机具有地球的空中透视角。在一个实施例中,用户可以通过 选择显示区域200上的位置来选择目标。接着,相机可以使用关于图1所描述的俯冲轨道 向下俯冲到目标的地面透视角。本发明的地理信息系统可以使用客户端-服务器计算机体系进行操作。在这样的 配置中,用户界面200存在于客户端机器上。所述客户端机器可以是具有处理器、本地存储 器、显示器以及一个或多个计算机输入设备的通用计算机,所述计算机输入设备诸如键盘、 鼠标和/或操纵杆。替选地,所述客户端机器可以是例如移动手持设备的专门的计算设备。 所述客户端机器通过诸如互联网的一个或多个网络与一个或多个服务器进行通信。与客户 端机器类似,所述服务器可以使用能够为客户端提供数据的任意通用计算机来实现。所述 地理信息系统客户端的体系结构将参照图12更为详细地描述。图3是图示根据本发明实施例的用于俯冲导航的方法300的流程图。方法300以 在步骤302确定目标开始。所述目标可以根据图2中显示区域202上的用户选择来确定。 将参照图4和5更为详细地描述如何确定目标。在步骤304,可以确定新的俯冲参数并且重新定位虚拟相机。新的俯冲参数可以包 括斜度、方位角以及虚拟相机和目标之间的距离。在实施例中,虚拟相机和目标之间的距离 可以对数地减少。倾斜角度可以根据减少后的距离来确定。在一个实施例中,可以通过向 目标平移,以斜度对虚拟相机设置角度以及以新的距离平移远离目标来对虚拟相机进行重 新定位。参照图3B更为详细地描述步骤304。此外,一种计算俯冲参数的可能方式参照图 7A-C和图8A-B进行详细讨论。当对相机进行重新定位时,地球的曲率可能引入滚动。滚动可能对用户造成混乱。 为了减少滚动,在步骤306对虚拟相机进行旋转以补偿地球的曲率。旋转相机以减少滚动将参照图9更为详细地讨论。在重新定位和旋转相机时,目标可能出现在图2的显示区域202上的不同位置。目 标在显示区域202上的位置改变可能对用户造成混乱。在步骤308,可以通过旋转地球模型 来恢复目标在显示区域上的投影。恢复显示区域投影参照图10进行更为详细的讨论。当重新定位相机和旋转模型时,与地球相关的更为详细的信息可以被流送到GIS 客户端。例如,GIS客户端可以接收与地形或建筑物相关的更为详细的信息。在另一示例 中,俯冲轨道可能与地形或建筑物相冲突。结果,可以在步骤310对虚拟相机或目标的位置 进行调整。由于流线型地形数据所导致的调整将参照图IlA-B进行更为详细的描述。最终,重复步骤304至310直至在决策框312虚拟相机接近目标。在一个实施例 中,可以重复该过程直至虚拟相机处于目标的位置。在另一个实施例中,可以重复所述过程 直至虚拟相机和目标之间的距离低于阈值。以这种方式,虚拟相机捕捉目标的特写场景而 不会过于接近使得目标失真。在一个实施例中,方法300还可以朝着移动目标导航虚拟相机。如果距离在步骤 302中根据目标速度减少,则方法300可以使得虚拟相机以指定速度跟随目标。图;3B更为详细地示出了图3A中方法300的步骤304。如以上所提到的,步骤304 包括更新俯冲参数并且根据所述俯冲参数重新定位虚拟相机。俯冲参数可以包括斜度、方 位角以及虚拟相机和目标之间的距离。在步骤314,倾斜虚拟相机。换句话说,连接目标和 虚拟相机的线段和从所述目标向上指向的矢量之间的角度增大。在步骤316,改变虚拟相机 的方位角。根据所述方位角,所述相机围绕从目标向上指向的矢量旋转。最终,定位所述相 机以使得其处于距目标新的距离。将参照图7A-C和图8A-B讨论一种计算新的斜度、方位 角和距离值的方式。图4-6、7A-C、8A-B、9-10和11A-B详细描述了图3A-B中的方法300。它们提供了 方法300的各种替选实施例。然而,它们并非意味着对方法300进行限制。图4和5示出了图示可以在图3的步骤302中使用的用于确定目标的方法的示图。 图4示出了示图400。示图400示出了地球模型402。示图400还示出了虚拟相机的焦点 406。如参照图2所描述的,所述虚拟相机被用来捕捉和显示信息。所述虚拟相机具有焦距 408和视口 410。视口 410对应于图2中的显示区域202。用户选择显示区域202上的位 置,并且该位置对应于视口 410上的点412。通过延伸来自虚拟相机的射线确定与模型的交点来确定所述目标。在示图400 中,射线414从焦点406延伸通过点412。射线414在位置404与模型402相交。因此,所 述目标是模型402在位置404处的部分。在替选实施例中,射线可以从焦点406延伸通过 视口 410的中心。图5图示了根据可选特征对图4中所确定的目标位置进行调整。图5示出了示图 500。示图500示出了位于位置506的虚拟相机以及三维模型中的建筑物502。射线从位置 506延伸到建筑物502以确定交点510。然而,相机的目标位置可能不是建筑物502本身。 所述目标位置可以是提供建筑物502的视图的从建筑物502偏移的位置。所以,目标被设 置为位置508。虚拟相机从位置506沿轨道504俯冲到位置508。以这种方式,虚拟相机从 垂直的空中透视角转移到建筑物502的水平的地面透视角。虚拟相机的开始位置无需是垂直的。图6示出了示图602,其图示了具有初始的非零斜度的俯冲导航。示图602示出了虚拟相机在位置602处具有初始斜度。所述虚拟相机 沿轨道606从位置602俯冲到目标位置604。如以上参照图3所讨论的,当确定了目标位置时,可以在步骤306中进行几个计算 来确定虚拟相机在俯冲轨道中的下一个位置。特别地,确定虚拟相机新的斜度以及虚拟相 机与目标之间新的减少后的距离。图7A-C和图8A-B图示了如何确定减少后的距离和斜度。 图7A是图示用于确定斜度和减少后的距离的方法700的流程图。方法700以在步骤702确定对数地减少的距离作为开始。在高的空中距离不存在 用户感兴趣的很多数据。然而,随着相机接近地面,存在用户感兴趣的更多数据。由于对数 函数将虚拟相机快速移动通过俯冲轨道高的空中部分,所以其是有用的。然而,随着虚拟相 机接近地面,对数函数使其移动更慢。在使用对数函数的一个实施例中,距离可以被转换为 对数等级。对数等级可以通过改变参数而增加。接着,使用指数函数将对数等级转换回距 离。等式序列可以如下L = -Iog2 (C*0. 1) +4. 0,L' = L+Δ ,R = 10*2(4 CHL'),其中Δ是变化参数,L是对数等级,C是当前距离,而R是减少后的距离。当在步骤702中确定了减少后的距离时,根据该距离确定斜度。方法700图示了 用于确定斜度的两种替选步骤。在步骤710,通过应用绝对斜度函数来确定斜度。在步骤 720,通过应用增量斜度函数来确定斜度。图7Β更为详细地图示了步骤710的绝对斜度函数。所述绝对斜度函数限定了每 个距离的斜度。这具有创建预定义的俯冲轨道的效果。在步骤712,三个距离值被转换为对 数等级。被转换为对数等级的三个距离值为(1)步骤702中计算的到目标的减少后距离, ⑵在俯冲轨道开始处到目标的距离,以及⑶如图3中步骤312所描述的结束俯冲轨道的 阈值距离。用来将所述距离转换为对数等级的等式可以如下Ls = -Iog2 (S*0. 1) +4. 0,Lt = -Iog2 (Τ*0· 1) +4. 0,Le = -Iog2 (R*0. 1) +4. 0,其中S是开始距离,T是阈值距离,R是减少后的距离,Ls是开始的对数等级,Lt是 阈值对数等级,Le是减少后距离的对数等级。在步骤714,基于对数等级(Ls,LT, Le)、开始斜度值和结束斜度值对斜度值进行插 值。非零的开始斜度值参照图6进行描述。结束斜度值通常将为90度,其可以与地面平 行。在示例中,插值函数可以是线性的、二次的、指数的、对数的或者本领域技术人员显而易 见的其它函数。示例性线性插值函数为
权利要求
1.一种计算机实现的用于在三维环境中导航虚拟相机的方法,包括(A)确定所述三维环境中的目标;(B)确定所述三维环境中在虚拟相机的第一位置和所述目标之间的距离;(C)确定减少后的距离;(D)根据所述减少后的距离确定斜度;以及(E)将所述虚拟相机定位在根据所述斜度、所述减少后的距离和所述目标所确定的第 二位置处,其中所述虚拟相机的位置由一组参数限定。
2.如权利要求1所述的方法,进一步包括(F)重复步骤⑶至(E)直至所述虚拟相机和所述目标之间的距离低于阈值。
3.如权利要求2所述的方法,其中步骤(D)的确定包括将所述斜度确定为所述减少后 的距离的函数,其中所述函数被定义为使得所述斜度随着所述减少后的距离接近于零而接 近90度。
4.如权利要求3所述的方法,其中步骤(D)的确定进一步包括使用所述减少后的距离 的所述函数来确定所述斜度,其中所述函数被定义为使得所述斜度随着所述距离减少而更 快地接近90度。
5.如权利要求3所述的方法,其中步骤(E)的定位包括(1)将所述虚拟相机平移到所述目标中;(2)转变所述虚拟相机的角度以与所述斜度相匹配;和(3)以所述减少后的距离将所述虚拟相机平移到所述目标之外。
6.如权利要求3所述的方法,其中步骤(A)的确定包括(1)将来自所述虚拟相机的焦点的射线延伸通过用户所选择的点;(2)确定所述射线与所述三维环境中的三维模型之间的交点;和(3)确定在所述交点处的所述三维模型中的目标。
7.如权利要求6所述的方法,其中步骤(E)的定位包括旋转所述相机以减少或消除滚动。
8.如权利要求7所述的方法,其中所述旋转包括将所述相机旋转连接所述第一位置和 所述三维模型中的地球模型的中心的第一线段以及连接所述第二位置和所述地球模型的 中心的第二线段之间的角度。
9.如权利要求1所述的方法,进一步包括(F)旋转所述三维环境中的地球模型以使得所述目标在所述虚拟相机处于所述第一位 置和所述第二位置时投影到所述虚拟相机的视口上的相同点上;和(G)重复步骤⑶至(F)直至所述虚拟相机和所述目标之间的距离低于阈值。
10.如权利要求9所述的方法,其中步骤(F)的旋转包括在所述斜度的方向上将所述地 球模型旋转连接所述第一位置和所述三维模型中的地球模型的中心的第一线段和连接所 述第二位置和所述地球模型的中心的第二线段之间的角度。
11.如权利要求1所述的方法,进一步包括(F)重新定位所述虚拟相机以使得所述虚拟相机的位置处于所述三维环境的三维模型 中的地形之上;和(G)重复步骤⑶至(F)直至所述虚拟相机和所述目标之间的距离低于阈值。
12.如权利要求1所述的方法,其中步骤(A)的确定包括(F)重新定位所述目标以使得所述目标的位置处于所述三维环境的三维模型中的地形 之上;和(G)重复步骤⑶至(F)直至所述虚拟相机和所述目标之间的距离低于阈值。
13.如权利要求1所述的方法,其中步骤(C)的确定包括对数地减少所述距离。
14.一种用于在三维环境中导航虚拟相机的系统,包括目标模块,其确定所述三维环境中的目标;斜度计算器模块,当被激活时,其确定虚拟相机的第一位置和所述三维环境中的所述 目标之间的距离,确定减少后的距离并且将斜度确定为所述减少后的距离的函数;和定位器模块,当被激活时,其将所述虚拟相机定位在根据所述斜度、所述减少后的距离 和所述目标所确定的第二位置处,其中所述虚拟相机的位置由一组参数定义;和控制器模块,其重复地激活所述斜度计算器和所述定位器模块直至所述虚拟相机和所 述目标之间的距离低于阈值。
15.如权利要求14所述的系统,其中所述斜度计算器用来确定所述斜度的函数被定义 为使得所述斜度随着所述减少后的距离接近于零而接近90度。
16.如权利要求15所述的系统,其中所述斜度计算器用来确定所述斜度的函数被定义 为使得所述斜度随着所述距离减少而更快地接近90度。
17.如权利要求16所述的系统,其中所述定位器模块将所述虚拟相机平移到所述目标 中,转变所述虚拟相机的角度以匹配所述斜度,并且以所述减少后的距离将所述虚拟相机 平移到所述目标之外。
18.如权利要求17所述的系统,其中所述目标模块将来自所述虚拟相机的焦点的射线 延伸通过用户所选择的点,确定所述射线与所述三维环境中的三维模型之间的交点,并且 确定在所述交点处的所述三维模型中的目标。
19.如权利要求18所述的系统,进一步包括滚动补偿器模块,其旋转所述相机以减少 或消除滚动,其中所述控制器模块重复地激活所述滚动补偿器模块直至所述虚拟相机和所述目标 之间的距离低于阈值。
20.如权利要求19所述的系统,其中所述滚动补偿器模块将所述相机旋转连接所述第 一位置和所述三维模型中的地球模型的中心的第一线段和连接所述第二位置和所述地球 模型的中心的第二线段之间的角度。
21.如权利要求18所述的系统,进一步包括屏幕空间模块,当被激活时,其旋转所述三 维环境中的地球模型以使得所述目标在所述虚拟相机处于所述第一位置和所述第二位置 时投影到所述虚拟相机的视口上的相同点上,其中所述控制器模块重复地激活所述模型模块直至所述虚拟相机和所述目标之间的 距离低于阈值。
22.如权利要求21所述的系统,其中所述屏幕空间模块在所述斜度的方向上将所述地 球模型旋转连接所述第一位置和所述三维模型中的地球模型的中心的第一线段和连接所 述第二位置和所述地球模型的中心的第二线段之间的角度。
23.如权利要求14所述的系统,进一步包括地形调节器模块,当被激活时,其重新定位所述虚拟相机以使得所述虚拟相机的位置处于所述三维环境的三维模型中的地形之上,其中所述控制器模块重复地激活所述地形调节器模块直至所述虚拟相机和所述目标 之间的距离低于阈值。
24.如权利要求14所述的系统,进一步包括地形调节器模块,当被激活时,其重新定位 所述目标以使得所述目标的位置处于所述三维环境的三维模型中的地形之上,其中所述控制器模块重复地激活所述地形调节器模块直至所述虚拟相机和所述目标 之间的距离低于阈值。
25.如权利要求14所述的系统,其中所述斜度计算器模块对数地减少所述距离。
26.一种计算机实现的用于在三维环境中导航虚拟相机的方法,包括(A)确定所述三维环境中的目标;(B)更新所述虚拟相机的俯冲参数,所述俯冲参数包括相对于从所述目标向上指向的 矢量的斜度值、相对于所述矢量的方位角值、以及所述目标和所述虚拟相机之间的距离;并 且(C)将所述虚拟相机定位在由所述俯冲参数限定的新位置。
27.如权利要求沈所述的方法,进一步包括(D)旋转所述三维环境中的地球模型以使得所述目标在所述虚拟相机处于所述新位置 时投影到所述虚拟相机的视口上的相同点上。
28.如权利要求沈所述的方法,其中步骤(A)的确定包括(1)将来自所述虚拟相机的焦点的射线延伸通过用户所选择的点;(2)确定所述射线与所述三维环境中的三维模型之间的交点;和(3)确定在所述交点处的所述三维模型中的目标。
29.如权利要求沈所述的方法,其中步骤(C)的定位包括旋转所述虚拟相机以减少或 消除滚动。
30.一种用于在三维环境中导航虚拟相机的系统,包括 目标模块,其确定所述三维环境中的目标;斜度计算器模块,其更新所述虚拟相机的俯冲参数,所述俯冲参数包括相对于从所述 目标向上指向的矢量的斜度值、相对于所述矢量的方位角值、以及所述目标和所述虚拟相 机之间的距离;和定位器模块,其将所述虚拟相机定位在由所述俯冲参数限定的新位置。
31.一种用于在三维环境中导航虚拟相机的系统,包括 用于确定所述三维环境中的目标的装置;用于确定虚拟相机的第一位置和所述三维环境中的所述目标之间的距离的装置; 用于确定减少后的距离的装置; 用于根据所述减少后的距离确定斜度的装置;和用于将所述虚拟相机定位在根据所述斜度、所述减少后的距离和所述目标所确定的第 二位置处的装置,其中所述虚拟相机的位置由一组参数限定。
32.一种用于在三维环境中导航虚拟相机的系统,包括 用于确定所述三维环境中的目标的装置;用于确定虚拟相机的第一位置和所述三维环境中的所述目标之间的距离的装置;用于确定减少后的距离的装置; 用于根据所述减少后的距离确定斜度的装置;和用于将所述虚拟相机定位在根据所述斜度、所述减少后的距离和所述目标所确定的第 二位置处的装置,其中所述虚拟相机的位置由一组参数限定。
33. 一种在其上存储有计算机可执行指令的有形的计算机可读介质,如果被计算设备 执行,所述指令使得所述计算设备执行方法(A)确定所述三维环境中的目标;(B)确定虚拟相机的第一位置和所述三维环境中的所述目标之间的距离;(C)确定减少后的距离;(D)根据所述减少后的距离确定斜度;以及(E)将所述虚拟相机定位在根据所述斜度、所述减少后的距离和所述目标所确定的第 二位置处,其中所述虚拟相机的位置由一组参数限定。
全文摘要
本发明涉及三维环境中的导航。在一个实施例中,在虚拟相机处于第一位置时选择所述三维环境中的目标。确定所述虚拟相机和目标之间的距离。减少所述距离,并且作为减少后的距离的函数确定斜度。根据所述斜度、减少后的距离和目标位置确定所述虚拟相机的第二位置。最后,将相机定位为面对所述目标,在一个示例中,该过程重复直至虚拟相机被定位为与地面平行,并且所述距离接近所述目标。在另一个示例中,所述目标的位置移动。
文档编号G06T15/50GK102067179SQ200980121381
公开日2011年5月18日 申请日期2009年4月14日 优先权日2008年4月14日
发明者丹尼尔·巴尔凯, 戈克尔·瓦拉得汗 申请人:谷歌公司