CN111754632A - 业务服务的处理方法、装置、设备及存储介质 - Google Patents
业务服务的处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111754632A CN111754632A CN201910935626.4A CN201910935626A CN111754632A CN 111754632 A CN111754632 A CN 111754632A CN 201910935626 A CN201910935626 A CN 201910935626A CN 111754632 A CN111754632 A CN 111754632A
- Authority
- CN
- China
- Prior art keywords
- edge
- dimensional model
- model data
- collapse
- vertex
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供一种业务服务的处理方法、装置、设备及存储介质,该方法包括:接收终端设备发送的服务请求,所述服务请求包括产品的标识信息;根据所述服务请求获取所述标识信息对应的原始三维模型数据;基于所述原始三维模型数据中各边的坍塌值,对所述原始三维模型数据进行简化处理,获得简化三维模型数据,其中,每个边的坍塌值根据该边的曲率值及该边的长度获得;将所述产品的简化三维模型数据发送给所述终端设备,以使所述终端设备进行展示处理,有效提高了业务处理的效率。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种业务服务的处理方法、装置、设备及存储介质。
背景技术
随着增强现实AR技术及虚拟现实VR技术的不断发展,三维3D体验式购物已经成为一种趋势,海量的3D模型不断被创造,电商3D模型标准也在逐步形成,很多商品在厂家生产的时候已经高精模,达到几百万甚至上千万面,体积非常大,面数非常高,无法满足移动端渲染的需求。而如果重新创建模型或者通过软件在高模上修改都需要巨大的人力成本。
现有技术,可以通过边坍塌技术对三维模型进行减面,但是现有的减面方式,基于顶点的对称误差矩阵计算坍塌值,计算过程复杂,处理效率低。
发明内容
本申请提供一种业务服务的处理方法、装置、设备及存储介质,以解决现有技术简化处理效率低等缺陷。
本申请第一个方面提供一种业务服务的处理方法,包括:
接收终端设备发送的服务请求,所述服务请求包括产品的标识信息;
根据所述服务请求获取所述标识信息对应的原始三维模型数据;
基于所述原始三维模型数据中各边的坍塌值,对所述原始三维模型数据进行简化处理,获得简化三维模型数据,其中,每个边的坍塌值根据该边的曲率值及该边的长度获得;
将所述产品的简化三维模型数据发送给所述终端设备。
可选地,基于所述原始三维模型数据中各边的坍塌值,对所述原始三维模型数据进行简化处理,获得简化三维模型数据,包括:
遍历第i级三维模型数据的各个边,计算获得各边的坍塌值,其中,i为正整数,第1级三维模型数据为所述原始三维模型数据;
根据各边的坍塌值,确定待坍塌的目标边及各目标边对应的被坍塌顶点;
根据待坍塌的目标边及各目标边对应的被坍塌顶点进行坍塌处理,获得第i+1级三维模型数据;
按照上述步骤迭代,直至获得面数在预设阈值范围内的三维模型数据,作为所述简化三维模型数据。
可选地,遍历第i级三维模型数据的各个边,计算获得各边的坍塌值,包括:
对于第i级三维模型数据的每个边,计算获得该边的曲率值及该边的长度,并根据该边的曲率值及该边的长度,计算获得该边的坍塌值。
可选地,计算获得该边的曲率值,包括:
根据该边所属的两个面的法向量计算获得该边的曲率值。
可选地,遍历第i级三维模型数据的各个边,计算获得各边的坍塌值,包括:
对于第i级三维模型数据的每个边,采用如下公式计算获得该边的坍塌值cost:
其中,u、v表示该边的两个顶点,cost(u,v)表示该边顶点u向v的坍塌值,||u-v||表示两个顶点之间的距离,即该边的长度;f.normal、n.normal表示该边所属的两个面f和n的法向量,f.normal·n.normal表示两个法向量的点积,即该边的曲率值,Tu表示包含顶点u的三角面的集合,Tuv表示同时包含顶点u和顶点v的三角面的集合。
可选地,所述根据待坍塌的目标边及各目标边对应的被坍塌顶点进行坍塌处理,获得第i+1级三维模型数据,包括:
对于每个目标边uv,将所述第i+1级三维模型数据中,去除以该目标边为边的三角面,对于其他三角面,将被坍塌顶点u更新为顶点v,并去除顶点u。
可选地,每个边的坍塌值包括第一坍塌值和第二坍塌值,其中,第一坍塌值为该边的第一顶点向第二顶点坍塌的坍塌值,第二坍塌值为该边的第二顶点向第一顶点坍塌的坍塌值;
根据各边的坍塌值,按照预设规则确定待坍塌的目标边及各目标边对应的被坍塌顶点,包括:
将各边的坍塌值按照从大到小的顺序,将预设比例数量的坍塌值对应的边作为所述目标边;
对于每个目标边,若该坍塌值为第一顶点向第二顶点坍塌的坍塌值,则第一顶点为该目标边对应的被坍塌顶点。
可选地,所述方法还包括:
遍历第i级三维模型数据的各个顶点,获得各顶点关联的边数;
将关联的边数靠前的预设比例的顶点作为关键顶点;
在所述根据待坍塌的目标边及各目标边对应的被坍塌顶点进行坍塌处理之前,所述方法还包括:
将被坍塌顶点为所述关键顶点的边不作为目标边。
本申请第二个方面提供一种业务服务的处理装置,包括:
接收模块,用于接收终端设备发送的服务请求,所述服务请求包括产品的标识信息;
获取模块,用于根据所述服务请求获取所述标识信息对应的原始三维模型数据;
简化模块,用于基于所述原始三维模型数据中各边的坍塌值,对所述原始三维模型数据进行简化处理,获得简化三维模型数据,其中,每个边的坍塌值根据该边的曲率值及该边的长度获得;
发送模块,用于将所述产品的简化三维模型数据发送给所述终端设备。
可选地,所述简化模块,具体用于:
遍历第i级三维模型数据的各个边,计算获得各边的坍塌值,其中,i为正整数,第1级三维模型数据为所述原始三维模型数据;
根据各边的坍塌值,确定待坍塌的目标边及各目标边对应的被坍塌顶点;
根据待坍塌的目标边及各目标边对应的被坍塌顶点进行坍塌处理,获得第i+1级三维模型数据;
按照上述步骤迭代,直至获得面数在预设阈值范围内的三维模型数据,作为所述简化三维模型数据。
可选地,所述简化模块,具体用于:
对于第i级三维模型数据的每个边,计算获得该边的曲率值及该边的长度,并根据该边的曲率值及该边的长度,计算获得该边的坍塌值。
可选地,所述简化模块,具体用于:
根据该边所属的两个面的法向量计算获得该边的曲率值。
可选地,所述简化模块,具体用于:
对于第i级三维模型数据的每个边,采用如下公式计算获得该边的坍塌值cost:
其中,u、v表示该边的两个顶点,cost(u,v)表示该边顶点u向v的坍塌值,||u-v||表示两个顶点之间的距离,即该边的长度;f.normal、n.normal表示该边所属的两个面f和n的法向量,f.normal·n.normal表示两个法向量的点积,即该边的曲率值,Tu表示包含顶点u的三角面的集合,Tuv表示同时包含顶点u和顶点v的三角面的集合。
可选地,所述简化模块,具体用于:
对于每个目标边uv,将所述第i+1级三维模型数据中,去除以该目标边为边的三角面,对于其他三角面,将被坍塌顶点u更新为顶点v,并去除顶点u。
可选地,每个边的坍塌值包括第一坍塌值和第二坍塌值,其中,第一坍塌值为该边的第一顶点向第二顶点坍塌的坍塌值,第二坍塌值为该边的第二顶点向第一顶点坍塌的坍塌值;
所述简化模块,具体用于:
将各边的坍塌值按照从大到小的顺序,将预设比例数量的坍塌值对应的边作为所述目标边;
对于每个目标边,若该坍塌值为第一顶点向第二顶点坍塌的坍塌值,则第一顶点为该目标边对应的被坍塌顶点。
可选地,所述简化模块,还用于:遍历第i级三维模型数据的各个顶点,获得各顶点关联的边数;将关联的边数靠前的预设比例的顶点作为关键顶点;
在所述根据待坍塌的目标边及各目标边对应的被坍塌顶点进行坍塌处理之前,所述简化模块,还用于:将被坍塌顶点为所述关键顶点的边不作为目标边。
本申请第三个方面提供一种计算机设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一个方面以及第一个方面各种可能的设计所述的方法。
本申请第四个方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一个方面以及第一个方面各种可能的设计所述的方法。
本申请提供的业务服务的处理方法、装置、设备及存储介质,用户可以通过终端设备选择需要观看的产品,终端设备则获取用户选择的产品的标识信息,将产品的标识信息携带在服务请求中发送给服务设备,服务设备接收到终端设备的服务请求,响应该服务请求,获取标识信息对应的原始三维模型数据,基于边坍塌技术对原始三维模型数据进行简化获得简化三维模型数据,将简化三维模型数据发送给终端设备,以使终端设备进行渲染及展示。有效提高了三维模型减面处理的效率,从而提高业务服务处理效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的业务服务的处理方法的流程示意图;
图2为本申请一实施例提供的边坍塌的示意图;
图3为本申请另一实施例提供的业务服务的处理方法的流程示意图;
图4为本申请另一实施例提供的边坍塌的示意图;
图5为本申请一实施例提供的业务服务的处理装置的结构示意图;
图6为本申请一实施例提供的计算机设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先对本申请所涉及的名词进行解释:
高精模:工业模型达到几百万面甚至上千万面,我们称之为高精模。
边坍塌:在三维模型图中,以三角形平面为模型的面的组成部分,如果其中一条边的一个顶点(第一顶点)与另外一个顶点(第二顶点)进行合并,合并后该边将会消失,第一顶点也会消失,由第二顶点代替,三角形的个数也会减少,这个过程称为边坍塌。
本申请实施例提供的业务服务的处理方法,适用于需要提供工业模型的应用场景,具体应用领域不做限定,比如AR、VR领域,只要涉及到三维模型需要简化都可以适用。本申请实施例提供的业务服务的处理方法基于以下处理装置。该处理装置包括服务设备及至少一个终端设备。用户可以通过终端设备向服务设备发送服务请求,该服务请求可以包括产品的标识信息。该服务请求可以是用户要查看三维模型相关产品的请求。产品的标识信息可以是产品的名称、编号ID等等具有标识性的信息。终端设备可以是AR设备、VR设备等。用户可以通过终端设备选择需要观看的产品,终端设备则获取用户选择的产品的标识信息,将产品的标识信息携带在服务请求中发送给服务设备,服务设备接收到终端设备的服务请求,响应该服务请求,获取标识信息对应的原始三维模型数据,基于边坍塌技术对原始三维模型数据进行简化获得简化三维模型数据,将简化三维模型数据发送给终端设备,以使终端设备进行渲染及展示。有效提高了三维模型减面处理的效率,从而提高业务服务处理效率。可选地,服务设备还可以根据简化三维模型数据进行渲染处理获得产品的目标三维模型,发送给终端设备,终端设备接收到产品的目标三维模型后,根据目标三维模型向用户展示产品。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
实施例一
本实施例提供一种业务服务的处理方法,用于简化三维模型数据。本实施例的执行主体为业务服务的处理装置,该装置可以设置在计算机设备上,比如台式电脑、笔记本电脑、平板电脑、手机以及其他一些终端设备。
如图1所示,为本实施例提供的方法的流程示意图,该方法包括:
步骤101,接收终端设备发送的服务请求,服务请求包括产品的标识信息。
具体的,业务服务的处理装置(以下简称装置)可以接收终端设备发送的服务请求,服务请求可以包括产品的标识信息。
示例性的,当用户通过终端设备进行3D体验时,比如3D体验式购物时,可以在终端设备上选择要了解的产品信息,比如产品名称,终端设备则可以获取用户选择的产品的标识信息,并将产品的标识信息携带在服务请求中发送给该装置,该装置则可以接收到终端设备发送的服务请求,从服务请求中获取产品的标识信息。
步骤102,根据服务请求获取标识信息对应的原始三维模型数据。
具体的,在接收到服务请求后,从服务请求中获取产品的标识信息,并根据标识信息获取对应的原始三维模型数据。
步骤103,基于原始三维模型数据中各边的坍塌值,对原始三维模型数据进行简化处理,获得简化三维模型数据,其中,每个边的坍塌值根据该边的曲率值及该边的长度获得。
具体的,原始三维模型数据可以为建立好的产品的高精模的模型数据,主要可以包括顶点数据、边数据和面数据,顶点数据可以包括顶点标识及顶点坐标等相关数据,边数据可以包括边标识及该边的顶点等相关数据,面数据可以包括面标识及该面的边以及该面的顶点等相关数据,三维模型数据中,以三角形作为构成三维模型的基本面单元,当然,也可以根据实际需求选择其他形状,本实施例不做限定。具体的三维模型数据的具体内容可以根据实际需求设置,为现有技术,在此不再赘述。
当需要简化原始三维模型数据时,则可以获取该原始三维模型数据,基于原始三维模型数据中各边的坍塌值,对原始三维模型数据进行简化处理,获得简化三维模型数据。每个边的坍塌值根据该边的曲率值及该边的长度获得。比如原始三维模型的面数为上千万个面,需要简化成十万个面,则采用上述方式进行简化,直至面数减少到十万及以下。
示例性的,根据各边的曲率值及长度计算获得各边的坍塌值,按照坍塌值从大到小排序,选择排名前10%的边进行坍塌,减少一批顶点、一批边以及一批三角面,还可以迭代执行上述过程,一轮一轮减少直至减到需要的数量。
示例性的,以一个边的坍塌为例,如图2所示,为本实施例提供的边坍塌的示意图。图中表示从顶点u向顶点v进行坍塌,即边uv为待坍塌的边,顶点u为被坍塌顶点,该边坍塌后,模型中以该边为边的三角形消失,该边消失,以顶点u为顶点的其他三角形的顶点u用顶点v代替,当然以顶点u为一顶点的边的顶点u也用顶点v代替,如此每个边坍塌后,相应地会影响其他边及其他面。
示例性的,边的坍塌值的计算可以是该边的曲率值与该边长度的乘积,或者经过其他计算的结果,比如:长度*(1-曲率值),或者长度*(1-曲率值)/2,等等,具体可以根据实际需求进行考虑设置。
步骤104,将产品的简化三维模型数据发送给终端设备。
具体的,在获得产品的简化三维模型数据后,可以将产品的简化三维模型数据发送给终端设备,终端设备可以根据简化三维模型数据进行渲染处理,获得产品的目标三维模型,并对目标三维模型进行展示即展示产品。
可选地,在获得简化三维模型数据后,还可以由该装置根据简化三维模型数据进行渲染处理,获得产品的目标三维模型,再发送给终端设备。终端设备获得目标三维模型后,可以将目标三维模型展示给用户。
本实施例提供的业务服务的处理方法,用户可以通过终端设备选择需要观看的产品,终端设备则获取用户选择的产品的标识信息,将产品的标识信息携带在服务请求中发送给服务设备,服务设备接收到终端设备的服务请求,响应该服务请求,获取标识信息对应的原始三维模型数据,基于边坍塌技术对原始三维模型数据进行简化获得简化三维模型数据,将简化三维模型数据发送给终端设备,以使终端设备进行渲染及展示。有效提高了三维模型减面处理的效率,从而提高业务服务处理效率。
实施例二
本实施例对实施例一提供的方法做进一步补充说明。
如图3所示,为本实施例提供的业务服务的处理方法的流程示意图。
作为一种可实施的方式,在上述实施例一的基础上,可选地,步骤103具体可以包括:
步骤1031,遍历第i级三维模型数据的各个边,计算获得各边的坍塌值,其中,i为正整数,第1级三维模型数据为原始三维模型数据。
步骤1032,根据各边的坍塌值,确定待坍塌的目标边及各目标边对应的被坍塌顶点。
步骤1033,根据待坍塌的目标边及各目标边对应的被坍塌顶点进行坍塌处理,获得第i+1级三维模型数据。
步骤1034,按照上述步骤1031-1033迭代,直至获得面数在预设阈值范围内的三维模型数据,作为简化三维模型数据。
具体的,由于原始三维模型数据可能是高精模,可能具有百万甚至千万面,在进行减面处理时,一般不能一次减到需要的面数,每次坍塌只能减少部分边,每次面所减少的数量低于四分之一,因此需要设置阈值进行迭代处理,一轮一轮消减,直至最后剩下的面数在预设阈值范围之内,比如5万-10万面,具体预设阈值范围可以根据实际需求设置。以原始三维模型数据为第1级三维模型数据,经过一次消减获得第2级三维模型数据,再基于第2级三维模型数据按照与第一级三维模型数据的消减过程一致的过程进行第2轮消减,以此类推,迭代执行,每执行完一轮,可以判断剩余面数是否达到要求,直至判断结果为达到要求则停止迭代过程。
以一轮的消减为例说明如下:
遍历第i级三维模型数据的各个边,计算获得各边的坍塌值,根据各边的坍塌值,按照预设规则确定待坍塌的目标边以及各目标边对应的被坍塌顶点,根据待坍塌的目标边及各目标边对应的被坍塌顶点进行坍塌处理,获得第i+1级三维模型数据。其中,预设规则可以是设定坍塌值阈值,大于坍塌值阈值的边被确定为目标边;预设规则也可以是指定坍塌值排名靠前的一定数量或比例的边进行坍塌,比如坍塌值排名前10%的边,具体的预设规则可以根据实际需求设置。边的坍塌值包括两个,因为一个边有两个顶点,需要确定哪个顶点为被坍塌顶点,即需要去除哪个顶点,由另一个顶点代替。那么对于一个顶点u来说,它可能是很多个三角形的顶点,因此从该顶点可以向很多其他顶点v坍塌,若该顶点u作为被坍塌顶点,则需要选择最适合的一条边uv进行坍塌。比如若需要选择坍塌值大的边进行坍塌,cost(u,v1)、cost(u,v2)、cost(u,v3)、cost(u,v4)表示以u为顶点的4个边的从u向vi的坍塌值,即若该边为目标坍塌边,则u为被坍塌顶点,若其中cost(u,v2)、cost(u,v3)都在排名前10%内,那么确定目标边是其中坍塌值最大的一个,比如cost(u,v2)>cost(u,v3),则边uv2为目标边,u为该目标边的被坍塌顶点。
可选地,步骤1031具体可以包括:对于第i级三维模型数据的每个边,计算获得该边的曲率值及该边的长度,并根据该边的曲率值及该边的长度,计算获得该边的坍塌值。
具体的,边的坍塌值的计算可以是该边的曲率值与该边长度的乘积,或者经过其他计算的结果,比如:长度*(1-曲率值),或者长度*(1-曲率值)/2,等等,具体可以根据实际需求进行考虑设置。
可选地,计算获得该边的曲率值,包括:根据该边所属的两个面的法向量计算获得该边的曲率值。
可选地,可以采用如下公式计算一个边的坍塌值:
其中,u、v表示该边的两个顶点,cost(u,v)表示该边顶点u向v的坍塌值,||u-v||表示两个顶点之间的距离,即该边的长度;f.normal、n.normal表示该边所属的两个面f和n的法向量,f.normal·n.normal表示两个法向量的点积,即该边的曲率值,Tu表示包含顶点u的三角面的集合,Tuv表示同时包含顶点u和顶点v的三角面的集合。
上述公式里的min和max是考虑到模型中同时包含顶点u和顶点v的三角形除了基本单位的三角形外,可能还有多个基本单位的三角形组成的大三角形,包含顶点u的三角形除了基本单位的三角形外,可能还包括由多个基本单位的三角形组成的大三角形。
若三维模型数据中,仅以基本单位的三角形来体现,不考虑多个三角形组成的大三角形,则坍塌计算公式可以为:
cost(u,v)=||u-v||×{(1-f.normal·n.normal)/2}
其中,各符号的含义与上述公式相同。
在选择待坍塌的目标边时,对于面的曲率和大小进行平衡,对于脊状的边的坍塌同样有效,脊状的边连接的两个面之间可以是锐角或直角。示例性的,如图4所示,为本实施例提供的边坍塌的示意图。其中,ORIGINAL可以表示要进行简化的原始模型,B to A和B toC分别表示在平面区域中间的顶点B,被坍塌到顶点A和者顶点C,处于角上的顶点C被保留下来。若把顶点A坍塌到平面区域中间的顶点B,或者把顶点C坍塌到顶点A或顶点B,均严重影响了模型的结构形状,但是顶点A可以沿着脊(AC边)坍塌到顶点C,而不会影响模型的外观。
可选地,步骤1033具体可以包括:对于每个目标边uv,将第i+1级三维模型数据中,去除以该目标边为边的三角面,对于其他三角面,将被坍塌顶点u更新为顶点v,并去除顶点u。
可选地,每个边的坍塌值包括第一坍塌值和第二坍塌值,其中,第一坍塌值为该边的第一顶点向第二顶点坍塌的坍塌值,第二坍塌值为该边的第二顶点向第一顶点坍塌的坍塌值;
根据各边的坍塌值,确定待坍塌的目标边及各目标边对应的被坍塌顶点,包括:
将各边的坍塌值按照从大到小的顺序,将预设比例数量的坍塌值对应的边作为目标边;对于每个目标边,若该坍塌值为第一顶点向第二顶点坍塌的坍塌值,则第一顶点为该目标边对应的被坍塌顶点。
示例性的,若需要选择坍塌值大的边进行坍塌,cost(u,v1)、cost(u,v2)、cost(u,v3)、cost(u,v4)表示以u为顶点的4个边的从u向vi的坍塌值,即若该边为目标坍塌边,则u为被坍塌顶点,若其中cost(u,v2)、cost(u,v3)都在排名前10%内,那么确定目标边是其中坍塌值最大的一个,比如cost(u,v2)>cost(u,v3),则边uv2为目标边,u为该目标边的被坍塌顶点。
可选地,该方法还包括:
步骤2011,遍历第i级三维模型数据的各个顶点,获得各顶点关联的边数;
步骤2012,将关联的边数靠前的预设比例的顶点作为关键顶点;
在步骤1033之前,该方法还包括:
将被坍塌顶点为关键顶点的边不作为目标边。
具体的,由于坍塌的最终抉择取决于边的曲率值与边长的乘积,两个因素结合。但是有些关键边的曲率非常大,但是边长非常小,它关联的顶点有被坍塌的风险,为了保持模型整体的结构不被严重改变,模型的失真率最小,需要对模型进行关键点保护,如果坍塌的边的被坍塌顶点为这些关键点,那么不进行坍塌。具体保护方式可以为,对每个顶点关联的边数进行排序,比如从高到低排列,选取前5%作为关键点进行保护。根据模型的几何特性,这些点基本处于模型的边缘区域。对于选取的关键点的比例可以根据实际需求动态配置,这里不限于5%,比如还可以是1%、2%、7%等等。
作为另一种可实施的方式,在上述实施例一的基础上,可选地,在获得简化三维模型数据后,可以根据简化三维模型数据进行三维模型的渲染处理。具体的渲染处理可以采用现有技术中任意可实施的方式,本实施例不做限定。
可选地,该装置也可以将简化三维模型数据发送给其他终端进行渲染处理。
可选地,可以不断调整上述的迭代控制条件(比如预设面数阈值)以及预设规则,以获得最佳的简化效果。比如在获得简化三维模型数据后,可以生成简化后的三维模型显示,与原始三维模型进行比较,若简化效果不理想,则可以调整迭代控制条件及迭代过程中的各参数,再次进行简化处理,以此类推直至获得满意的简化三维模型数据。对于迭代控制条件及参数的调整可以设置一定的规则使其自动调整,也可以手动调整,具体可以根据实际需求设置,本申请实施例不做限定。
本申请实施例提供的方法可以解决3D高精模减面的问题,让很多工业模型直接应用到电商的3D展示中来,减少人力成本,让3D产业得到更好的发展,为AR、VR等技术落地打下基础,让更多的人享受科技的乐趣。
需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
本实施例提供的业务服务的处理方法,用户可以通过终端设备选择需要观看的产品,终端设备则获取用户选择的产品的标识信息,将产品的标识信息携带在服务请求中发送给服务设备,服务设备接收到终端设备的服务请求,响应该服务请求,获取标识信息对应的原始三维模型数据,基于边坍塌技术对原始三维模型数据进行简化获得简化三维模型数据,将简化三维模型数据发送给终端设备,以使终端设备进行渲染及展示。有效提高了三维模型减面处理的效率,从而提高业务服务处理效率。并且通过各顶点关联的边数进行关键顶点保护,进一步提高简化效果。
实施例三
本实施例提供一种业务服务的处理装置,用于执行上述实施例一的方法。
如图5所示,为本实施例提供的业务服务的处理装置的结构示意图。该业务服务的处理装置30包括接收模块31、获取模块32、简化模块33和发送模块34。
其中,接收模块,用于接收终端设备发送的服务请求,所述服务请求包括产品的标识信息;获取模块,用于根据所述服务请求获取所述标识信息对应的原始三维模型数据;简化模块,用于基于所述原始三维模型数据中各边的坍塌值,对所述原始三维模型数据进行简化处理,获得简化三维模型数据,其中,每个边的坍塌值根据该边的曲率值及该边的长度获得;发送模块,用于将所述产品的简化三维模型数据发送给所述终端设备。
可选地,该装置还可以包括处理模块,用于根据所述简化三维模型数据进行渲染处理,获得目标三维模型;发送模块还用于将目标三维模型发送给终端设备进行展示。
关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
根据本实施例提供的业务服务的处理装置,用户可以通过终端设备选择需要观看的产品,终端设备则获取用户选择的产品的标识信息,将产品的标识信息携带在服务请求中发送给服务设备,服务设备接收到终端设备的服务请求,响应该服务请求,获取标识信息对应的原始三维模型数据,基于边坍塌技术对原始三维模型数据进行简化获得简化三维模型数据,将简化三维模型数据发送给终端设备,以使终端设备进行渲染及展示。有效提高了三维模型减面处理的效率,从而提高业务服务处理效率。
实施例四
本实施例对上述实施例三提供的业务服务的处理装置做进一步补充说明。
作为一种可实施的方式,在上述实施例三的基础上,可选地,简化模块,具体用于:
遍历第i级三维模型数据的各个边,计算获得各边的坍塌值,其中,i为正整数,第1级三维模型数据为原始三维模型数据;
根据各边的坍塌值,确定待坍塌的目标边及各目标边对应的被坍塌顶点;
根据待坍塌的目标边及各目标边对应的被坍塌顶点进行坍塌处理,获得第i+1级三维模型数据;
按照上述步骤迭代,直至获得面数在预设阈值范围内的三维模型数据,作为所述简化三维模型数据。
可选地,简化模块,具体用于:
对于第i级三维模型数据的每个边,计算获得该边的曲率值及该边的长度,并根据该边的曲率值及该边的长度,计算获得该边的坍塌值。
可选地,简化模块,具体用于:
根据该边所属的两个面的法向量计算获得该边的曲率值。
可选地,简化模块,具体用于:
对于第i级三维模型数据的每个边,采用如下公式计算获得该边的坍塌值cost:
其中,u、v表示该边的两个顶点,cost(u,v)表示该边顶点u向v的坍塌值,||u-v||表示两个顶点之间的距离,即该边的长度;f.normal、n.normal表示该边所属的两个面f和n的法向量,f.normal·n.normal表示两个法向量的点积,即该边的曲率值,Tu表示包含顶点u的三角面的集合,Tuv表示同时包含顶点u和顶点v的三角面的集合。
可选地,简化模块,具体用于:
对于每个目标边uv,将第i+1级三维模型数据中,去除以该目标边为边的三角面,对于其他三角面,将被坍塌顶点u更新为顶点v,并去除顶点u。
可选地,每个边的坍塌值包括第一坍塌值和第二坍塌值,其中,第一坍塌值为该边的第一顶点向第二顶点坍塌的坍塌值,第二坍塌值为该边的第二顶点向第一顶点坍塌的坍塌值;
简化模块,具体用于:
将各边的坍塌值按照从大到小的顺序,将预设比例数量的坍塌值对应的边作为目标边;
对于每个目标边,若该坍塌值为第一顶点向第二顶点坍塌的坍塌值,则第一顶点为该目标边对应的被坍塌顶点。
可选地,简化模块,还用于:遍历第i级三维模型数据的各个顶点,获得各顶点关联的边数;将关联的边数靠前的预设比例的顶点作为关键顶点;
在根据待坍塌的目标边及各目标边对应的被坍塌顶点进行坍塌处理之前,简化模块,还用于:将被坍塌顶点为关键顶点的边不作为目标边。
关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
根据本实施例的业务服务的处理装置,用户可以通过终端设备选择需要观看的产品,终端设备则获取用户选择的产品的标识信息,将产品的标识信息携带在服务请求中发送给服务设备,服务设备接收到终端设备的服务请求,响应该服务请求,获取标识信息对应的原始三维模型数据,基于边坍塌技术对原始三维模型数据进行简化获得简化三维模型数据,将简化三维模型数据发送给终端设备,以使终端设备进行渲染及展示。有效提高了三维模型减面处理的效率,从而提高业务服务处理效率。并且通过各顶点关联的边数进行关键顶点保护,进一步提高简化效果。
实施例五
本实施例提供一种计算机设备,用于执行上述实施例提供的方法。
如图6所示,为本实施例提供的计算机设备的结构示意图。该计算机设备50包括:至少一个处理器51和存储器52;
存储器存储计算机程序;至少一个处理器执行存储器存储的计算机程序,以实现上述实施例提供的方法。
根据本实施例的计算机设备,用户可以通过终端设备选择需要观看的产品,终端设备则获取用户选择的产品的标识信息,将产品的标识信息携带在服务请求中发送给服务设备,服务设备接收到终端设备的服务请求,响应该服务请求,获取标识信息对应的原始三维模型数据,基于边坍塌技术对原始三维模型数据进行简化获得简化三维模型数据,将简化三维模型数据发送给终端设备,以使终端设备进行渲染及展示。有效提高了三维模型减面处理的效率,从而提高业务服务处理效率。并且通过各顶点关联的边数进行关键顶点保护,进一步提高简化效果。
实施例六
本实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,计算机程序被执行时实现上述任一实施例提供的方法。
根据本实施例的计算机可读存储介质,用户可以通过终端设备选择需要观看的产品,终端设备则获取用户选择的产品的标识信息,将产品的标识信息携带在服务请求中发送给服务设备,服务设备接收到终端设备的服务请求,响应该服务请求,获取标识信息对应的原始三维模型数据,基于边坍塌技术对原始三维模型数据进行简化获得简化三维模型数据,将简化三维模型数据发送给终端设备,以使终端设备进行渲染及展示。有效提高了三维模型减面处理的效率,从而提高业务服务处理效率。并且通过各顶点关联的边数进行关键顶点保护,进一步提高简化效果。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (12)
1.一种业务服务的处理方法,其特征在于,包括:
接收终端设备发送的服务请求,所述服务请求包括产品的标识信息;
根据所述服务请求获取所述标识信息对应的原始三维模型数据;
基于所述原始三维模型数据中各边的坍塌值,对所述原始三维模型数据进行简化处理,获得简化三维模型数据,其中,每个边的坍塌值根据该边的曲率值及该边的长度获得;
将所述产品的简化三维模型数据发送给所述终端设备。
2.根据权利要求1所述的方法,其特征在于,基于所述原始三维模型数据中各边的坍塌值,对所述原始三维模型数据进行简化处理,获得简化三维模型数据,包括:
遍历第i级三维模型数据的各个边,计算获得各边的坍塌值,其中,i为正整数,第1级三维模型数据为所述原始三维模型数据;
根据各边的坍塌值,确定待坍塌的目标边及各目标边对应的被坍塌顶点;
根据待坍塌的目标边及各目标边对应的被坍塌顶点进行坍塌处理,获得第i+1级三维模型数据;
按照上述步骤迭代,直至获得面数在预设阈值范围内的三维模型数据,作为所述简化三维模型数据。
3.根据权利要求2所述的方法,其特征在于,遍历第i级三维模型数据的各个边,计算获得各边的坍塌值,包括:
对于第i级三维模型数据的每个边,计算获得该边的曲率值及该边的长度,并根据该边的曲率值及该边的长度,计算获得该边的坍塌值。
4.根据权利要求3所述的方法,其特征在于,计算获得该边的曲率值,包括:
根据该边所属的两个面的法向量计算获得该边的曲率值。
6.一种业务服务的处理装置,其特征在于,包括:
接收模块,用于接收终端设备发送的服务请求,所述服务请求包括产品的标识信息;
获取模块,用于根据所述服务请求获取所述标识信息对应的原始三维模型数据;
简化模块,用于基于所述原始三维模型数据中各边的坍塌值,对所述原始三维模型数据进行简化处理,获得简化三维模型数据,其中,每个边的坍塌值根据该边的曲率值及该边的长度获得;
发送模块,用于将所述产品的简化三维模型数据发送给所述终端设备。
7.根据权利要求6所述的装置,其特征在于,所述简化模块,具体用于:
遍历第i级三维模型数据的各个边,计算获得各边的坍塌值,其中,i为正整数,第1级三维模型数据为所述原始三维模型数据;
根据各边的坍塌值,确定待坍塌的目标边及各目标边对应的被坍塌顶点;
根据待坍塌的目标边及各目标边对应的被坍塌顶点进行坍塌处理,获得第i+1级三维模型数据;
按照上述步骤迭代,直至获得面数在预设阈值范围内的三维模型数据,作为所述简化三维模型数据。
8.根据权利要求7所述的装置,其特征在于,所述简化模块,具体用于:
对于第i级三维模型数据的每个边,计算获得该边的曲率值及该边的长度,并根据该边的曲率值及该边的长度,计算获得该边的坍塌值。
9.根据权利要求8所述的装置,其特征在于,所述简化模块,具体用于:
根据该边所属的两个面的法向量计算获得该边的曲率值。
11.一种计算机设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-5任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910935626.4A CN111754632A (zh) | 2019-09-29 | 2019-09-29 | 业务服务的处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910935626.4A CN111754632A (zh) | 2019-09-29 | 2019-09-29 | 业务服务的处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111754632A true CN111754632A (zh) | 2020-10-09 |
Family
ID=72672792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910935626.4A Pending CN111754632A (zh) | 2019-09-29 | 2019-09-29 | 业务服务的处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111754632A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112419511A (zh) * | 2020-12-26 | 2021-02-26 | 董丽萍 | 三维模型文件处理方法、装置、存储介质及服务器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107330970A (zh) * | 2017-06-15 | 2017-11-07 | 新奥泛能网络科技股份有限公司 | 一种三维模型处理方法,服务器及计算机可读取存储介质 |
CN107506517A (zh) * | 2017-07-04 | 2017-12-22 | 网易(杭州)网络有限公司 | 建筑模型显示、数据处理方法、装置、介质、设备和*** |
CN107895401A (zh) * | 2017-11-23 | 2018-04-10 | 塔普翊海(上海)智能科技有限公司 | 三维模型的数据简化***及其简化方法和应用 |
CN108335367A (zh) * | 2018-02-06 | 2018-07-27 | 杭州群核信息技术有限公司 | 一种用于终端展示的三维模型处理方法 |
KR20180117499A (ko) * | 2017-04-19 | 2018-10-29 | 에스케이텔레콤 주식회사 | 3차원 메쉬 데이터 간소화 방법 및 장치 |
-
2019
- 2019-09-29 CN CN201910935626.4A patent/CN111754632A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180117499A (ko) * | 2017-04-19 | 2018-10-29 | 에스케이텔레콤 주식회사 | 3차원 메쉬 데이터 간소화 방법 및 장치 |
CN107330970A (zh) * | 2017-06-15 | 2017-11-07 | 新奥泛能网络科技股份有限公司 | 一种三维模型处理方法,服务器及计算机可读取存储介质 |
CN107506517A (zh) * | 2017-07-04 | 2017-12-22 | 网易(杭州)网络有限公司 | 建筑模型显示、数据处理方法、装置、介质、设备和*** |
CN107895401A (zh) * | 2017-11-23 | 2018-04-10 | 塔普翊海(上海)智能科技有限公司 | 三维模型的数据简化***及其简化方法和应用 |
CN108335367A (zh) * | 2018-02-06 | 2018-07-27 | 杭州群核信息技术有限公司 | 一种用于终端展示的三维模型处理方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112419511A (zh) * | 2020-12-26 | 2021-02-26 | 董丽萍 | 三维模型文件处理方法、装置、存储介质及服务器 |
CN112419511B (zh) * | 2020-12-26 | 2024-02-13 | 董丽萍 | 三维模型文件处理方法、装置、存储介质及服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111815755B (zh) | 虚拟物体被遮挡的区域确定方法、装置及终端设备 | |
CN110368694B (zh) | 游戏场景的数据处理方法、装置、设备及可读存储介质 | |
CN111768477B (zh) | 三维人脸表情基建立方法及装置、存储介质及电子设备 | |
CN108122277B (zh) | 一种建模方法及装置 | |
CN107578467B (zh) | 一种医疗器械三维建模方法及装置 | |
CN114187633B (zh) | 图像处理方法及装置、图像生成模型的训练方法及装置 | |
CN115409933B (zh) | 多风格纹理贴图生成方法及其装置 | |
CN109979013B (zh) | 三维人脸贴图方法及终端设备 | |
CN115439607A (zh) | 一种三维重建方法、装置、电子设备及存储介质 | |
CN114612600B (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 | |
CN109697748B (zh) | 模型压缩处理方法、模型贴图处理方法装置、存储介质 | |
CN114708374A (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 | |
CN111583381A (zh) | 游戏资源图的渲染方法、装置及电子设备 | |
CN117078790B (zh) | 图像生成方法、装置、计算机设备和存储介质 | |
CN113610958A (zh) | 一种基于风格迁移的3d图像构建方法、装置及终端 | |
CN114202597B (zh) | 图像处理方法及装置、设备、介质和产品 | |
CN115222879A (zh) | 一种模型减面处理方法、装置、电子设备及存储介质 | |
CN114792355A (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 | |
CN109377552B (zh) | 图像遮挡计算方法、装置、计算设备及存储介质 | |
CN111754632A (zh) | 业务服务的处理方法、装置、设备及存储介质 | |
CN113570725A (zh) | 基于聚类的三维表面重建方法、装置、服务器及存储介质 | |
CN110838167B (zh) | 模型的渲染方法、装置和存储介质 | |
CN113256755A (zh) | 图像的渲染方法、智能终端以及存储装置 | |
CN110751026B (zh) | 视频处理方法及相关装置 | |
CN116993955A (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 |