一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种三维模型的显示方法及设备与流程

2022-04-16 14:35:11 来源:中国专利 TAG:


1.本技术涉及虚拟现实(virtual reality,vr)技术领域,尤其涉及一种三维模型的显示方法及设备。


背景技术:

2.在实时远程三维通信系统中,由于要实时传输多路三维模型数据(包括几何数据和纹理数据),且每帧的三维模型数据不同,总的数据量巨大,增加了网络带宽的压力,从而导致显示终端在三维模型的动作帧率不足时,造成三维模型动作的卡顿。
3.为了解决模型动作卡顿的问题,相关技术生成了不同精度的三维模型,并进行了模型的分割,将各个低精度子模型的重建数据完整发送,以及将各个高精度子模型的数据独立传输,从而在现有网络带宽的条件下,尽可能多地传输高精度重建数据,保证模型精度的同时减少卡顿现象。
4.然而,采用上述方案时,显示终端需要将各个子模型进行拼接显示,相邻子模型之间会存在拼接缝隙,尤其精细程度不同的相邻子模型的缝隙更加明显,影响了模型的显示质量。


技术实现要素:

5.本技术实施例提供了一种三维模型的显示方法及设备,用以解决三维模型拼接处的缝隙,提高三维重建的显示质量。
6.第一方面,本技术实施例提供一种三维模型的显示方法,包括:
7.对三维模型的初始重建数据进行下采样,得到目标重建数据;
8.将所述三维模型对应的包围盒等分为各个长方体,分别确定每个长方体对应的第一顶点集合和第二顶点集合,所述第一顶点集合中的各个第一顶点为所述初始重建数据中的顶点,所述第二顶点集合中的各个第二顶点为所述目标重建数据中的顶点;
9.遍历所述初始重建数据中各个第一顶点生成的三角形面片的边,确定各个边与相应长方体共有面的第一交点,并针对每一个第一交点,将所述第一交点分别存入所述第一交点所在共有面的两个长方体对应的第一顶点集合中;
10.遍历所述目标重建数据中各个第二顶点生成的三角形面片的边,确定各个边与相应长方体共有面的第二交点,并针对每一个第二交点,将所述第二交点分别存入所述第二交点所在共有面的两个长方体对应的第二顶点集合中;
11.针对每一个长方体,根据所述长方体对应的第一顶点集合生成一个第一子模型,以及根据所述长方体对应的第二顶点集合生成一个第二子模型;
12.将各个第二子模型的目标重建数据以及各个目标子模型的初始重建数据发送给渲染终端,以使所述渲染终端根据各个初始重建数据,以及与所述各个目标子模型不同标识的第二子模型的目标重建数据,渲染所述三维模型并显示,所述目标子模型为视野内的子模型。
13.第二方面,本技术实施例提供一种采集终端,包括处理器、存储器和通信接口,所述存储器、所述通信接口与所述处理器通过总线连接;
14.所述存储器存储有计算机程序,所述处理器根据所述计算机程序执行以下操作:
15.对三维模型的初始重建数据进行下采样,得到目标重建数据;
16.将所述三维模型对应的包围盒等分为各个长方体,分别确定每个长方体对应的第一顶点集合和第二顶点集合,所述第一顶点集合中的各个第一顶点为所述初始重建数据中的顶点,所述第二顶点集合中的各个第二顶点为所述目标重建数据中的顶点;
17.遍历所述初始重建数据中各个第一顶点生成的三角形面片的边,确定各个边与相应长方体共有面的第一交点,并针对每一个第一交点,将所述第一交点分别存入所述第一交点所在共有面的两个长方体对应的第一顶点集合中;
18.遍历所述目标重建数据中各个第二顶点生成的三角形面片的边,确定各个边与相应长方体共有面的第二交点,并针对每一个第二交点,将所述第二交点分别存入所述第二交点所在共有面的两个长方体对应的第二顶点集合中;
19.针对每一个长方体,根据所述长方体对应的第一顶点集合生成一个第一子模型,以及根据所述长方体对应的第二顶点集合生成一个第二子模型;
20.通过所述通信接口,将各个第二子模型的目标重建数据以及各个目标子模型的初始重建数据发送给渲染终端,以使所述渲染终端根据各个初始重建数据,以及与所述各个目标子模型不同标识的第二子模型的目标重建数据,渲染所述三维模型并显示,所述目标子模型为视野内的子模型。
21.第三方面,本技术提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行本技术实施例提供的三维模型的显示方法。
22.本技术的上述实施例中,通过对初始重建数据进行下采样,得到低于初始重建数据精度的目标重建数据,基于三维模型的包围盒等分后的各个长方体,分别对两种不同精度的重建数据进行分割,得到每个长方体对应的不同精度的第一顶点集合和第二顶点集合;进一步地,分别遍历不同精度的重建数据中各个顶点生成的三角形面片的边,得到各个边与相应长方体共有面的交点,并将获得的各个交点分别存入两个共面长方体对应的第一顶点集合和第二顶点集合中,针对每个长方体对应的第一顶点集合和第二顶点集合,生成第一子模和第二子模型。由于两个共面长方体对应的第一顶点集合中第一交点的位置相同,因此,两个相邻的第一子模型在拼接处可以完重合,同理,由于两个共面长方体对应的第二顶点集合中第二交点的位置相同,两个相邻的第二子模型在拼接处可以完重合,从而解决了相同精度的子模型间的拼接缝隙。当渲染终端根据采集终端发送的各个第二子模型的目标重建数据以及各个目标子模型的初始重建数据渲染三维模型时,精度相同的子模型间不会存在拼接缝隙,使得拼接后的三维模型更加真实,提高三维重建的显示质量。
附图说明
23.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根
据这些附图获得其他的附图。
24.图1示例性示出了本技术实施例提供的三维模型的分割示意图;
25.图2示例性示出了本技术实施例提供的三维模型的拼接效果示意图;
26.图3示例性示出了本技术实施例提供的三维模型的显示方法流程图;
27.图4示例性示出了本技术实施例提供的三维模型与长方体的空间示意图;
28.图5示例性示出了本技术实施例提供的相同精度相邻子模型间缝隙的意图;
29.图6示例性示出了本技术实施例提供的解决相同精度的独立子模型示意图;
30.图7示例性示出了本技术实施例提供的不同精度子模型间的拼接缝隙原理图;
31.图8示例性示出了本技术实施例提供的另一三维模型的显示方法流程图;
32.图9示例性示出了本技术实施例提供的不同精度相邻子模型的切面示意图;
33.图10示例性示出了本技术实施例提供的解决不同精度相邻子模型间缝隙的意图;
34.图11示例性示出了本技术实施例提供的切面内生成三角形面片的示意图;
35.图12示例性示出了本技术实施例提供的切面内生成三角形面片的另一示意图;
36.图13示例性示出了本技术实施例提供的采集终端的结构示意图。
具体实施方式
37.近年来,随着vr技术的发展,三维重建逐渐成为三维显示领域中的热门研究内容。三维重建是指根据单视图或者多视图的图像重建三维信息的过程。
38.三维重建可以分为静态三维重建和动态三维重建。对于一些静态场景、物体,通过静态三维重建算法重建场景和物体的三维模型,然后渲染在三维场景中进行显示。对于一些动态的物体(比如:人),由于是动态变化的,往往需要建立一系列的三维模型,将这些三维模型按顺序进行渲染显示以描述物体的运动状态。
39.实时远程三维通信系统作为动态三维重建一个重要的应用场景,由采集终端基于采集的图像数据重建三维模型后,将三维重建数据通过云端传输给渲染终端进行渲染显示。其中,采集终端和渲染终端是相对用户而言的。例如,用户a对应一个显示终端1,用户b对应一个显示终端2,显示终端1对于用户a来说是采集终端,对于用户b来说则是渲染终端,同理,显示终端2对于用户b来说是采集终端,对于用户a来说则是渲染终端。
40.例如,在实时远程三维通信系统的虚拟社交场景中,不同用户端通过三维重建将各自的动态三维模型传输给其它用户端,其它用户端接收到这些数据后在本端进行渲染显示。相对于传统的语音或者视频通讯方式,该方式可以让处于异地的用户达到身临其境的社交体验。
41.在实时远程三维通信系统中,由于三维重建数据是动态生成的,且每帧数据都不同,这样,一个终端同时接收多路三维重建数据时,数据量巨大,往往需要几百兆的网络带宽,家用网络甚至是专线网络都难以满足实时性传输的要求。若通过降低重建模型的精度来减少数据量,则无法达到较好的显示效果。
42.在保证模型精度的同时减小网络带宽压力,可采用将三维模型进行分块并传输不同精度子模型数据的方法进行显示。该方法中,采集终端对原始三维模型的数据(包括几何数据和纹理数据)进行下采样以减少顶点数据、降低纹理分辨率,生成一份低精度的三维模型数据,并完整的传输给渲染终端以保证数据的完整性和模型动作帧率;然后,采集终端计
算出三维模型的包围盒并等分为若干长方体,按照各个长方体,将原始的高精度三维模型和下采样的低精度三维模型切割为若干子模型,如图1所示,确定三维模型(包括高精度三维模型和低精度三维模型)包含的所有顶点(在图1中用黑色原点表示)所属的长方体之后,对同一长方体内的顶点独立建立拓扑结构,生成一个独立的子模型;进一步地,根据各个子模型的优先级,陆续地将高精度子模型的数据传输给渲染终端。渲染终端在没有完成高精度子模型数据的下载时,使用同一标识的低精度子模型数据进行渲染,从而得到不同精度子模型拼接的三维模型并显示,如图2所示。由于低精度三维模型的数据量较小,且高精度数据分块传输,这样,既降低了网络带宽的压力,也保证了模型渲染的完整性。
43.然而,由于上述方法需要将不同精度的子模型进行拼接显示,相邻子模型之间会存在拼接缝隙,尤其精细程度不同的相邻子模型的缝隙更加明显,影响了模型的显示质量。
44.鉴于此,本技术实施例提供了一种三维模型的显示方法及设备,通过对初始重建数据进行下采样,得到低于初始重建数据精度的目标重建数据,针对不同精度的重建数据,分别进行子模型的分割,分割过程中,基于三维模型的包围盒等分后的各个长方体,获取两个相邻长方体共有面内的交点,并将交点分别存储至两个共面长方体对应的不同精度的顶点集合中,由于两个共面长方体对应的顶点集合中交点的位置相同,这样,基于顶点集合生成的相同精度的两个子模型在拼接处可以完全重合,解决了相同精度子模型间的拼接缝隙,从而提高了三维模型的显示质量。
45.同时,对于不同精度子模型之间的缝隙,本技术实施例通过不同精度子模型的切面内的交点,生成新的三角形面片以覆盖不同精度子模型之间的拼接缝隙。
46.下面以一帧三维模型的数据为例,图3示例性示出了本技术实施例提供的三维模型的显示方法流程图,该流程由采集终端执行,主要包括以下几步:
47.s301:对三维模型的初始重建数据进行下采样,得到目标重建数据。
48.在实时远程三维通信系统中,采集终端获取rgbd相机采集的目标对象的深度图像和彩色图像,由主机将深度图像转换为点云数据集,重建目标对象的几何模型,并根据深度图像与彩色图像之间的映射关系,从彩色图像提取纹理数据对几何模型进行贴图,得到目标对象的三维模型。
49.由于三维模型是基于采集的真实数据重建的,因此,三维模型的初始重建数据(包括几何数据和纹理数据)中,顶点的数量、纹理的分辨率等都是真实的,保证了三维模型的重建精度,可以将初始重建数据作为高精度重建数据。而高精度的重建数据对网络带宽的要求较高,在没有有效的压缩编码的方法时,现有网络难以做到实时传输,因此,为了满足远程三维通信实时性的要求,需要对初始重建数据进行下采样。
50.在一种可选的实施方式中,执行s301时,根据预设的采样系数,降低初始重建数据中三维模型的顶点数量,以及减小初始重建数据中纹理数据的分辨率,得到下采样后的目标重建数据,从而减少了网络传输的数据量,提高了传输速度,保证了模型动作的连贯性;并且,由于目标重建数据仅是对初始重建数据下采样后得到的,仅是降低了重建数据的精度,数据仍是完整性,保证了模型的完整性。
51.s302:将三维模型对应的包围盒等分为各个长方体,分别确定每个长方体对应的第一顶点集合和第二顶点集合。
52.在计算机图形学与计算几何领域,三维模型的包围盒就是将模型完全包容起来的
一个封闭空间。将复杂模型封装在简单的包围盒中,用简单的包围盒形状来近似代替复杂几何体的形状,可以提高几何运算的效率。
53.如图1所示,外层为三维模型对应的长方体包围盒,对生成的包围盒在x、y、z三个方向进行等分,得到若干个大小相同的长方体,每个长方体对应一个唯一的编号。本技术实施例对划分的长方体的数量不做限制性要求,可根据实际情况进行设置。
54.在本技术的实施例中,将三维模型对应的包围盒等分后,在执行s302时,获取初始重建数据对应的几何模型中的各个第一顶点,根据各个第一顶点的空间坐标,确定各个第一顶点所在的长方体,并根据各个第一顶点所在的长方体,对初始重建数据进行空间几何分割,将同一长方体内的多个第一顶点记为第一顶点集合;以及,获取目标重建数据对应的几何模型中的各个第二顶点,根据各个第二顶点的空间坐标,确定各个第二顶点所在的长方体,并根据各个第二顶点所在的长方体,对目标重建数据进行空间几何分割,将同一长方体内的多个第二顶点记为第二顶点集合。
55.通过上述空间几何分割过程,每个长方体分别对应一个第一顶点集合和一个第二顶点集合,也就是说,模型顶点的空间几何分割过程,就是按照长方体空间对两个模型的所有顶点进行分类划分。
56.如图4所示,为一个简单、完整的三维模型,该模型横跨两个用于分割的长方体,且这两个长方体相邻且共面。按照模型顶点的空间几何分割过程可知,通过两个长方体,可以将完整的三维模型分割为两个子模型。具体的,针对同一长方体内的各个第一顶点,重新建立第一顶点间的拓扑关系,得到一个高精度的子模型,以及针对同一长方体内的各个第二顶点,重新建立第二顶点间的拓扑关系,得到一个低精度的子模型。
57.以图4所示的三维模型为例,三维模型的分割示意图如图5所示,两个相邻的长方体的共有面将三维模型分割为两个独立的子模型。由图5可知,若直接根据分割后的第一顶点集合生成子模型,根据分割后的第二顶点集合生成子模型,这样,分割后两个相同精度的子模型的三角形面片不再连续,在两个子模型中间产生了一条拼接缝隙。
58.需要说明的是,初始重建数据和目标重建数据的分割过程是分开处理的,互不相干,可充分利用cpu的并行处理能力,处理速度较快。
59.在vr技术领域中,三维模型通常由三角面片表示,一个三角形面片由模型的三个顶点生成,一个三角形面片包含3条边。在本技术的实施例中,初始重建数据中第一顶点的数量要多于目标重建数据中第二顶点数量,因此,初始重建数据中各个第一顶点生成的三角形面片数量也多于目标重建数据中各个第二顶点生成的三角形面片数量。
60.s303:遍历初始重建数据中各个第一顶点生成的三角形面片的边,确定各个边与相应长方体共有面的第一交点,并针对每一个第一交点,将该第一交点分别存入该第一交点所在共有面的两个长方体对应的第一顶点集合中。
61.在执行s303时,初始重建数据中的各个第一顶点生成多个三角形面片,遍历由第一顶点生成的每个三角形面片的边,当遍历的边与相邻的两个长方体的共有面相交时,确定该边与共有面的交点(记为第一交点),并将第一交点的坐标分别存储至共有面的两个长方体对应的第一顶点集合中。
62.s304:遍历目标重建数据中各个第二顶点生成的三角形面片的边,确定各个边与相应长方体共有面的第二交点,并针对每一个第二交点,将该第二交点分别存入该第二交
点所在共有面的两个长方体对应的第二顶点集合中。
63.在执行s304时,目标重建数据中的各个第二顶点生成多个三角形面片,遍历由第二顶点生成的每个三角形面片的边,当遍历的边与相邻的两个长方体的共有面相交时,确定该边与共有面的交点(记为第一交点),并将第二交点的坐标分别存储至共有面的两个长方体对应的第二顶点集合中。
64.s305:针对每一个长方体,根据长方体对应的第一顶点集合生成一个第一子模型,以及根据所述长方体对应的第二顶点集合生成一个第二子模型。
65.在本技术的实施例中,针对每一个长方体,将至少一个第一交点的坐标存储至该长方体对应的第一顶点集合后,重现建立第一顶点集合内各个点之间的第一拓扑关系,并利用该第一拓扑关系,对初始重建数据进行纹理分割,得到该长方体对应的一个第一子模型。同理,针对每一个长方体,将至少一个第二交点的坐标存储至该长方体对应的第二顶点集合后,重现建立第二顶点集合内各个点之间的第二拓扑关系,并利用该第二拓扑关系,对目标重建数据进行纹理分割,得到该长方体对应的一个第二子模型。
66.由于初始重建数据和目标重建数据的分割过程一致,只不过分割后得到的子模型的精度不一致,因此,以初始重建数据为例,分割后两个独立的第一子模型如图6所示。
67.在本技术的实施例中,通过第一交点和第二交点更新相应的第一顶点集合和第二顶点集合后,由于共面且相邻的两个长方体各自对应的第一顶点集合中,包含至少一个位置相同的第一交点,因此,分割后的两个高精度的相邻的第一子模型在拼接处可以完重合,从而解决了高精度子模型间的拼接缝隙。同理,由于共面且相邻的两个长方体对应的第二顶点集合中,包含至少一个位置相同的第二交点,因此,分割后的两个低精度的相邻的第二子模型在拼接处可以完重合,从而解决了低精度子模型间的拼接缝隙。
68.s306:将各个第二子模型的目标重建数据,以及各个目标子模型的初始重建数据发送给渲染终端,以使渲染终端根据各个初始重建数据,以及与各个目标子模型不同标识的第二子模型的目标重建数据,渲染所述三维模型并显示。
69.在实时远程三维通信系统中,渲染终端向云服务器发送数据获取请求,由云服务器转发给采集终端,以使采集终端根据数据获取请求上传重建数据。由于第一子模型和第二子模型的空间大小相同、数量一致,仅在于精度不同,因此,它们的包围盒大小相同、数量一致。
70.在一种可选的实施方式中,采集终端将各个第二子模型的目标重建数据通过云服务器发送给渲染终端,渲染终端生成各个第二子模型的包围盒,并根据各个包围盒与渲染终端的视景体的空间关系,确定视景体内包含的各个目标子模型的标识,并对各个目标子模型的标识进行优先级的排序,将排序后的各个目标子模型的标识携带在数据获取请求中发送给采集终端。采集终端按照数据获取请求,按照排序后的各个目标子模型的标识,将同标识的第一子模型的初始重建数据依序、独立地发送给渲染终端。渲染终端根据各个目标子模型的初始重建数据,以及与各个目标子模型不同标识的第二子模型的目标重建数据,渲染不同精度的子模型拼接后的三维模型并显示。一方面,由于各个第二子模型的目标重建数据的精度较低,数据量较小,传输速度较快,且各个目标重建数据包含三维模型的完整数据,在渲染终端动作帧率不足时,保证了模型的完整性;另一方面,由于各个第一子模型的初始重建数据精度较高,数据量较大,为了降低数据的传输时延,并不是将各个第一子模
型的初始重建数据全部的发送给渲染终端,而是将视野内的各个目标子模型的初始重建数据依序、独立地发送给渲染终端,在现有网络带宽的条件下,可以传输更多目标子模型的初始重建数据,保证了视野内子模型的高精度,提高了模型的显示质量。
71.需要说明的是,当第一子模型的初始重建数据(包括视野外的子模型)一一发送完成后,相同标识的第二子模型的目标重建数据全部被替换,最终显示的是全部由第一子模型拼接后的高精度的三维模型。
72.需要说明的是,子模型的优先级顺序,可由采集终端根据三维模型的骨架内各个骨骼节点的预设优先级确定后发送给渲染终端的,还可以由渲染终端根据子模型在视景体内的位置设置的。
73.在本技术的实施例中,各个目标子模型与不同标识的第二子模型的数据组成一份完整的重建数据,其中,目标子模型的初始重建数据的精度,高于第二子模型的目标重建数据的精度,这样,渲染后的三维模型是由不同精度的子模型拼接成的一个完整三维模型,如图2所示。也就是说,两个相邻子模型的精度可能不同,这会导致拼接处的顶点数目不同,也即两个子模型拼接处顶点无法重合。由于两个子模型相互独立,所以就会产生一条缝隙,如图7所示,白色三角形代表两个相邻的不同精度的子模型间的拼接缝隙。
74.本技术实施例通过对不同精度的相邻子模型间的缝隙生成三角形面片,来解决不同精度的相邻子模型间的拼接缝隙,具体参见图8:
75.s3051:确定各个目标子模型在空间上相邻的第二子模型。
76.在一种可选的实施方式中,采集终端接收到渲染终端发送的数据获取请求后,根据数据获取请求携带的各个目标子模型的标识,确定与各个目标子模型在空间上相邻的第二子模型。
77.例如,以图1为例,假设数据获取请求中携带的目标子模型的标识为10,根据三维模型的包围盒划分后的各个长方体的编号可知,与目标子模型10在空间上相邻的第二子模型的标识为11。
78.s3052:获取相邻的目标子模型和第二子模型的切面内的各个交点,各个交点包括第一交点和第二交点。
79.在本技术的实施例中,按照图3所示的流程,可以解决精度相同的两个相邻子模型间的拼接缝隙,但此时各个子模型的切面为非封闭状态,如图9所示。
80.通过执行s303,可以获得两个相邻的高精度的第一子模型的切面内的所有第一交点,通过执行s304,可以获得两个相邻的低精度的第二子模型的切面内的所有第二交点。在s3052中,通过查询与目标子模型的标识相同的第一子模型对应的第一顶点集合,以及与目标子模型相邻的第二子模型对应的第二顶点集合,可以得到目标子模型和第二子模型的切面内包含的各个第一交点和各个第二交点。
81.s3053:根据切面内的各个交点,生成至少一个新的三角形面片,并将至少一个新的三角形面片的数据发送给渲染终端。
82.在本技术的实施例中,对于相邻的目标子模型与第二子模型之间的拼接缝隙,可以用切面内的各个交点生成的至少一个新的三角形面片覆盖,如图10所示,黑色三角形表示由切面内的各个交点生成的新的三角形面片。
83.可选的,切面内至少一个新的三角形面片的生成方式包括:选取切面内的一个交
点为参考点,将参考点与切面内非相邻的交点逐个连接,生成至少一个新的三角形面片,如图11所示。切面内生成的至少一个新的三角形面片的数量等于切面的边数减2,且切面内生成的至少一个新的三角形面片之间不相交。
84.在s3053中,生成至少一个新的三角形面片后,针对每一个三角形面片,确定该三角形面片的数据(包括使用交点的坐标和面片的纹理等数据),并发送给渲染终端。
85.本技术实施例对三角形面片纹理数据的确定方式不做限制性要求,例如,将距离三角形面片的中心点最近的顶点的纹理数据作为该三角形面片的纹理数据。
86.需要说明的是,本技术实施例对不封闭切面内生成至少一个三角形面片的方式不做限制性要求。例如,针对不封闭的切面,还可以用图12所示的方式生成至少一个三角形面片。
87.对比图7和图10可知,在不同精度的相邻子模型间的缝隙处,由不封闭的切面内的各个交点生成的三角形面片可以将该裂缝遮盖起来了。
88.在一些实施例中,生成至少一个新的三角形面片之后,除了将新的三角形面片的数据和各个子模型的数据独立的发送给渲染终端外,还可以将至少一个新的三角形面片和相应的子模型组织为封闭的子模型后,将数据一起发送。具体实施时,首先,将各个目标子模型对应的第一顶点集合和相应的新的三角形面片,生成各个封闭的目标子模型,以及,将各个第二子模型的对应的第二顶点集合和相应的新的三角形面片,生成各个封闭的第二子模型;然后,将各个封闭的第二子模型的第一数据和各个目标子模型的第二数据发送给渲染终端,其中,第一数据包括封闭的第二子模型的目标重建数据以及相应的新的三角形面片的数据,第二数据包括封闭的目标子模型的初始重建数据以及相应的新的三角形面片的数据。
89.在本技术的实施例中,在不封闭的切面内生成的至少一个新的三角形面片,使得不同精度的相邻子模型均位于不同长方体的封闭空间内,渲染终端在渲染显示三维模型时,不同精度的子模型间的拼接缝隙被覆盖,从而提高了三维模型的显示质量。
90.需要说明的是,本技术实施例中图3和图8所示的方案可以组合使用,从而在渲染终端显示三维模型时,无论是精度相同的相邻子模型,还是精度不同的相邻子模型,都不会有拼接缝隙,从而提高了三维模型的真实性,进行提高了在实时远程三维通信系统中的沉浸感。
91.基于相同的技术构思,本技术实施例提供一种采集终端,该采集终端可执行本技术实施例提供的三维模型的显示方法中采集终端侧的流程,并能达到同样的技术效果,在此不再重复。
92.参见图13,该采集终端包括处理器1301、存储器1302和通信接口1303,通信接口1303、存储器1302与处理器1301通过总线1304连接;存储器1302存储有计算机程序,处理器1301根据计算机程序执行以下操作:
93.对三维模型的初始重建数据进行下采样,得到目标重建数据;
94.将三维模型对应的包围盒等分为各个长方体,分别确定每个长方体对应的第一顶点集合和第二顶点集合,第一顶点集合中的各个第一顶点为初始重建数据中的顶点,第二顶点集合中的各个第二顶点为目标重建数据中的顶点;
95.遍历初始重建数据中各个第一顶点生成的三角形面片的边,确定各个边与相应长
方体共有面的第一交点,并针对每一个第一交点,将第一交点分别存入第一交点所在共有面的两个长方体对应的第一顶点集合中;
96.遍历目标重建数据中各个第二顶点生成的三角形面片的边,确定各个边与相应长方体共有面的第二交点,并针对每一个第二交点,将第二交点分别存入第二交点所在共有面的两个长方体对应的第二顶点集合中;
97.针对每一个长方体,根据长方体对应的第一顶点集合生成一个第一子模型,以及根据长方体对应的第二顶点集合生成一个第二子模型;
98.通过通信接口1303,将各个第二子模型的目标重建数据以及各个目标子模型的初始重建数据发送给渲染终端,以使渲染终端根据各个初始重建数据,以及与各个目标子模型不同标识的第二子模型的目标重建数据,渲染三维模型并显示,目标子模型为视野内的子模型。
99.可选的,处理器1301还执行:
100.确定各个目标子模型在空间上相邻的第二子模型;
101.获取相邻的目标子模型和第二子模型的切面内的各个交点,各个交点包括第一交点和第二交点;
102.根据切面内的各个交点,生成至少一个新的三角形面片,并通过通信接口1303,将至少一个新的三角形面片的数据发送给渲染终端,新的三角形面片用于覆盖相邻的目标子模型与第二子模型之间的拼接缝隙。
103.可选的,生成至少一个新的三角形面片之后,处理器1301还执行:
104.将各个目标子模型对应的第一顶点集合和相应的新的三角形面片,生成各个封闭的目标子模型,以及,将各个第二子模型的对应的第二顶点集合和相应的新的三角形面片,生成各个封闭的第二子模型;
105.处理器通过通信接口1303,将各个第二子模型的目标重建数据以及各个目标子模型的初始重建数据发送给渲染终端,具体操作为:
106.通过通信接口1303,将各个封闭的第二子模型的第一数据和各个目标子模型的第二数据发送给渲染终端,其中,第一数据包括封闭的第二子模型的目标重建数据以及相应的新的三角形面片的数据,第二数据包括封闭的目标子模型的初始重建数据以及相应的新的三角形面片的数据。
107.可选的,处理器1301根据切面内的各个交点,生成至少一个新的三角形面片,具体操作为:
108.选取切面内的一个交点为参考点,将参考点与切面内非相邻的交点逐个连接,生成至少一个新的三角形面片。
109.可选的,切面内生成的至少一个新的三角形面片的数量等于切面的边数减2。
110.可选的,切面内生成的至少一个新的三角形面片之间不相交。
111.需要说明的是,图13仅给出了采集终端执行图3和图8所示流程的必要硬件,除此之外,采集终端还包括显示器1305等常规硬件。
112.本技术实施例还提供一种计算机可读存储介质,用于存储一些指令,这些指令被执行时,可以完成前述实施例的方法。
113.本技术实施例还提供一种计算机程序产品,用于存储计算机程序,该计算机程序
用于执行前述实施例的方法。
114.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
115.为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献