一种3D场景的展示方法及用于3D场景展示的电子设备与流程

文档序号:14992120发布日期:2018-07-20 22:28阅读:206来源:国知局

本发明涉及显示技术领域,具体的说,涉及一种3d场景的展示方法及用于3d场景展示的电子设备。



背景技术:

3d场景是一种运用数码相机对现有场景进行多角度环视拍摄然后进行后期缝合构建3d模型,或直接通过3d模型构建软件来构建3d模型,之后通过对该模型进行展示的来完成的一种三维虚拟展示技术。3d场景在浏览中可以由观赏者对图像进行放大、缩小、移动、多角度观看等操作。经过深入的编程,可实现场景中的热点链接、多场景之间虚拟漫游、雷达方位导航等功能。3d场景技术广泛应用于诸多领域网络虚拟展示。

发明人在实现本发明的过程中发现,目前仅可以通过旋转、平移、缩放、行走和飞行等这些基本操作对3d场景进行浏览,浏览过程中总是瞬间从出发点到达目标点,人眼观感差,无法实现更加流畅、真实感更强的3d场景的缓动漫游展示。



技术实现要素:

本发明的目的在于提供一种3d场景的展示方法及用于3d场景展示的电子设备,以解决现有的3d展示效果不流畅、真实感不强技术问题。

第一方面,本发明实施例提供了一种3d场景的展示方法,该展示方法包括:

获取待3d展示的场景;

获取输入的所述场景内待3d展示的路径的第一端点和第二端点;

从所述第一端点出发;

沿着所述路径进行变速展示,直至到达所述第二端点。

优选的,获取输入的所述场景内待3d展示的路径的第一端点和第二端点包括:

获取所述第一端点对应的第一坐标值;

获取所述第二端点对应的第二坐标值。

优选的,该3d场景的展示方法还包括:获取预设置的变速系数。

优选的,获取输入的所述场景内待3d展示的路径的第一端点和第二端点之后,还包括:

获取所述第一端点对应的初始展示速度。

优选的,沿着所述路径进行变速展示,直至到达所述第二端点包括:

获取当前位置及其对应的当前坐标值;

判断所述当前坐标值是否与所述第二端点的坐标值相等;

若不相等,则计算所述第二端点与所述当前坐标值中的各坐标值的差值;

获取当前速度;

基于所述变速系数、各坐标值的差值和当前速度,计算下一点的位置。

优选的,所述变速系数与所述初始展示速度的乘积大于0、小于1。

优选的,在沿着所述路径进行变速展示,直至到达所述第二端点之前,还包括:

获取变速展示的指令。

进一步的,从所述第一端点出发时,所述当前速度为所述初始展示速度。

优选的,所述路径为连接所述第一端点和所述第二端点的线段。

本发明提供了一种3d场景的展示方法,该3d场景的展示方法可根据用户的实际需要,进行相应的变速展示,使得展示效果更流畅,更符合人眼的真实的观察情况,能够提供给用户更好的真实感。

本发明实施例第二方面提供了一种用于3d场景展示的电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的3d场景的展示方法。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚的说明本发明实施例中的技术方案,下面将对实施例描述中所需要的附图做简单的介绍:

图1是本发明提供的3d场景的展示方法的流程示意图一;

图2是本发明提供的3d场景的展示方法的流程示意图二;

图3是本发明提供的用于3d场景展示的电子设备的结构示意图。

具体实施方式

以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。

本发明的目的在于提供一种3d场景的展示方法及用于3d场景展示的电子设备,通过对3d场景进行变速展示的方法,来解决现有的3d展示的效果不流畅、真实感不强技术问题。

第一方面,本发明实施例提供了一种3d场景的展示方法,如图1由上至下所示,该展示方法包括:

步骤s1、获取待3d展示的场景。

该待3d展示的场景主要是已经预先存储在电子设备中的3d模型。其中,3d模型的构建主要有三种:第一种为通过软件,由操作人员人工来绘制、构建3d模型:此种方式要求操作人员要具有丰富的专业知识,并能熟练使用建模软件,而且操作复杂、周期较长、成本较高,而最终构件的3d模型真实感不强、效果不够理想。

第二种为通过三维扫描仪构建3d模型:此种方式需要价格昂贵的三维扫描仪等硬件设备。并且,三维扫描仪现今只能获得物体的位置信息,对于物体表面的纹理特征多数仍然需要辅助大量的手工工作才能完成。整个过程成本高,周期长。

最后一种是目前最具有普适性的基于图像构建3d模型:此种方式只需要提供一组物体不同角度的序列照片,在具有运算能力的电子设备(例如计算机)的辅助下,即可自动生成所需要的3d模型。这种方法不仅具有操作简单、自动化程度高、成本低、周期较短等优点,并且最终呈现出来的场景的真实感强,效果较为理想。

显然,无论是通过哪种方法构建的3d模型或者3d场景,只要是有展示的需要、可用于3d展示的场景都可以用作本发明的场景,通过本发明提供的方法进行展示。

