CN107767463A - 一种在三维场景中飞行漫游的方法 - Google Patents

一种在三维场景中飞行漫游的方法 Download PDF

Info

Publication number
CN107767463A
CN107767463A CN201711070753.XA CN201711070753A CN107767463A CN 107767463 A CN107767463 A CN 107767463A CN 201711070753 A CN201711070753 A CN 201711070753A CN 107767463 A CN107767463 A CN 107767463A
Authority
CN
China
Prior art keywords
mrow
camera
viewpoint
starting
flight
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.)
Granted
Application number
CN201711070753.XA
Other languages
English (en)
Other versions
CN107767463B (zh
Inventor
杜广林
俞蔚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Kelan Information Technology Co Ltd
Original Assignee
Zhejiang Kelan Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Kelan Information Technology Co Ltd filed Critical Zhejiang Kelan Information Technology Co Ltd
Priority to CN201711070753.XA priority Critical patent/CN107767463B/zh
Publication of CN107767463A publication Critical patent/CN107767463A/zh
Application granted granted Critical
Publication of CN107767463B publication Critical patent/CN107767463B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Studio Devices (AREA)

Abstract

本发明公开了一种在三维场景中飞行漫游的方法,在用户浏览三维场景时,先根据用户输入的指令计算获得相机飞行的起始视点和终止视点,再根据起始视点和终止视点计算得到相机的飞行路线;最后根据飞行路线控制相机在三维场景中进行飞行漫游;其中,起始视点包括相机在起始点的位置和姿态,终止视点包括相机在终止点的位置和姿态。由于相机的视点包括相机的位置和姿态,所以通过计算相机的起始视点和终止视点,就可以实现三维场景中飞行漫游时的准确定位。而由相机的起始视点和终止视点计算得到的飞行路线,考虑到了相机飞行过程中的位置和姿态,因此可以提供多样的飞行姿态,使用户在浏览三维场景时得到较好的飞行体验感。

Description

一种在三维场景中飞行漫游的方法
技术领域
本发明涉及计算机图形学领域,特别是涉及一种在三维场景中飞行漫游的方法。
背景技术
近年来,随着计算机图形学的不断发展和三维空间技术研究的不断推进,把地理信息数据在三维场景中进行呈现、浏览、分析、应用成为地理信息行业发展的一个主要方向。特别是在国家大力建设智慧城市的大背景下,建立三维场景,把三维数据在场景中进行叠加查看,解决城市在场景中看的问题,成为进一步建立智慧城市的一个大前提。
把空间地理信息数据在三维场景中进行呈现后,需要建立一套漫游机制,实现对三维场景的无缝浏览。漫游是一种对三维场景的浏览操作方式,通常通过改变相机的位置以及姿态来实现对场景的漫游。三维场景中的漫游方式主要有两种:一种是交互漫游,又称手动漫游,这种漫游方式比较灵活,完全由用户操作鼠标或者键盘等其他的交互设备,按照自己的意图来控制漫游的位置和观察角度。另一种方式是沿固定路径漫游,又称自动漫游,即用户按照事先定义好的轨迹进行漫游,其轨迹是三维空间的一条曲线,曲线上的控制点坐标通过插值计算确定。即用户按照预先设定好的路径在三维场景中漫游。这种沿固定路径漫游的其中一种是飞行漫游。
飞行漫游方式在三维场景中的应用比较广泛。例如:交互漫游中的鼠标双击定位、区域范围定位、场景中POI点定位等。但是现有技术中的飞行漫游方式有定位点位不准确、飞行体验感较差等问题存在。
因此,如何实现三维场景中飞行漫游时的准确定位,提升用户的飞行体验感,是本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提供一种在三维场景中飞行漫游的方法,用于实现三维场景中飞行漫游时的准确定位,提升用户的飞行体验感。
为解决上述技术问题,本发明提供一种在三维场景中飞行漫游的方法,包括:
在三维场景中,将用户输入的指令计算获得相机飞行的起始视点和终止视点;
根据所述起始视点和所述终止视点计算得到所述相机的飞行路线;
在所述三维场景中控制所述相机以所述飞行路线进行飞行漫游;
其中,所述起始视点包括所述相机在起始点的位置和姿态,所述终止视点包括所述相机在终止点的位置和姿态。
优选地,所述相机的姿态具体包括所述相机的视线的方位角、俯仰角和视焦距。
优选地,所述根据所述起始视点和所述终止视点计算得到所述相机的飞行路线具体通过以下公式计算得到:
其中,所述VPi为飞行过程中的视点,所述VPstart为所述起始视点,所述VPend为所述终止视点,所述t为飞行经过的时间,所述T为飞行所需时间,所述|VPstartVPend|为所述相机在所述起始视点和所述终止视点的位置之间的直线距离,所述为所述相机在所述起始视点和所述终止视点的位置之间的高度之差,所述Di为所述VPi对应的所述视焦距。
优选地,所述根据所述起始视点和所述终止视点计算得到所述相机的飞行路线具体通过以下公式计算得到:
VPi=(VPend-VPstart)·t(0≤t≤T)
其中,所述VPi为飞行过程中的视点,所述VPstart为所述起始视点,所述VPend为所述终止视点,所述t为飞行经过的时间,所述T为飞行所需时间。
优选地,所述指令具体包括所述相机在所述起始点的姿态、在所述终止点的姿态、在所述起始点的焦点位置和在所述终止点的焦点位置;
则对应的,所述根据用户输入的指令计算获得相机飞行的起始视点和终止视点具体包括:
根据所述用户输入的指令,计算得到所述相机在所述起始点的位置和在所述终止点的位置;
以所述相机在所述起始点的位置和姿态作为所述相机的起始视点,以所述相机在所述终止点的位置和姿态作为所述相机的终止视点。
优选地,所述指令具体包括所述相机在所述起始点的位置、在所述终止点的位置、在所述起始点的焦点位置、在所述终止点的焦点位置;
则对应的,所述根据用户输入的指令计算获得相机飞行的起始视点和终止视点具体包括:
根据所述用户输入的指令,计算得到所述相机在所述起始点的姿态和在所述终止点的姿态;
以所述相机在所述起始点的位置和姿态作为所述相机的起始视点,以所述相机在所述终止点的位置和姿态作为所述相机的终止视点。
本发明所提供的在三维场景中飞行漫游的方法,在用户浏览三维场景时,先根据用户输入的指令计算获得相机飞行的起始视点和终止视点,再根据起始视点和终止视点计算得到相机的飞行路线;最后根据飞行路线控制相机在三维场景中进行飞行漫游;其中,起始视点包括相机在起始点的位置和姿态,终止视点包括相机在终止点的位置和姿态。由于相机的视点包括相机的位置和姿态,所以通过计算相机的起始视点和终止视点,就可以实现三维场景中飞行漫游时的准确定位。而由相机的起始视点和终止视点计算得到的飞行路线,考虑到了相机飞行过程中要经过的位置和姿态,并且还可以根据相机飞行过程中要经过的位置和观察角度设置飞行速度等参数,可以提供多样的飞行姿态,因此可以使用户在浏览三维场景时得到较好的飞行体验感。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种在三维场景中飞行漫游的方法的流程图;
图2为本发明实施例提供的一种椭球面三维场景中的坐标系示意图;
图3为本发明实施例提供的一种平面三维场景中的坐标系示意图;
图4为本发明实施例提供的一种步骤S10对应的流程图;
图5为本发明实施例提供的另一种步骤S10对应的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的核心是提供一种在三维场景中飞行漫游的方法,用于实现三维场景中飞行漫游时的准确定位,提升用户的飞行体验感。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
图1为本发明实施例提供的一种在三维场景中飞行漫游的方法的流程图。如图1所示,在三维场景中飞行漫游的方法包括:
S10:在三维场景中,将用户输入的指令计算获得相机飞行的起始视点和终止视点。
S11:根据起始视点和终止视点计算得到相机的飞行路线。
S12:在三维场景中控制相机以飞行路线进行飞行漫游。
其中,起始视点包括相机在起始点的位置和姿态,终止视点包括相机在终止点的位置和姿态。
在具体实施中,三维场景可以是平面三维场景,也可以是球面三维场景,还可以是椭球面三维场景。
对于步骤S10来说,用户输入的指令需包括相机在起始点的焦点位置和在终止点的焦点位置,此外,用户可以自行设置飞行所需时间,或者使用系统推荐的飞行所需时间(如预设相机飞行速度,根据起始点和终止点之间的直线距离得到飞行所需时间)。用户可以通过在三维场景中直接选点或者输入起始点的焦点的坐标值和终止点的焦点的坐标值来确定相机在起始点的焦点位置和在终止点的焦点位置。其中,焦点为相机视线与三维场景相交且离相机最近的点,而视点是对相机的位置和姿态的描述。
可以理解的是,为了获得相机的起始视点和终止视点,除了相机在起始点的焦点位置和在终止点的焦点位置,还需要相机在起始点和终止点的位置或姿态中至少一项,这样就可以通过视点的正算或者反算得到相机的起始视点和终止视点,从而计算得到相机的飞行路线。
图2为本发明实施例提供的一种椭球面三维场景中的坐标系示意图。图3为本发明实施例提供的一种平面三维场景中的坐标系示意图。如图2所示,在椭球面三维场景中,可以规定三个坐标系来表示三维场景中的物体。
全局坐标系:以椭球心O为原点,以经过O点指向北极的射线为Z轴,以经过椭球短轴的射线为X轴,以经过椭球长轴的射线为Y轴,指向东为正。
站心坐标系:以焦点F点为原点,以F点所在空间点位的法线为z轴,以地平面上以F点所在子午线为x轴,y轴与x轴、z轴正交,指向东为正。
相机局部坐标系:以相机所在位置C点为原点,以经过C点沿相机视线方向的射线为L轴,以经过C点垂直于相机视线向上的射线为U轴,以经过C点并与L轴、U轴正交的相机右方向为R轴。
同理,如图3所示,也可以用全局坐标系、站心坐标系和相机局部坐标系三个坐标系来表示在平面三维场景中物体的位置。不同于椭球面坐标系的是,在平面三维场景中,站心坐标系的三轴指向分别与全局坐标系平行。其余定义与椭球面三维场景相同。
同理,还可以用全局坐标系、站心坐标系和相机局部坐标系三个坐标系来表示在球面三维场景中物体的位置,这里暂不赘述。
在上述椭球面三维场景中,用户可以在三维场景中选择相机飞行的起始点和终止点,也可以输入相机飞行的起始点和终止点的全局坐标,而后设置相机的位置或姿态中至少一项,或者使用系统默认值(如相机始终在焦点正上方进行观察),通过在上述三个坐标系中进行坐标转换已获得相机的起始视点和终止视点。
对于步骤S11来说,由于在步骤S10中获得的起始视点和终止视点分别描述了相机在起始点和终止点的位置和姿态,可以以起始视点和终止视点的参数为自变量,代入飞行公式,从而获得不同的飞行路线。飞行路线总得来说可以分为线性飞行路线和非线性飞行路线。线性飞行路线在单位时间内,视点各分量的变换大小相同。而非线性飞行路线则是对单位时间进行非线性处理,是视点各分量的变换在单位时间内不相同。
对于步骤S12来说,按照步骤S10和步骤S11中设置或者预设的参数即可控制相机飞行。
本发明实施例提供的在三维场景中飞行漫游的方法,在用户浏览三维场景时,先根据用户输入的指令计算获得相机飞行的起始视点和终止视点,再根据起始视点和终止视点计算得到相机的飞行路线;最后根据飞行路线控制相机在三维场景中进行飞行漫游;其中,起始视点包括相机在起始点的位置和姿态,终止视点包括相机在终止点的位置和姿态。由于相机的视点包括相机的位置和姿态,所以通过计算相机的起始视点和终止视点,就可以实现三维场景中飞行漫游时的准确定位。而由相机的起始视点和终止视点计算得到的飞行路线,考虑到了相机飞行过程中要经过的位置和姿态,并且还可以根据相机飞行过程中要经过的位置和观察角度设置飞行速度等参数,可以提供多样的飞行姿态,因此可以使用户在浏览三维场景时得到较好的飞行体验感。
在上述实施例的基础上,作为优选的实施方式,相机的姿态具体包括相机的视线的方位角、俯仰角和视焦距。
需要说明的是,方位角为相机以站心坐标系的x轴方向为标准方向,顺时针旋转到以相机的视线在站心坐标系的xFy平面投影方向所转过的角度,取值范围为[0°,360°];俯仰角为以站心坐标系的xFy平面为基准面,相机的视线与基准面的夹角的角度,取值范围为[-90°,+90°];视焦距为相机的位置到焦点的位置的距离。
本发明实施例提供的在三维场景中飞行漫游的方法,使用相机的视线的方位角、俯仰角和视焦距来描述相机的姿态,可以实现准确描述相机姿态,从而得到准确的起始视点和终止视点,便于计算得到相机的飞行路线。
在上述实施例的基础上,作为优选的实施方式,根据起始视点和终止视点计算得到相机的飞行路线具体通过以下公式计算得到:
其中,VPi为飞行过程中的视点,VPstart为起始视点,VPend为终止视点,t为飞行经过的时间,T为飞行所需时间,|VPstartVPend|为相机在起始视点和终止视点的位置之间的直线距离,为相机在起始视点和终止视点的位置之间的高度之差,Di为VPi对应的视焦距。
为了提升用户的体验,本发明实施例提供一组非线性飞行路线的公式,该路线在单位时间中,视点各分量移动大小不同,表现效果为在飞行起始阶段移动缓慢,随后移动逐渐加快,在飞行中间阶段移动速度达到最大,随后逐渐减速,直至到终止视点位置。在飞行的过程中对视焦距D同样施加影响,从而使飞行过程中的效果更加理想。
可以理解的是,除了上述公式,还有其他的公式可以表示非线性飞行路线,这里暂不赘述。
本发明实施例提供的在三维场景中飞行漫游的方法,提供了一组非线性飞行路线的公式,表现为在飞行起始阶段移动缓慢,随后移动逐渐加快,在飞行中间阶段移动速度达到最大,随后逐渐减速,直至到终止视点位置,并在飞行的过程中对视焦距D同样施加影响,这样可以在相机飞行过程中表现多种多样的姿态,以达到真实的体验效果,从而提升了用户体验。
在上述实施例的基础上,作为可选的实施方式,根据起始视点和终止视点计算得到相机的飞行路线具体通过以下公式计算得到:
VPi=(VPend-VPstart)·t(0≤t≤T)
其中,VPi为飞行过程中的视点,VPstart为起始视点,VPend为终止视点,t为飞行经过的时间,T为飞行所需时间。
可以理解的是,除了非线性飞行路线,还可以采用线性飞行路线进行飞行漫游。如在起始点和终止点之间距离较近或者用户希望观看飞行路线沿途的内容时,可以采用线性飞行路线进行飞行漫游。
在具体实施中,在单位时间里,相机视点各分量移动大小都相同。
本发明实施例提供的在三维场景中飞行漫游的方法,补充了飞行漫游的方式还包括线性飞行路线,丰富了漫游方式,适用于不同的应用场景。
图4为本发明实施例提供的一种步骤S10对应的流程图。如图5所示,在上述实施例的基础上,作为优选地实施方式,指令具体包括相机在起始点的姿态、在终止点的姿态、在起始点的焦点位置和在终止点的焦点位置;
则对应的,步骤S10具体包括:
S40:根据用户输入的指令,计算得到相机在起始点的位置和在终止点的位置。
S41:以相机在起始点的位置和姿态作为相机的起始视点,以相机在终止点的位置和姿态作为相机的终止视点。
在具体实施中,相机的姿态可以由用户自行设置,也可以使用系统默认值。可以记方位角为A,俯仰角为P,视焦距为D。在已知方位角A,俯仰角P,视焦距D和焦点F的坐标的前提下,可以计算出相机在站心坐标系中位置C(x,y,z)如下:
相机在全局坐标系下的坐标值C(X,Y,Z)按下式求解:
式中F(X0,Y0,Z0)为焦点在全局坐标系下的坐标,(B0,L0)为焦点在全局坐标系下的坐标的经纬度表达形式。
相机视线方向的计算方式:
相机上方向的计算方式如下:
上式中:
相机的右方向由相机上方向与相机实现方向的叉乘得到。
以上视点计算方法是在椭球面三维场景下进行的,在平面三维场景或者球面三维场景下计算视点的思路类似,这里不再赘述。
本发明实施例提供的在三维场景中飞行漫游的方法,提供了一种通过相机的姿态计算得到相机的位置从而得到相机的视点的方法,通过坐标变换由相机的姿态计算得到相机的位置,可以实现准确定位。
图5为本发明实施例提供的另一种步骤S10对应的流程图。如图4所示,在上述实施例的基础上,作为优选地实施方式,指令具体包括相机在起始点的位置、在终止点的位置、在起始点的焦点位置、在终止点的焦点位置;
则对应的,步骤S10具体包括:
S50:根据用户输入的指令,计算得到相机在起始点的姿态和在终止点的姿态。
S51:以相机在起始点的位置和姿态作为相机的起始视点,以相机在终止点的位置和姿态作为相机的终止视点。
在具体实施中,相机的位置可以由用户自行设置,也可以使用系统默认值。可以记方位角为A,俯仰角为P,视焦距为D。在已知相机在三维场景中的三维坐标C(X,Y,Z)和焦点F(X0,Y0,Z0),计算方位角、俯仰角以及视焦距。
首先要把相机在全局坐标系中的三维坐标转换到站心坐标系下的坐标值C(x,y,z):
式中(B0,L0)为焦点在全局坐标系下的坐标的经纬度表达形式。
在站心坐标下中方位角A、俯仰角P和视焦距D的计算方式如下:
以上视点计算方法是在椭球面三维场景下进行的,在平面三维场景或者球面三维场景下计算视点的思路类似,这里不再赘述。
本发明实施例提供的在三维场景中飞行漫游的方法,提供了一种通过相机的位置计算得到相机的姿态从而得到相机的视点的方法,通过坐标变换由相机的位置计算得到相机的姿态,可以实现准确定位。
以上对本发明所提供的在三维场景中飞行漫游的方法进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

Claims (6)

1.一种在三维场景中飞行漫游的方法,其特征在于,包括:
在三维场景中,将用户输入的指令计算获得相机飞行的起始视点和终止视点;其中,所述指令包括所述相机在所述起始视点的位置或姿态,还包括所述相机在所述终止视点的位置或姿态,还包括所述相机在起始点的焦点位置和所述相机在终止点的焦点位置;所述焦点为相机视线与所述三维场景相交且距离所述相机最近的点;所述起始视点包括所述相机在所述起始点的位置和姿态,所述终止视点包括所述相机在所述终止点的位置和姿态;
根据所述起始视点和所述终止视点计算得到所述相机的飞行路线;
在所述三维场景中控制所述相机以所述飞行路线进行飞行漫游。
2.根据权利要求1所述的方法,其特征在于,所述相机的姿态具体包括所述相机视线的方位角、俯仰角和视焦距;
所述视焦距为所述相机的位置与所述相机的焦点位置之间的距离。
3.根据权利要求2所述的方法,其特征在于,所述根据所述起始视点和所述终止视点计算得到所述相机的飞行路线具体通过以下公式计算得到:
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>&amp;Delta;</mi> <mi>V</mi> <mi>P</mi> <mo>=</mo> <msub> <mi>VP</mi> <mrow> <mi>e</mi> <mi>n</mi> <mi>d</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>VP</mi> <mrow> <mi>s</mi> <mi>t</mi> <mi>a</mi> <mi>r</mi> <mi>t</mi> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>VP</mi> <mi>i</mi> </msub> <mo>=</mo> <mfrac> <mrow> <mi>&amp;Delta;</mi> <mi>V</mi> <mi>P</mi> </mrow> <mn>2</mn> </mfrac> <mo>&amp;CenterDot;</mo> <mo>&amp;lsqb;</mo> <mi>sin</mi> <mrow> <mo>(</mo> <mi>&amp;pi;</mi> <mi>t</mi> <mo>-</mo> <mfrac> <mi>&amp;pi;</mi> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>,</mo> <mrow> <mo>(</mo> <mn>0</mn> <mo>&amp;le;</mo> <mi>t</mi> <mo>&amp;le;</mo> <mi>T</mi> <mo>)</mo> </mrow> </mrow>
<mrow> <mi>&amp;Delta;</mi> <mi>d</mi> <mo>=</mo> <mo>|</mo> <msub> <mi>VP</mi> <mrow> <mi>s</mi> <mi>t</mi> <mi>a</mi> <mi>r</mi> <mi>t</mi> </mrow> </msub> <msub> <mi>VP</mi> <mrow> <mi>e</mi> <mi>n</mi> <mi>d</mi> </mrow> </msub> <mo>|</mo> <mo>-</mo> <mo>|</mo> <msub> <mi>H</mi> <mrow> <msub> <mi>VP</mi> <mrow> <mi>s</mi> <mi>t</mi> <mi>a</mi> <mi>r</mi> <mi>t</mi> </mrow> </msub> </mrow> </msub> <mo>-</mo> <msub> <mi>H</mi> <mrow> <msub> <mi>VP</mi> <mrow> <mi>e</mi> <mi>n</mi> <mi>d</mi> </mrow> </msub> </mrow> </msub> <mo>|</mo> </mrow>
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>D</mi> <mi>i</mi> </msub> <mo>=</mo> <mfrac> <mrow> <mi>&amp;Delta;</mi> <mi>d</mi> </mrow> <mn>2</mn> </mfrac> <mo>&amp;CenterDot;</mo> <mo>&amp;lsqb;</mo> <mrow> <mi>sin</mi> <mrow> <mo>(</mo> <mrow> <mi>&amp;pi;</mi> <mi>t</mi> <mo>-</mo> <mfrac> <mi>&amp;pi;</mi> <mn>2</mn> </mfrac> </mrow> <mo>)</mo> </mrow> <mo>+</mo> <mn>1</mn> </mrow> <mo>&amp;rsqb;</mo> <mo>+</mo> <mi>&amp;Delta;</mi> <mi>d</mi> <mo>&amp;CenterDot;</mo> <mi>sin</mi> <mrow> <mo>(</mo> <mn>2</mn> <mi>&amp;pi;</mi> <mi>t</mi> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <mrow> <mi>&amp;Delta;</mi> <mi>d</mi> <mo>&gt;</mo> <mn>0</mn> </mrow> </mtd> <mtd> <mrow> <mn>0</mn> <mo>&amp;le;</mo> <mi>t</mi> <mo>&amp;le;</mo> <mi>T</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>D</mi> <mi>i</mi> </msub> <mo>=</mo> <mfrac> <mrow> <mi>&amp;Delta;</mi> <mi>d</mi> </mrow> <mn>2</mn> </mfrac> <mo>&amp;CenterDot;</mo> <mrow> <mo>&amp;lsqb;</mo> <mrow> <mi>sin</mi> <mrow> <mo>(</mo> <mrow> <mi>&amp;pi;</mi> <mi>t</mi> <mo>-</mo> <mfrac> <mi>&amp;pi;</mi> <mn>2</mn> </mfrac> </mrow> <mo>)</mo> </mrow> <mo>+</mo> <mn>1</mn> </mrow> <mo>&amp;rsqb;</mo> </mrow> </mrow> </mtd> <mtd> <mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <mrow> <mi>&amp;Delta;</mi> <mi>d</mi> <mo>&amp;le;</mo> <mn>0</mn> </mrow> </mtd> <mtd> <mrow> <mn>0</mn> <mo>&amp;le;</mo> <mi>t</mi> <mo>&amp;le;</mo> <mi>T</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> </mtd> </mtr> </mtable> </mfenced>
其中,所述VPi为飞行过程中的视点,所述VPstart为所述起始视点,所述VPend为所述终止视点,所述t为飞行经过的时间,所述T为飞行所需时间,所述|VPstartVPend|为所述相机在所述起始视点和所述终止视点的位置之间的直线距离,所述为所述相机在所述起始视点和所述终止视点的位置之间的高度之差,所述Di为所述VPi对应的所述视焦距。
4.根据权利要求2所述的方法,其特征在于,所述根据所述起始视点和所述终止视点计算得到所述相机的飞行路线具体通过以下公式计算得到:
VPi=(VPend-VPstart)·t (0≤t≤T)
其中,所述VPi为飞行过程中的视点,所述VPstart为所述起始视点,所述VPend为所述终止视点,所述t为飞行经过的时间,所述T为飞行所需时间。
5.根据权利要求2所述的方法,其特征在于,所述指令具体包括所述相机在所述起始点的姿态、在所述终止点的姿态、在所述起始点的焦点位置和在所述终止点的焦点位置;
则对应的,所述根据用户输入的指令计算获得相机飞行的起始视点和终止视点具体包括:
根据所述用户输入的指令,计算得到所述相机在所述起始点的位置和在所述终止点的位置;
以所述相机在所述起始点的位置和姿态作为所述相机的起始视点,以所述相机在所述终止点的位置和姿态作为所述相机的终止视点。
6.根据权利要求2所述的方法,其特征在于,所述指令具体包括所述相机在所述起始点的位置、在所述终止点的位置、在所述起始点的焦点位置、在所述终止点的焦点位置;
则对应的,所述根据用户输入的指令计算获得相机飞行的起始视点和终止视点具体包括:
根据所述用户输入的指令,计算得到所述相机在所述起始点的姿态和在所述终止点的姿态;
以所述相机在所述起始点的位置和姿态作为所述相机的起始视点,以所述相机在所述终止点的位置和姿态作为所述相机的终止视点。
CN201711070753.XA 2017-11-03 2017-11-03 一种在三维场景中飞行漫游的方法 Active CN107767463B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711070753.XA CN107767463B (zh) 2017-11-03 2017-11-03 一种在三维场景中飞行漫游的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711070753.XA CN107767463B (zh) 2017-11-03 2017-11-03 一种在三维场景中飞行漫游的方法

Publications (2)

Publication Number Publication Date
CN107767463A true CN107767463A (zh) 2018-03-06
CN107767463B CN107767463B (zh) 2021-11-09

Family

ID=61273325

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711070753.XA Active CN107767463B (zh) 2017-11-03 2017-11-03 一种在三维场景中飞行漫游的方法

Country Status (1)

Country Link
CN (1) CN107767463B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101877140A (zh) * 2009-12-18 2010-11-03 北京邮电大学 一种基于全景图的全景虚拟游方法
CN102542868A (zh) * 2012-01-09 2012-07-04 中国人民解放军空军军训器材研究所 视景模拟方法及装置
CN103034755A (zh) * 2012-11-29 2013-04-10 北京科东电力控制系统有限责任公司 基于虚拟现实技术的变电站可视化巡检方法
CN103456053A (zh) * 2013-09-06 2013-12-18 北华航天工业学院 高校网络指纹考勤系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101877140A (zh) * 2009-12-18 2010-11-03 北京邮电大学 一种基于全景图的全景虚拟游方法
CN102542868A (zh) * 2012-01-09 2012-07-04 中国人民解放军空军军训器材研究所 视景模拟方法及装置
CN103034755A (zh) * 2012-11-29 2013-04-10 北京科东电力控制系统有限责任公司 基于虚拟现实技术的变电站可视化巡检方法
CN103456053A (zh) * 2013-09-06 2013-12-18 北华航天工业学院 高校网络指纹考勤系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XIANG QUE ET AL.: "Realistic 3D Terrain Roaming and Real-Time Flight Simulation", 《3D RESEARCH》 *

Also Published As

Publication number Publication date
CN107767463B (zh) 2021-11-09

Similar Documents

Publication Publication Date Title
EP3516339B1 (en) Linear visualization of driving route
JP7258078B2 (ja) 実景ナビゲーションアイコン表示方法、装置、機器及び媒体
CN103591951B (zh) 一种室内导航系统及方法
CN105300392B (zh) 用于在街景地图中显示规划路径的方法、装置和系统
CN107807659A (zh) 一种无人机飞行控制方法及装置
CN107167131A (zh) 一种微惯性测量信息的深度融合与实时补偿的方法及系统
CN110162090A (zh) 一种基于 gis 数据的无人机航线规划系统和方法
CN104215242A (zh) 一种基于横向游移坐标系的极区惯性导航方法
AU2010227081B1 (en) Techniques for drawing geodetic polygons
CN104776855B (zh) 一种交叉路口的导航方法和装置
CN105136160A (zh) 一种基于移动终端和增强现实技术的近距离最优公交站点导航方法
CN104949673B (zh) 一种基于非视觉感知信息的目标定位方法及装置
CN106370178A (zh) 移动终端设备的姿态测量方法及装置
US20170046875A1 (en) Systems and Methods to Transition Between Viewpoints in a Three-Dimensional Environment
CN105095314A (zh) 一种兴趣点的标注方法、终端、导航服务器及导航系统
CN110111421A (zh) 一种移动测绘点云的方法及装置
CN109489654A (zh) 导航路线的呈现方法、装置、设备及存储介质
TWI386628B (zh) Points of interest to search the scope of the planning method
CN105427371B (zh) 一种三维透视投影场景中保持图形对象等像素面积显示的方法
CN107767463A (zh) 一种在三维场景中飞行漫游的方法
WO2005073923A1 (en) Dynamic mapping tool background
JP7375149B2 (ja) 測位方法、測位装置、ビジュアルマップの生成方法およびその装置
KR20220098090A (ko) 도로 안내 방법, 장치, 전자기기 및 저장매체
CN104994307B (zh) 一种图像校正方法和装置
CN105804472B (zh) 一种杆塔位置的定位方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant