虚拟场景内的数据测量方法及装置与流程

文档序号:11229921阅读:458来源:国知局
虚拟场景内的数据测量方法及装置与流程

本发明涉及虚拟现实技术领域,特别涉及虚拟场景内的数据测量方法及装置。



背景技术:

虚拟现实技术是近年来出现的高新技术,它是利用电脑模拟,产生一个三维空间的虚拟世界,提供给使用者关于视觉、听觉、触觉等感官的模拟,让使用者如同身历其境一般,可以及时、没有限制地观察三维空间内的事物。随着虚拟现实技术的发展,虚拟现实技术已经涉及游戏、影视、直播、社交等多个领域,应用十分广泛。

目前,大型工厂的建设越来越多,这些大型工厂的建设基本上都是利用图纸模型进行数据的基本预测与计算的,直观效果较差。并且,在数据预测与计算出现误差的情况下,一旦工厂建成,投资人进行工厂查验,很可能出现查验不通过,需要对工厂进行调整改造的情况,从而会延误运营的时间。因此,为降低工厂建设中的潜在损失,将虚拟现实技术应用在工厂建设中,构建虚拟工厂,已经成为工厂建设的发展方向。但是,本申请的发明人发现,现有技术中仅能提供虚拟工厂模型,而无法在虚拟场景内实现数据测量,从而令虚拟现实技术在工厂建设中所起的作用十分有限。



技术实现要素:

本发明实施方式的目的在于提供一种虚拟场景内的数据测量方法及装置,使得用户可以在虚拟场景内实现数据测量,能够拓宽虚拟现实技术在工厂建设中所起的作用。

为解决上述技术问题,本发明的实施方式提供了一种虚拟场景内的数据测量方法,包括:

设置射线起始点,并依据射线起始点向朝向第一待测物体的方向发出第一射线,将第一射线与第一待测物体的接触点设置为point1;

根据当前所选定的测量功能,设置point2,并计算point1与point2之间的距离。

本发明的实施方式还提供了一种虚拟场景内的数据测量装置,包括:第一设置模块、第二设置模块以及计算模块;

第一设置模块用于设置射线起始点,并依据射线起始点向朝向第一待测物体的方向发出第一射线,将第一射线与第一待测物体的接触点设置为point1;

第二设置模块用于根据当前所选定的测量功能,设置point2;

计算模块用于计算point1与point2之间的距离。

本发明实施方式相对于现有技术而言,通过设置射线起始点,并依据该射线起始点向第一待测物体发射第一射线,从而能够确定出用于数据测量的第一个点(第一射线与第一待测物体的接触点point1)。并且,根据当前所选定的测量功能,设置point2,从而能够确定出用于数据测量的第二个点。这样,便可以通过计算point1与point2之间的距离的方式,实现高度测量、两点测量或间距测量等数据测量功能,有效地拓宽了虚拟现实技术在工厂建设中所起的作用。

另外,设置point2后,还包括:添加point1至point2的线段,并在线段的任意位置添加文本组件;其中,线段为渲染过的线段;计算point1与point2之间的距离后,还包括:将距离设置为文本组件的文本框内容。这样,用户能够较为直观的在虚拟场景内查看到数据测量所对应的线段,并能够根据文本框中的内容,直接了当的知晓数据测量的结果,用户体验较好。

另外,文本组件的显示方向与虚拟场景中摄像机所在的方向一致,从而能够将数据测量结果以用户视角展现给用户进行查看,进一步的提升了用户体验。

另外,文本组件至虚拟场景中摄像机的距离与文本组件的显示大小成正比,从而能够确保用户在远离文本组件的情况下,也能够看清文本框中的内容。

附图说明

图1是根据本发明第一实施方式中虚拟场景内的数据测量方法的流程图;

图2是根据本发明第二实施方式中虚拟场景内的数据测量方法的流程图;

图3是根据本发明第三实施方式中虚拟场景内的数据测量装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的第一实施方式涉及一种虚拟场景内的数据测量方法,具体流程如图1所示,步骤如下:

步骤101,设置射线起始点,并依据射线起始点向朝向第一待测物体的方向发出第一射线。

具体地说,虚拟场景可以为虚拟工厂,该虚拟工厂可以由技术人员预先根据工厂建设要求在计算机仿真系统中进行搭建。更具体地说,用户可以将手持控制器与计算机仿真系统通信连接,从而通过手持控制器输入信息,在虚拟场景内实现交互、控制等操作。本实施方式中,计算机仿真系统中在与手持控制器成功建立通信连接时,自动地将手持控制器加入到虚拟场景中,并为虚拟场景中的手持控制器设置位置点。并且,计算机仿真系统可以将手持控制器在虚拟场景中的位置点设置为射线起始点,从而能够令用户在虚拟场景中随时随地的进行数据测量,操作较为便捷。其中,第一待测物体可以由用户自行选定。

更具体地说,第一射线可以为渲染过的射线,从而令用户能够在虚拟场景中查看到计算机仿真系统的响应操作,用户体验较好。