在获取到待展示的3d场景之后,用于展示的电子设备需要了解或者获取该沿着什么路径进行展示,因此:

步骤s2、获取输入的场景内待3d展示的路径的第一端点和第二端点。

由于待展示的场景为3d场景,因此,其中的任何一点都具有x轴、y轴和z轴的坐标,显然,任何一点都可以以(x,y,z)的形式表现出来。例如,对于该待3d展示的路径来说,需要分别获取该路径的第一端点(起始点)的坐标值和第二端点(终点)的坐标值。

在本发明实施例中,为了便于区分,以下将第一端点对应的坐标值称为第一坐标值,具体地,该第一坐标值可以表示为s(xs,ys,zs);相应地,可将第二端点对应的坐标值称为第二坐标值,则具体地,该第二坐标值可以表示为r(xr,yr,zr)。

由于在本发明实施例中,获取到待3d展示的路径的第一端点和第二端点相应的坐标值之后,需要从第一端点出发,以非匀速或者是变速的方式沿着路径进行展示,最终到达第二端点。因此,除了获取第一端点和第二端点相应的坐标值之外,还需要获取出发的初始速度,也就是第一端点对应的展示速度,此时可称为初始展示速度。

在本发明实施例中,对初始展示速度可表示为speed0。

步骤s3、从第一端点出发。

在获取到第一端点的坐标值和位于第一端点时的展示速度,即初始展示速度之后,即可沿着以第一端点为起始点、第二端点为终点的预设路径出发,并于途中进行场景的展示。

优选的,在本发明实施例中,该起始点为第一端点、终点为第二端点的路径可以为连接第一端点和第二端点的这么一段直线段。这是因为无论是怎么样的路径线条,归根究底都是由一个个点组成、由点和点之间的直线段组成。因此,在本发明实施例中,可以基于用户的需求,选取多段直线段,最终组合成用户需要看到的、即电子设备需要进行展示的各式各样的路径,从最基本着手,实现用户的多种多样的展示需求。

由于当前的展示技术大多是从一点瞬间转移到另一点,即从对一物的展示瞬间切换到对下一物的展示。而对于人来说,人的眼睛的焦距从一物移动到另一物时,通常是有过渡的直线移动,即人不仅能看到起始点的场景和终点处的场景,还可以看到连接起始点和终点的路径上的场景,并且过度的速度可由人随意改变,而不是瞬间地从一物切换为另一物,因此现有的展示技术不符合人本身的生理情况。用现有技术进行展示时,会使得观看者产生观看不连贯的不适感,降低用户眼睛的观感体验。

基于此原因,本发明实施例提出了通过变速的方式,沿着路径进行展示,不见展示起始点和终点的场景,还变速地展示路径上的场景,来提高用户的观看感受,更让用户有身临其境的观感体验。

因此,在从第一端点、以初始展示速度出发后,有以下步骤:

步骤s4、沿着路径进行变速展示,直至到达第二端点。

若要实现使得系统以变速的方式沿着路经,对沿路的场景进行展示,可以有多种方式。

例如,可以设定一个加速度a,当该加速度a为正值的时候,系统沿着该需要展示的路径进行加速展示,展示速度越来越快,最终到达第二端点,此时到达第二端点的速度显然是大于初始展示速度speed0的;相应的,当该加速度为负值的时候,系统沿着该需要展示的路径进行减速展示,展示速度越来越慢,最终到达第二端点,此时到达第二端点的速度的大小显然是小于初始展示速度speed0的。

但应注意的是,若需要进行减速展示,需要预设置最低展示速度,当在展示途中,即未到达减少到第二端点时,展示速度已经接近该最低展示速度或者已经位于该最低展示速度一定范围内时,则保持此时的速度向第二端点进行展示,不再进行减速展示处理。

又例如,可以在设定了初始展示速度speed0的基础上,设定展示到第二端点的到达速度speed1,同时还需设定展示时长。则系统可基于初始展示速度speed0、到达速度speed1以及展示时长,计算出每一单位时间内(例如秒)需要增加或者减少的速度,并基于计算的结果,来相应提取沿途的场景,并向用户进行效果的呈现。

为了使得用户观察到的图像画面的连贯性高、更符合人眼观察到的真实效果,本发明实施例采用通过变速系数来进行变速的方式来处理,即下一瞬间的速度是基于当前速度以及变速系数确定出来的,每一瞬间都基于前一瞬间的速度进行推算,直至展示到第二端点对应的场景。以下将进行具体说明。

需要说明的是,变速系数的获取可在任意时刻进行,可以在获取待3d展示的场景时获取,可以在获取第一端点和第二端点的同时获取,可以在获取场景和获取第一端点、第二端点之间获取,可以在获取完毕场景、第一端点和第二端点之后获取,本发明实施例对此不进行限制,只要是在进行变速展示之前获取到变速系数即可。

另外,本发明实施例对变速系数的获取方式也不进行限制,可以是向用户跳出对话框的形式,来获取用户即刻输入的变速系数的数值,也可以是通过获取预先存储的变速系数的数值的方式实现。在此不再赘述。

具体的,如图2由上至下所示,步骤s4可包括:

步骤s41、获取当前位置及其对应的当前坐标值。

对于任意时刻,若要进行下一步的位置计算、速度计算,都需要首先定点,也就是确定并获取当前位置,以及该当前位置在整个场景内的坐标轴上所对应的坐标。

其中,该当前位置的坐标值可以设定为m(xm,ym,zm)。

显然,若此时当前位置的坐标值恰为第一端点的坐标值,也就是刚刚开始出发进行变速展示,则当前速度为初始展示速度speed0。

步骤s42、判断当前坐标值是否与第二端点的坐标值相等。

在确定当前位置以及所对应的坐标值之后,需要判断该当前位置的坐标值是否与第二端点的坐标值相等,即m(xm,ym,zm)中的各个数值是否与r(xr,yr,zr)中的各数值相等,即xm是否等于xr,ym是否等于yr,zm是否等于zr。若是这三组数值均相等,则显然此时已经对连接第一端点和第二端点的路径对应的场景展示完毕,无需再进行进一步的运算与展示,可以直接向用户提示变速展示已执行完毕,之后执行步骤s46。

而若不相等,则执行步骤s43:

步骤s43、计算第二端点与当前坐标值中的各坐标值的差值。

具体的,计算第二端点与当前坐标值中的各坐标值的差值,即计算△d(△x,△y,△z)的数值。其中,△x的值为(xr-xm);△y的值为(yr-ym);△z的值为(zr-zm)。

步骤s44、获取当前速度。

速度表示物体运动的快慢程度。速度是矢量,有大小和方向,速度的大小也称为速率。由于前文中有说到,本发明实施例中,待展示的路径为连接第一端点和第二端点的一段直线段。因此此时的速度的方向是恒定的,只需要获取速度的大小即速率就可以了。本发明实施例中,当前速度可表示为s。

获取当前速度后,有:

步骤s45、基于变速系数、各坐标值的差值和当前速度,计算下一点的位置。

其中,当前速度s的大小结合上变速系数k,再结合当前的位置以及各坐标值的差值,即可得到下一点的位置。

具体的,本发明实施例中,可通过上述参数计算得到下一点c的坐标为(xm+△x*s*k,ym+△y*s*k,zm+△y*s*k)。

在到达新的一点之后,重复执行步骤s41和步骤s42,直至在步骤s42中判断到当前坐标值已与第二端点的坐标值相等。

步骤s46、退出变速展示。

在步骤s42中判断到当前坐标值已与第二端点的坐标值相等之后,即可推出变速展示,等候用户的下一步操作。

在本发明实施例中,可通过设置合适的变速系数,来实现使得展示速度原来越慢的展示效果。具体的,为了达到这个效果,变速系数与初始展示速度的乘积可以设定为大于0、小于1。

需要说明的是,对于本发明实施例所提供的3d展示方法而言,并非仅可以进行变速展示,而是可以根据用户的实际需要来进行相应的展示。具体的,为在进行3d展示之前,需要检测用户是否有输入变速展示的指令,若是有,则获取该变速展示的指令并进行相应展示。若是没有,则按照普通的漫游方式进行匀速展示。这样,本系统可以给用户提供多种选择,更能适应用户的多种展示需求,提高本系统的适用范围。

另外,除非另外具体说明,否则在本发明实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。

显然,本发明实施例提供了一种3d场景的展示方法,该3d场景的展示方法可根据用户的实际需要,进行相应的变速展示,使得展示效果更流畅,更符合人眼的真实的观察情况,能够提供给用户更好的真实感。

本发明实施例第二方面提供了一种用于3d场景展示的电子设备,如图3所示,所述电子设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述存储器与所述处理器连接。所述处理器执行所述计算机程序时实现上述的3d展示方法。

其中,存储器用于存储计算机程序,所述处理器在接收到执行指令后,执行所述计算机程序,前述本发明实施例揭示的图1和图2定义的方法可以应用于处理器中,或者由处理器实现。

需要说明的是,本发明实施例中的存储器除了存储该可在所述处理器上运行的计算机程序之外,还需存储用于展示的3d模型或者3d场景。处理器在运行计算机程序时,基于内部所需展示的位置或者所需展示的点的坐标,到3d模型或者3d场景中提取相应的场景或者参数,之后通过计算,将所提取到的场景或者参数向用户展示出来。

其中,存储器可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。

本发明实施例中的处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

本发明实施例所提供的用于3d场景展示的电子设备,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,该用于3d场景展示的电子设备实施例部分未提及之处,可参考前述方法实施例中相应内容。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

需要说明的是,附图中的流程图和框图可以仅是显示了根据本发明的实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以仅代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。

也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

在本发明的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1