步骤102,将第一射线与第一待测物体的接触点设置为point1。

具体地说,由于虚拟场景为三维模型,因此在计算机仿真系统将第一射线与第一待测物体的接触点设置为point1时,计算机仿真系统还可以根据虚拟场景的三维坐标系,获取point1的三维坐标(xp1,yp1,zp1)。

步骤103,根据当前所选定的测量功能,设置point2。

具体地说,测量功能与point2的设置方法可以由技术人员预先输入并保存至计算机仿真系统中。并且,计算机仿真系统在根据当前所选定的测量功能,设置point2时,还可以获取point2在三维坐标系内的三维坐标(xp2,yp2,zp2)。其中,测量功能可以为高度测量功能、两点测量功能或间距测量功能等,各测量功能所对应的point2的设置方法不同。

如,当前所选定的测量功能为高度测量功能,point2的设置方法可以为:将point1在地面上的投影设置为point2。

如,当前所选定的测量功能为两点测量功能,point2的设置方法可以为:计算机仿真系统提示用户通过手持控制器选定一个点,并将用户选定的点设置为point2。在实际操作时,当前所选定的测量功能为两点测量功能时,计算机仿真系统还可以创建数组,以便于同时进行多组数据测量。如,计算机仿真系统可以根据用户操作,生成点多个测量点:point1、point2、point3···point2n,其中,n为正整数。其中,第一条第一射线与第一个第一待测物体的接触点为point1,用户选定一个点作为point2;第二条第一射线与第二个第一待测物体的接触点为point3,用户再次选定一个点作为point4,以此类推,从而令计算机仿真系统通过计算point2n-1与point2n之间的距离的方式,同时获取多组数据。

如,当前所选定的测量功能为间距测量功能,point2的设置方法可以为:计算机仿真系统获取第二待测物体,并依据射线起始点向朝向第二待测物体的方向发出第二射线,将第二射线与第二待测物体的接触点设置为point2。其中,第二待测物体可以由用户自行选定。

在实际操作中,当所选定的测量功能为间距测量功能时,计算机仿真系统还可以在虚拟场景中提供辅助测量棒,以便于用户在虚拟场景内的数据测量。如,计算机仿真系统在检测到所选定的测量功能为间距测量功能时,可以将手持控制器以辅助测量棒的形式进行显示,并将辅助测量棒的一个顶端设置为射线起始点。这样,用户在虚拟场景中进行数据测量时,便可以将辅助测量棒的顶端放入第一待测物体与第二待测物体之间的间隙中,由辅助测量棒的顶端向朝向第一待测物体的方向发出第一射线,并向朝向第二待测物体的方向发出第二射线,以检测两边是否有物体,并自动生成point1和point2。其中,辅助测量棒的长度可以由技术人员预先设定并保存在计算机仿真系统中,如,辅助测量棒的长度可以为30厘米,50厘米或100厘米。

值得一提的是,如果用户想要测量虚拟场景中,自己当前所在位置与某一物体之间的间距,则用户可以利用手持控制器输入相应的操作,令计算机仿真系统将当前辅助测量棒的顶端所在位置设置为point1的位置或point2的位置。如,计算机仿真系统将当前辅助测量棒的顶端所在位置设置为point1时,就相当于第一待测物体的位置与手持控制器的位置重合,依据射线起始点向朝向第一待测物体的方向发出的第一射线长度为0。如,计算机仿真系统将当前辅助测量棒的顶端所在位置设置为point2时,就相当于第二待测物体的位置与手持控制器的位置重合,依据射线起始点向朝向第二待测物体的方向发出的第二射线长度为0。

步骤104,计算point1与point2之间的距离。

具体地说,由于point1与point2在三维坐标系中的三维坐标是已知的,因此计算机仿真系统可以通过公式计算获取point1与point2之间的距离。其中,d为三维坐标系中坐标点为(x1,y1,z1)与坐标点为(x2,y2,z2)之间的距离。

与现有技术相比,本实施方式中,通过设置射线起始点,并依据该射线起始点向第一待测物体发射第一射线,从而能够确定出用于数据测量的第一个点(第一射线与第一待测物体的接触点point1)。并且,根据当前所选定的测量功能,设置point2,从而能够确定出用于数据测量的第二个点。这样,便可以通过计算point1与point2之间的距离的方式,实现高度测量、两点测量或间距测量等数据测量功能,有效地拓宽了虚拟现实技术在工厂建设中所起的作用。

本发明的第二实施方式涉及一种虚拟场景内的数据测量方法,具体流程如图2所示。第二实施方式在第一实施方式的基础上加以改进,主要改进之处在于:在本发明第二实施方式中,还在虚拟场景中添加文本组件,令用户能够根据文本组件的文本框中的内容,直接了当的知晓数据测量的结果,有效地提升了用户体验。以下进行具体说明:

本实施方式中,步骤201至步骤203与第一实施方式中的步骤101至步骤103大致相同,步骤205与第一实施方式中的步骤104大致相同,为减少重复,在此不再赘述,以下仅对不同部分进行说明:

步骤204,添加point1至point2的线段,并在线段的任意位置添加文本组件。

具体地说,计算机仿真系统所添加的point1至point2的线段,为渲染过的线段,从而能够令用户较为直观的在虚拟场景中查看到当前数据测量的对象。

步骤206,将距离设置为文本组件的文本框内容。

具体地说,计算机仿真系统将计算获得的point1与point2之间的距离作为文本组件的文本框内容,以便于用户进行查看。并且,本实施方式中,文本组件的显示方向可以与虚拟场景中摄像机所在的方向一致,从而令计算机仿真系统能够将数据测量结果以用户视角展现给用户进行查看,进一步的提升了用户体验。

更具体地说,文本组件至虚拟场景中摄像机的距离还可以与文本组件的显示大小成正比,从而能够确保用户在远离文本组件的情况下,也能够看清文本框中的内容。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第三实施方式涉及一种虚拟场景内的数据测量装置,如图3所示,包括:第一设置模块301、第二设置模块302以及计算模块303。

本实施方式中,第一设置模块301用于设置射线起始点,并依据射线起始点向朝向第一待测物体的方向发出第一射线,将第一射线与第一待测物体的接触点设置为point1。

具体地说,虚拟场景可以为虚拟工厂,该虚拟工厂可以由技术人员预先根据工厂建设要求在计算机仿真系统中进行搭建。更具体地说,用户可以将手持控制器与计算机仿真系统通信连接,从而通过手持控制器输入信息,在虚拟场景内实现交互、控制等操作。本实施方式中,计算机仿真系统中在与手持控制器成功建立通信连接时,自动地将手持控制器加入到虚拟场景中,并为虚拟场景中的手持控制器设置位置点。并且,第一设置模块301可以将手持控制器在虚拟场景中的位置点设置为射线起始点,从而能够令用户在虚拟场景中随时随地的进行数据测量,操作较为便捷。其中,第一待测物体可以由用户自行选定。

更具体地说,由于虚拟场景为三维模型,因此在第一设置模块301将第一射线与第一待测物体的接触点设置为point1时,第一设置模块301还可以根据虚拟场景的三维坐标系,获取point1的三维坐标(xp1,yp1,zp1)。

本实施方式中,第二设置模块302用于根据当前所选定的测量功能,设置point2。

具体地说,测量功能与point2的设置方法可以由技术人员预先输入并保存至计算机仿真系统中。并且,第二设置模块302在根据当前所选定的测量功能,设置point2时,还可以获取point2在三维坐标系内的三维坐标(xp2,yp2,zp2)。其中,测量功能可以为高度测量功能、两点测量功能或间距测量功能等,各测量功能所对应的point2的设置方法不同。

如,当前所选定的测量功能为高度测量功能,point2的设置方法可以为:将point1在地面上的投影设置为point2。

如,当前所选定的测量功能为两点测量功能,point2的设置方法可以为:第二设置模块302提示用户通过手持控制器选定一个点,并将用户选定的点设置为point2。

如,当前所选定的测量功能为间距测量功能,point2的设置方法可以为:第二设置模块302获取第二待测物体,并依据射线起始点向朝向第二待测物体的方向发出第二射线,将第二射线与第二待测物体的接触点设置为point2。其中,第二待测物体可以由用户自行选定。

在实际操作中,当所选定的测量功能为间距测量功能时,第二设置模块302还可以在虚拟场景中提供辅助测量棒,以便于用户在虚拟场景内的数据测量。如,第二设置模块302可以将手持控制器以辅助测量棒的形式进行显示,并将辅助测量棒的一个顶端设置为射线起始点。这样,用户在虚拟场景中进行数据测量时,便可以将辅助测量棒的顶端放入第一待测物体与第二待测物体之间的间隙中,由辅助测量棒的顶端向朝向第一待测物体的方向发出第一射线,并向朝向第二待测物体的方向发出第二射线,以检测两边是否有物体,并自动生成point1和point2。

值得一提的是,如果用户想要测量虚拟场景中,自己当前所在位置与某一物体之间的间距,则用户可以利用手持控制器输入相应的操作,令第一设置模块301或第二设置模块302将当前辅助测量棒的顶端所在位置设置为point1的位置或point2的位置。如,第一设置模块301将当前辅助测量棒的顶端所在位置设置为point1时,就相当于第一待测物体的位置与手持控制器的位置重合,依据射线起始点向朝向第一待测物体的方向发出的第一射线长度为0。如,第二设置模块302将当前辅助测量棒的顶端所在位置设置为point2时,就相当于第二待测物体的位置与手持控制器的位置重合,依据射线起始点向朝向第二待测物体的方向发出的第二射线长度为0。

本实施方式中,计算模块303用于计算point1与point2之间的距离。

具体地说,由于point1与point2在三维坐标系中的三维坐标是已知的,因此计算模块303可以通过公式计算获取point1与point2之间的距离。其中,d为三维坐标系中坐标点为(x1,y1,z1)与坐标点为(x2,y2,z2)之间的距离。

不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

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