CN109461198B - 网格模型的处理方法及装置 - Google Patents
网格模型的处理方法及装置 Download PDFInfo
- Publication number
- CN109461198B CN109461198B CN201811341821.6A CN201811341821A CN109461198B CN 109461198 B CN109461198 B CN 109461198B CN 201811341821 A CN201811341821 A CN 201811341821A CN 109461198 B CN109461198 B CN 109461198B
- Authority
- CN
- China
- Prior art keywords
- grid
- model
- vertices
- vertex
- target
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种网格模型的处理方法及装置。其中,该方法包括:确定目标场景内至少一个初始三维网格模型的网格顶点的密度值,其中,上述密度值用于表征上述网格顶点的聚集程度;依据上述密度值确定与上述网格顶点对应的顶点色;基于上述顶点色对上述初始三维网格模型进行渲染处理,得到目标三维网格模型,其中,上述目标三维网格模型用于展示上述网格顶点的密度值。本发明解决了现有技术中无法实现可视化分析游戏场景的场景面数的技术问题。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种网格模型的处理方法及装置。
背景技术
在游戏项目研发过程中,游戏场景的场景面数对于性能的影响巨大,在一个庞大且复杂的场景制作完成后,基于性能问题进行的场景面数的优化具有很大的难度,其中,无法定量、可视化的分析引起场景面数居高不下的原因是迫切需要解决的问题。
现有的三维网格的分析工具主要集成在三维模型制作工具中,关于可视化显示模型顶点密度的工具较少,也没有技术文档描述具体的实现方法与细节,并且,现有技术在模型制作阶段过多的关注网格优化,在具体的游戏开发流程中,单独观察单个模型的密度分布参考意义不大,关于三维空间的顶点聚类方案主要是使用K-means的方案以及该方案的变形,或使用马尔科夫随机场等较为复杂的方案。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种网格模型的处理方法及装置,以至少解决现有技术中无法实现可视化分析游戏场景的场景面数的技术问题。
根据本发明实施例的一个方面,提供了一种网格模型的处理方法,包括:确定目标场景内至少一个初始三维网格模型的网格顶点的密度值,其中,上述密度值用于表征上述网格顶点的聚集程度;依据上述密度值确定与上述网格顶点对应的顶点色;基于上述顶点色对上述初始三维网格模型进行渲染处理,得到目标三维网格模型,其中,上述目标三维网格模型用于展示上述网格顶点的密度值。
进一步地,在确定目标场景内至少一个初始三维网格模型的网格顶点的密度值之前,上述方法还包括:遍历上述初始三维网格模型,得到多个上述网格顶点;采用聚类算法对上述网格顶点进行聚类处理,得到聚类结果,其中,上述聚类算法的输入参数至少包括:邻域半径,簇内最小顶点数量。
进一步地,采用聚类算法对上述网格顶点进行聚类处理,得到聚类结果,包括:依据上述聚类算法检测上述网格顶点的位置数据集合中每个网格顶点的邻域半径;若任意一个网格顶点的邻域半径所确定范围内的顶点数量大于上述簇内最小顶点数量,则创建一个以上述任意一个网格顶点为核心对象的簇;依据上述聚类算法迭代聚集上述簇中的网格顶点,得到上述聚类结果,其中,当没有新的网格顶点添加到任何簇时,上述聚类算法的迭代聚集过程结束。
进一步地,确定目标场景内至少一个初始三维网格模型的网格顶点的密度值,包括:基于上述聚类结果确定上述簇的顶点数量;依据上述顶点数量确定上述网格顶点的密度值,其中,上述网格顶点的密度值等于上述网格顶点所在的上述簇的顶点数量。
进一步地,在采用聚类算法对上述网格顶点进行聚类处理,得到聚类结果之前,上述方法还包括:获取上述初始三维网格模型的基础面数和模型大小;基于上述基础面数和上述模型大小确定上述输入参数的取值,其中,上述取值用于指示上述初始三维网格模型的网格面数聚集度的限定条件。
进一步地,上述聚类算法至少包括:基于密度的聚类算法DBSCAN。
进一步地,基于上述顶点色对上述初始三维网格模型进行渲染处理,得到目标三维网格模型,包括:将上述初始三维网格模型的当前工作模式设置为顶点密度渲染模式;在上述顶点密度渲染模式下,基于上述顶点色对上述初始三维网格模型进行渲染处理,得到上述目标三维网格模型。
进一步地,在得到目标三维网格模型之后,上述方法还包括:通过分析上述目标三维网格模型,确定上述目标场景的场景面数是否满足预定需求;在确定上述场景面数不满足上述预定需求的情况下,对上述目标三维网格模型进行修改处理。
根据本发明实施例的另一方面,还提供了一种网格模型的处理装置,包括:第一确定模块,用于确定目标场景内至少一个初始三维网格模型的网格顶点的密度值,其中,上述密度值用于表征上述网格顶点的聚集程度;第二确定模块,用于依据上述密度值确定与上述网格顶点对应的顶点色;处理模块,用于基于上述顶点色对上述初始三维网格模型进行渲染处理,得到目标三维网格模型,其中,上述目标三维网格模型用于展示上述网格顶点的密度值。
根据本发明实施例的另一方面,还提供了一种存储介质,上述存储介质包括存储的程序,其中,在上述程序运行时控制上述存储介质所在设备执行任意一项上述的网格模型的处理方法。
根据本发明实施例的另一方面,还提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述的网格模型的处理方法。
在本发明实施例中,通过确定目标场景内至少一个初始三维网格模型的网格顶点的密度值,其中,上述密度值用于表征上述网格顶点的聚集程度;依据上述密度值确定与上述网格顶点对应的顶点色;基于上述顶点色对上述初始三维网格模型进行渲染处理,得到目标三维网格模型,其中,上述目标三维网格模型用于展示上述网格顶点的密度值,由于网格顶点的密度值与目标场景的场景面数呈正相关,达到了通过目标三维网格模型展示上述网格顶点的密度值,可视化分析游戏场景的场景面数的目的,从而实现了为优化游戏场景的场景面数提供依据的技术效果,进而解决了现有技术中无法实现可视化分析游戏场景的场景面数的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种网格模型的处理方法的流程图;
图2是根据本发明实施例的一种可选的网格模型的处理方法的流程图;
图3是根据本发明实施例的一种可选的网格模型的处理方法的流程图;
图4是根据本发明实施例的一种可选的网格模型的处理方法的流程图;
图5是根据本发明实施例的一种可选的网格模型的处理方法的流程图;
图6是根据本发明实施例的一种可选的网格模型的处理方法的流程图;
图7是根据本发明实施例的一种可选的网格模型的处理方法的流程图;
图8是根据本发明实施例的一种可选的网格模型的处理方法的流程图;
图9是根据本发明实施例的一种网格模型的处理装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种网格模型的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种网格模型的处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,确定目标场景内至少一个初始三维网格模型的网格顶点的密度值,其中,上述密度值用于表征上述网格顶点的聚集程度;
步骤S104,依据上述密度值确定与上述网格顶点对应的顶点色;
步骤S106,基于上述顶点色对上述初始三维网格模型进行渲染处理,得到目标三维网格模型,其中,上述目标三维网格模型用于展示上述网格顶点的密度值。
需要说明的是,本申请实施例所提供的任意一种可选的网格模型的处理方法,均可以在游戏场景编辑器中进行实现,方便场景编辑人员基于目标三维网格模型展示的网格顶点的密度值进行可视化分析,对顶点密度分布不合理的目标三维网格模型进行重点优化。
可选的,三维游戏中的一系列模型、地表、特效的摆放集合称为场景,上述目标场景可以但不限于为游戏场景,包括:环境、建筑、机械、道具等;可选的,场景面数即为在某个视角观察场景时,所有需要渲染的总三角形的数量。
在游戏开发过程中,针对全场景所有的三维网格模型进行统一的分析计算,并进行全场景的可视化显示,对于进行场景面数的优化意义重大。基于目标三维网格模型展示的网格顶点的密度值可以查看所有目标三维网格模型,以及目标三维网格模型的顶点分布情况,从而在确定目标场景的场景面数不满足预定需求的情况下,对上述目标三维网格模型进行修改处理,针对性的进行优化可以节省美术资源优化的时间。
通过确定目标场景内至少一个初始三维网格模型的网格顶点的密度值,并根据网格顶点的密度值设置对应的顶点色,采用着色器基于上述顶点色对上述初始三维网格模型进行渲染处理,得到目标三维网格模型,通过上述目标三维网格模型可以展示哪一个部分的顶点密度高,其中,由于顶点密度高的部分所渲染的颜色更深,更加便于展示出顶点密度。依据本申请方案可以为游戏开发后期进行美术资源优化时提供了分析依据,对场景面数的优化更具有针对性,提高优化的工作效率。
在游戏开发过程中,美术制作人员可以在场景编辑器内启动该计算流程,上述计算流程用于执行本申请实施例中的任意一种可选的网格模型的处理方法,在基于上述顶点色对上述初始三维网格模型进行渲染处理的过程中,场景模型的渲染状态也将发生变化,初始三维网格模型的当前工作模式设置为顶点密度渲染模式,通过在场景编辑器内以各个视角观察场景,确定存在不合理问题的目标三维网格模型,例如,较小尺寸的模型却拥有极高顶点密度;摆放在距离玩家活动区域较远或不可见的模型网格区域却拥有极高的顶点密度。
在本申请一种可选的实施例中,上述网格顶点的密度值用于表征上述网格顶点的聚集程度,也即,目标场景的场景面数;通常模型制作人员为了表现三维网格模型的细节,需要使用大量的三角形进行建模,这会使得三维网格模型局部的顶点密度增高,基于本申请实施例,可以展示出一个三维网格模型的顶点密度分布情况,进而,针对游戏场景的摆放情况以及模型制作的合理性情况进行有目的地、高效地优化。
以上述目标三维网格模型为远景模型为例,由于远景模型不需要高精度的细节表现,若远景模型中包含了大量的高顶点密度区域,则可以修改该远景模型网格,减少细节表现,从而实现高质量的优化场景面数的目的。
在本发明实施例中,通过确定目标场景内至少一个初始三维网格模型的网格顶点的密度值,其中,上述密度值用于表征上述网格顶点的聚集程度;依据上述密度值确定与上述网格顶点对应的顶点色;基于上述顶点色对上述初始三维网格模型进行渲染处理,得到目标三维网格模型,其中,上述目标三维网格模型用于展示上述网格顶点的密度值,在本申请实施例中,由于网格顶点的密度值与目标场景的场景面数呈正相关,通过目标三维网格模型展示上述网格顶点的密度值,达到了可视化分析游戏场景的场景面数的目的,从而实现了为优化游戏场景的场景面数提供依据的技术效果,进而解决了现有技术中无法实现可视化分析游戏场景的场景面数的技术问题。
在一种可选的实施例中,图2是根据本发明实施例的一种可选的网格模型的处理方法的流程图,如图2所示,在确定目标场景内至少一个初始三维网格模型的网格顶点的密度值之前,上述方法还包括:
步骤S202,遍历上述初始三维网格模型,得到多个上述网格顶点;
步骤S204,采用聚类算法对上述网格顶点进行聚类处理,得到聚类结果,其中,上述聚类算法的输入参数至少包括:邻域半径,簇内最小顶点数量。
可选的,在本申请实施例中,在确定初始三维网格模型的网格顶点的密度值之前,遍历上述初始三维网格模型,得到多个上述网格顶点,并采用聚类算法对目标场景内的网格顶点进行聚类处理,得到聚类结果。
在一种可选的实施例中,上述聚类算法可以但不限于为基于密度的聚类算法DBSCAN,该DBSCAN的输入参数至少包括:邻域半径Eps,簇内最小顶点数量MinPts。
需要说明的是,由于本申请方案仅考虑初始三维网格模型的位置信息,因此可以优选使用基于密度的聚类算法DBSCAN,该DBSCAN主要用于空间数据的聚类,具有以下诸多优点:聚类速度快、实现任意形状的空间聚类、聚类形状没有偏移、聚类个数无需提前指定、有效屏蔽噪声等;另外,相对于K-means算法,该DBSCAN也不需要输入划分的聚类个数。
在另一种可选的实施例中,图3是根据本发明实施例的一种可选的网格模型的处理方法的流程图,如图3所示,采用聚类算法对上述网格顶点进行聚类处理,得到聚类结果,包括:
步骤S302,依据上述聚类算法检测上述网格顶点的位置数据集合中每个网格顶点的邻域半径;
步骤S304,若任意一个网格顶点的邻域半径所确定范围内的顶点数量大于上述簇内最小顶点数量,则创建一个以上述任意一个网格顶点为核心对象的簇;
步骤S306,依据上述聚类算法迭代聚集上述簇中的网格顶点,得到上述聚类结果,其中,当没有新的网格顶点添加到任何簇时,上述聚类算法的迭代聚集过程结束。
在上述可选的实施例中,上述DBSCAN通过检测数据集(即,网格顶点位置数据集合)中每个网格顶点的邻域半径Eps,以实现搜索簇的目的,首先,若任意一个网格顶点P的邻域半径所确定范围内的顶点数量,大于上述簇内最小顶点数量MiniPts,则创建一个以任意一个网格顶点P为核心对象的簇;然后,DBSCAN迭代地聚集从核心对象直接密度可达的对象,即,迭代聚集上述簇中的网格顶点,上述迭代聚集过程涉及一些密度可达簇的合并;当没有新的网格顶点添加到任何簇时,上述聚类算法的迭代聚集过程结束。
在一种可选的实施例中,图4是根据本发明实施例的一种可选的网格模型的处理方法的流程图,如图4所示,确定目标场景内至少一个初始三维网格模型的网格顶点的密度值,包括:
步骤S402,基于上述聚类结果确定上述簇的顶点数量;
步骤S404,依据上述顶点数量确定上述网格顶点的密度值,其中,上述网格顶点的密度值等于上述网格顶点所在的上述簇的顶点数量。
在上述可选的实施例中,基于上述DBSCAN对三维网格模型的网格顶点进行聚类计算,可以依据一个顶点类中的顶点个数确定簇的顶点数量,网格顶点的密度值等于上述网格顶点所在的上述簇的顶点数量。
作为一种可选的实施例,图5是根据本发明实施例的一种可选的网格模型的处理方法的流程图,如图5所示,在采用聚类算法对上述网格顶点进行聚类处理,得到聚类结果之前,上述方法还包括:
步骤S502,获取上述初始三维网格模型的基础面数和模型大小;
步骤S504,基于上述基础面数和上述模型大小确定上述输入参数的取值,其中,上述取值用于指示上述初始三维网格模型的网格面数聚集度的限定条件。
在上述可选的实施例中,可以依据不同游戏项目模型的基础面数和模型大小确定上述输入参数的取值,以一种初始三维网格模型的基础面数平均为4000个三角形为例(并不局限于此),确定上述输入参数的取值可以如下表1所示:
表1
非常不严格 | 不严格 | 中等 | 严格 | |
邻域半径 | 4.0 | 4.0 | 4.0 | 4.0 |
簇内最小顶点数量 | 45 | 35 | 25 | 12 |
可选的,上述邻域半径和上述簇内最小顶点数量的取值,用于指示上述初始三维网格模型的网格面数聚集度的限定条件,其中,上述限定条件至少包括:非常不严格、不严格、中等、严格。
在本申请实施例中所设置的上述4组输入参数依次对应于初始三维网格模型的网格面数聚集度的限定条件(可以理解为要求严格程度),其中,上述输入参数的数值越高,表示对初始三维网格模型的网格面数聚集度的要求严格程度越高,则对于顶点聚集程度的感知越敏感,在最严格的参数下,轻微的顶点聚集区域也可以被识别出来,并展示为红色(也可以设置为其他较为明显的颜色)。需要说明的是,针对一般情况而言,设置“中等”限定条件的输入参数即可,针对场景面数异常高的情况,可以设置“严格”限定条件的输入参数进行分析。
在一种可选的实施例中,图6是根据本发明实施例的一种可选的网格模型的处理方法的流程图,如图6所示,基于上述顶点色对上述初始三维网格模型进行渲染处理,得到目标三维网格模型,包括:
步骤S602,将上述初始三维网格模型的当前工作模式设置为顶点密度渲染模式;
步骤S604,在上述顶点密度渲染模式下,基于上述顶点色对上述初始三维网格模型进行渲染处理,得到上述目标三维网格模型。
在上述可选的实施例中,在依据上述密度值确定与上述网格顶点对应的顶点色的过程中,上述顶点色可以但不限于以颜色通道RGB的三原色来进行表示,具体的做法时根据项目对场景面数的要求,采用如下颜色换算公式,依据上述密度值确定与上述网格顶点对应的顶点色:
r=min(max(0,1.5-abs(1-4*(val-0.5))),1);
g=min(max(0,1.5-abs(1-4*(val-0.5))),1);
b=min(max(0,1.5-abs(1-4*val)),1);
其中,上述max为取二值中的最大值;上述min为去取二值中的最小值;上述abs为括号内公式取值的绝对值;val是密度值在0.0至1.0之间的映射值,取值为0.0到1.0之间的小数。
通过合理的缩放上述密度值为0至1之间,并将上述0至1之间的密度值转换为RGB的三原色来进行表示,其中,密度值的数值越大,上述顶点色越偏向红色,代表簇内的顶点密度值越高,越需要美术工作人员进行优化。例如,一般情况而言,由于远景模型的模型细节不可见,远景模型不应该具有密度值过高的网格顶点,若远景模型存在密度值过高的网格顶点则是在浪费渲染资源。再例如,在制作三维网格模型时由于失误或建模师的技术水平等原因,造成不合理的顶点高密度区域,需要重新优化该三维网格模型。
最后,将上述初始三维网格模型的当前工作模式设置为顶点密度渲染模式,基于上述顶点色对上述初始三维网格模型进行渲染处理,得到上述目标三维网格模型。
在一种可选的实施例中,图7是根据本发明实施例的一种可选的网格模型的处理方法的流程图,如图7所示,在得到目标三维网格模型之后,上述方法还包括:
步骤S702,通过分析上述目标三维网格模型,确定上述目标场景的场景面数是否满足预定需求;
步骤S704,在确定上述场景面数不满足上述预定需求的情况下,对上述目标三维网格模型进行修改处理。
可选的,上述预定需求可以为性能需求,例如,硬件性能需求、软件性能需求;在本申请实施例中,根据具体的目标平台的性能情况,可以评估得到游戏项目的同屏面数最大值,若三维网格模型的同屏面数大于该最大值就会出现卡顿等硬件性能问题,此外,除了运行游戏的硬件性能外,游戏渲染的复杂度,游戏逻辑的复杂度都会消耗性能,因此,可以基于上述预定需求评估这个游戏同屏能支持绘制多少个场景面数(即三角形数量)。
由于网格顶点的密度值与目标场景的场景面数呈正相关,通过分析上述目标三维网格模型,基于上述目标三维网格模型展示的网格顶点的密度值,可以确定目标场景的场景面数是否满足上述预定需求,在确定上述场景面数不满足上述预定需求的情况下,对上述目标三维网格模型进行修改处理(增加、减少、删除等),即,对目标场景的场景面数进行优化处理。
在一种可选的实施例中,图8是根据本发明实施例的一种可选的网格模型的处理方法的流程图,如图8所示,可以通过以下可选的实施例实现本申请实施例所提供的网格模型的处理方法:
步骤S802,遍历目标场景内的初始三维网格模型,得到初始三维网格模型中的多个网格顶点。
步骤S804,采用聚类算法对上述网格顶点进行聚类处理,得到聚类结果。
在上述步骤S804中,上述聚类算法至少包括:基于密度的聚类算法DBSCAN;聚类算法的输入参数至少包括:邻域半径,簇内最小顶点数量。
步骤S806,基于上述聚类结果确定上述簇的顶点数量。
在上述步骤S806中,上述密度值用于表征上述网格顶点的聚集程度。
步骤S808,依据上述顶点数量确定上述网格顶点的密度值。
步骤S810,依据上述密度值确定与上述网格顶点对应的顶点色。
步骤S812,基于上述顶点色对上述初始三维网格模型进行渲染处理,得到目标三维网格模型,其中,上述目标三维网格模型用于展示上述网格顶点的密度值。
实施例2
根据本发明实施例,还提供了一种用于实施上述网格模型的处理方法的装置实施例,图9是根据本发明实施例的一种网格模型的处理装置的结构示意图,如图9所示,上述网格模型的处理装置,包括:第一确定模块90、第二确定模块92和处理模块94,其中:
第一确定模块90,用于确定目标场景内至少一个初始三维网格模型的网格顶点的密度值,其中,上述密度值用于表征上述网格顶点的聚集程度;第二确定模块92,用于依据上述密度值确定与上述网格顶点对应的顶点色;处理模块94,用于基于上述顶点色对上述初始三维网格模型进行渲染处理,得到目标三维网格模型,其中,上述目标三维网格模型用于展示上述网格顶点的密度值。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
此处需要说明的是,上述第一确定模块90、第二确定模块92和处理模块94对应于实施例1中的步骤S102至步骤S106,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
上述的网格模型的处理装置还可以包括处理器和存储器,上述第一确定模块90、第二确定模块92和处理模块94等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元,上述内核可以设置一个或以上。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
根据本申请实施例,还提供了一种存储介质实施例。可选地,在本实施例中,上述存储介质包括存储的程序,其中,在上述程序运行时控制上述存储介质所在设备执行上述任意一种网格模型的处理方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中,上述存储介质包括存储的程序。
可选地,在程序运行时控制存储介质所在设备执行以下功能:确定目标场景内至少一个初始三维网格模型的网格顶点的密度值,其中,上述密度值用于表征上述网格顶点的聚集程度;依据上述密度值确定与上述网格顶点对应的顶点色;基于上述顶点色对上述初始三维网格模型进行渲染处理,得到目标三维网格模型,其中,上述目标三维网格模型用于展示上述网格顶点的密度值。
可选地,在程序运行时控制存储介质所在设备执行以下功能:遍历上述初始三维网格模型,得到多个上述网格顶点;采用聚类算法对上述网格顶点进行聚类处理,得到聚类结果,其中,上述聚类算法的输入参数至少包括:邻域半径,簇内最小顶点数量。
可选地,在程序运行时控制存储介质所在设备执行以下功能:依据上述聚类算法检测上述网格顶点的位置数据集合中每个网格顶点的邻域半径;若任意一个网格顶点的邻域半径所确定范围内的顶点数量大于上述簇内最小顶点数量,则创建一个以上述任意一个网格顶点为核心对象的簇;依据上述聚类算法迭代聚集上述簇中的网格顶点,得到上述聚类结果,其中,当没有新的网格顶点添加到任何簇时,上述聚类算法的迭代聚集过程结束。
可选地,在程序运行时控制存储介质所在设备执行以下功能:基于上述聚类结果确定上述簇的顶点数量;依据上述顶点数量确定上述网格顶点的密度值,其中,上述网格顶点的密度值等于上述网格顶点所在的上述簇的顶点数量。
可选地,在程序运行时控制存储介质所在设备执行以下功能:获取上述初始三维网格模型的基础面数和模型大小;基于上述基础面数和上述模型大小确定上述输入参数的取值,其中,上述取值用于指示上述初始三维网格模型的网格面数聚集度的限定条件。
可选地,在程序运行时控制存储介质所在设备执行以下功能:将上述初始三维网格模型的当前工作模式设置为顶点密度渲染模式;在上述顶点密度渲染模式下,基于上述顶点色对上述初始三维网格模型进行渲染处理,得到上述目标三维网格模型。
可选地,在程序运行时控制存储介质所在设备执行以下功能:通过分析上述目标三维网格模型,确定上述目标场景的场景面数是否满足预定需求;在确定上述场景面数不满足上述预定需求的情况下,对上述目标三维网格模型进行修改处理。
根据本申请实施例,还提供了一种处理器实施例。可选地,在本实施例中,上述处理器用于运行程序,其中,上述程序运行时执行上述任意一种网格模型的处理方法。
本申请实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:确定目标场景内至少一个初始三维网格模型的网格顶点的密度值,其中,上述密度值用于表征上述网格顶点的聚集程度;依据上述密度值确定与上述网格顶点对应的顶点色;基于上述顶点色对上述初始三维网格模型进行渲染处理,得到目标三维网格模型,其中,上述目标三维网格模型用于展示上述网格顶点的密度值。
可选地,上述处理器执行程序时,还可以遍历上述初始三维网格模型,得到多个上述网格顶点;采用聚类算法对上述网格顶点进行聚类处理,得到聚类结果,其中,上述聚类算法的输入参数至少包括:邻域半径,簇内最小顶点数量。
可选地,上述处理器执行程序时,还可以依据上述聚类算法检测上述网格顶点的位置数据集合中每个网格顶点的邻域半径;若任意一个网格顶点的邻域半径所确定范围内的顶点数量大于上述簇内最小顶点数量,则创建一个以上述任意一个网格顶点为核心对象的簇;依据上述聚类算法迭代聚集上述簇中的网格顶点,得到上述聚类结果,其中,当没有新的网格顶点添加到任何簇时,上述聚类算法的迭代聚集过程结束。
可选地,上述处理器执行程序时,还可以基于上述聚类结果确定上述簇的顶点数量;依据上述顶点数量确定上述网格顶点的密度值,其中,上述网格顶点的密度值等于上述网格顶点所在的上述簇的顶点数量。
可选地,上述处理器执行程序时,还可以获取上述初始三维网格模型的基础面数和模型大小;基于上述基础面数和上述模型大小确定上述输入参数的取值,其中,上述取值用于指示上述初始三维网格模型的网格面数聚集度的限定条件。
可选地,上述处理器执行程序时,还可以将上述初始三维网格模型的当前工作模式设置为顶点密度渲染模式;在上述顶点密度渲染模式下,基于上述顶点色对上述初始三维网格模型进行渲染处理,得到上述目标三维网格模型。
可选地,上述处理器执行程序时,还可以通过分析上述目标三维网格模型,确定上述目标场景的场景面数是否满足预定需求;在确定上述场景面数不满足上述预定需求的情况下,对上述目标三维网格模型进行修改处理。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:确定目标场景内至少一个初始三维网格模型的网格顶点的密度值,其中,上述密度值用于表征上述网格顶点的聚集程度;依据上述密度值确定与上述网格顶点对应的顶点色;基于上述顶点色对上述初始三维网格模型进行渲染处理,得到目标三维网格模型,其中,上述目标三维网格模型用于展示上述网格顶点的密度值。
可选地,上述计算机程序产品执行程序时,还可以遍历上述初始三维网格模型,得到多个上述网格顶点;采用聚类算法对上述网格顶点进行聚类处理,得到聚类结果,其中,上述聚类算法的输入参数至少包括:邻域半径,簇内最小顶点数量。
可选地,上述计算机程序产品执行程序时,还可以依据上述聚类算法检测上述网格顶点的位置数据集合中每个网格顶点的邻域半径;若任意一个网格顶点的邻域半径所确定范围内的顶点数量大于上述簇内最小顶点数量,则创建一个以上述任意一个网格顶点为核心对象的簇;依据上述聚类算法迭代聚集上述簇中的网格顶点,得到上述聚类结果,其中,当没有新的网格顶点添加到任何簇时,上述聚类算法的迭代聚集过程结束。
可选地,上述计算机程序产品执行程序时,还可以基于上述聚类结果确定上述簇的顶点数量;依据上述顶点数量确定上述网格顶点的密度值,其中,上述网格顶点的密度值等于上述网格顶点所在的上述簇的顶点数量。
可选地,上述计算机程序产品执行程序时,还可以获取上述初始三维网格模型的基础面数和模型大小;基于上述基础面数和上述模型大小确定上述输入参数的取值,其中,上述取值用于指示上述初始三维网格模型的网格面数聚集度的限定条件。
可选地,上述计算机程序产品执行程序时,还可以将上述初始三维网格模型的当前工作模式设置为顶点密度渲染模式;在上述顶点密度渲染模式下,基于上述顶点色对上述初始三维网格模型进行渲染处理,得到上述目标三维网格模型。
可选地,上述计算机程序产品执行程序时,还可以通过分析上述目标三维网格模型,确定上述目标场景的场景面数是否满足预定需求;在确定上述场景面数不满足上述预定需求的情况下,对上述目标三维网格模型进行修改处理。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种网格模型的处理方法,其特征在于,包括:
确定目标场景内至少一个初始三维网格模型的网格顶点的密度值,其中,所述密度值用于表征所述网格顶点的聚集程度;
依据所述密度值确定与所述网格顶点对应的顶点色;
基于所述顶点色对所述初始三维网格模型进行渲染处理,得到目标三维网格模型,其中,所述目标三维网格模型用于展示所述网格顶点的密度值;
通过分析所述目标三维网格模型,确定所述目标场景的场景面数是否满足预定需求;
在确定所述场景面数不满足所述预定需求的情况下,对所述目标三维网格模型进行修改处理。
2.根据权利要求1所述的方法,其特征在于,在确定目标场景内至少一个初始三维网格模型的网格顶点的密度值之前,所述方法还包括:
遍历所述初始三维网格模型,得到多个所述网格顶点;
采用聚类算法对所述网格顶点进行聚类处理,得到聚类结果,其中,所述聚类算法的输入参数至少包括:邻域半径,簇内最小顶点数量。
3.根据权利要求2所述的方法,其特征在于,采用聚类算法对所述网格顶点进行聚类处理,得到聚类结果,包括:
依据所述聚类算法检测所述网格顶点的位置数据集合中每个网格顶点的邻域半径;
若任意一个网格顶点的邻域半径所确定范围内的顶点数量大于所述簇内最小顶点数量,则创建一个以所述任意一个网格顶点为核心对象的簇;
依据所述聚类算法迭代聚集所述簇中的所述网格顶点,得到所述聚类结果,其中,当没有新的网格顶点添加到任何簇时,所述聚类算法的迭代聚集过程结束。
4.根据权利要求3所述的方法,其特征在于,确定目标场景内至少一个初始三维网格模型的网格顶点的密度值,包括:
基于所述聚类结果确定所述簇的所述顶点数量;
依据所述顶点数量确定所述网格顶点的密度值,其中,所述网格顶点的密度值等于所述网格顶点所在的所述簇的顶点数量。
5.根据权利要求2所述的方法,其特征在于,在采用聚类算法对所述网格顶点进行聚类处理,得到聚类结果之前,所述方法还包括:
获取所述初始三维网格模型的基础面数和模型大小;
基于所述基础面数和所述模型大小确定所述输入参数的取值,其中,所述取值用于指示所述初始三维网格模型的网格面数聚集度的限定条件。
6.根据权利要求2所述的方法,其特征在于,所述聚类算法至少包括:基于密度的聚类算法DBSCAN。
7.根据权利要求1所述的方法,其特征在于,基于所述顶点色对所述初始三维网格模型进行渲染处理,得到目标三维网格模型,包括:
将所述初始三维网格模型的当前工作模式设置为顶点密度渲染模式;
在所述顶点密度渲染模式下,基于所述顶点色对所述初始三维网格模型进行渲染处理,得到所述目标三维网格模型。
8.一种网格模型的处理装置,其特征在于,包括:
第一确定模块,用于确定目标场景内至少一个初始三维网格模型的网格顶点的密度值,其中,所述密度值用于表征所述网格顶点的聚集程度;
第二确定模块,用于依据所述密度值确定与所述网格顶点对应的顶点色;
处理模块,用于基于所述顶点色对所述初始三维网格模型进行渲染处理,得到目标三维网格模型,其中,所述目标三维网格模型用于展示所述网格顶点的密度值;
所述处理装置还用于通过分析所述目标三维网格模型,确定所述目标场景的场景面数是否满足预定需求;在确定所述场景面数不满足所述预定需求的情况下,对所述目标三维网格模型进行修改处理。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至7中任意一项所述的网格模型的处理方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的网格模型的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811341821.6A CN109461198B (zh) | 2018-11-12 | 2018-11-12 | 网格模型的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811341821.6A CN109461198B (zh) | 2018-11-12 | 2018-11-12 | 网格模型的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109461198A CN109461198A (zh) | 2019-03-12 |
CN109461198B true CN109461198B (zh) | 2023-05-26 |
Family
ID=65610128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811341821.6A Active CN109461198B (zh) | 2018-11-12 | 2018-11-12 | 网格模型的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109461198B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111898654A (zh) * | 2020-07-14 | 2020-11-06 | 上海眼控科技股份有限公司 | 三维对象特征获取方法、装置、计算机设备和存储介质 |
CN113470095B (zh) * | 2021-09-03 | 2021-11-16 | 贝壳技术有限公司 | 室内场景重建模型的处理方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102893275A (zh) * | 2010-05-14 | 2013-01-23 | 微软公司 | 自动社交网络图挖掘和可视化 |
CN103383772A (zh) * | 2012-05-01 | 2013-11-06 | 辉达公司 | 用于实施图形着色的系统、方法以及计算机程序产品 |
CN106537458A (zh) * | 2014-03-12 | 2017-03-22 | 利弗环球有限责任公司 | 用于基于顶点重构三维模型的系统和方法 |
CN106683199A (zh) * | 2015-11-06 | 2017-05-17 | 三星电子株式会社 | 3d图形渲染方法和设备 |
CN107563400A (zh) * | 2016-06-30 | 2018-01-09 | 中国矿业大学 | 一种基于网格的密度峰值聚类方法及系统 |
CN108491505A (zh) * | 2018-03-22 | 2018-09-04 | 中国科学院信息工程研究所 | 一种基于拓扑势值排序的dsatur图顶点着色方法 |
-
2018
- 2018-11-12 CN CN201811341821.6A patent/CN109461198B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102893275A (zh) * | 2010-05-14 | 2013-01-23 | 微软公司 | 自动社交网络图挖掘和可视化 |
CN103383772A (zh) * | 2012-05-01 | 2013-11-06 | 辉达公司 | 用于实施图形着色的系统、方法以及计算机程序产品 |
CN106537458A (zh) * | 2014-03-12 | 2017-03-22 | 利弗环球有限责任公司 | 用于基于顶点重构三维模型的系统和方法 |
CN106683199A (zh) * | 2015-11-06 | 2017-05-17 | 三星电子株式会社 | 3d图形渲染方法和设备 |
CN107563400A (zh) * | 2016-06-30 | 2018-01-09 | 中国矿业大学 | 一种基于网格的密度峰值聚类方法及系统 |
CN108491505A (zh) * | 2018-03-22 | 2018-09-04 | 中国科学院信息工程研究所 | 一种基于拓扑势值排序的dsatur图顶点着色方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109461198A (zh) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101504746B (zh) | 信息处理装置和信息处理方法 | |
CN109308386B (zh) | 工程图墙体识别方法、装置及电子设备 | |
US9792734B2 (en) | Methods and software for volume-centric shape abstraction and simplification of a 3D digital model | |
CN112767551B (zh) | 三维模型构建方法、装置以及电子设备、存储介质 | |
CN108230268A (zh) | 对图像进行补全 | |
Nguyen et al. | 3D material style transfer | |
CN109461198B (zh) | 网格模型的处理方法及装置 | |
CN111931809A (zh) | 数据的处理方法、装置、存储介质及电子设备 | |
CN101639767A (zh) | 用于改善图形性能的方法、装置和计算机程序产品 | |
CN110796016A (zh) | 工程图纸识别方法、电子设备及相关产品 | |
CN110569922A (zh) | 交互式层次聚类实现方法、装置、设备及可读存储介质 | |
CN110807213A (zh) | 一种构建三维bim模型立面图的方法和相关装置 | |
CN115423993A (zh) | 一种基于三维gis的分层分户单体化方法及系统 | |
US9536018B2 (en) | Computer-implemented method of identifying a group of perforations | |
CN115659900B (zh) | 用于呈现集成电路版图的方法、设备和介质 | |
JP4967045B2 (ja) | 背景判別装置、方法及びプログラム | |
EP3608868B1 (en) | Firefly detection using a plurality of buffers | |
US20120281014A1 (en) | Method and apparatus for detecting and avoiding conflicts of space entity element annotations | |
CN108288076B (zh) | 汽车配件聚类方法、装置、电子设备及存储介质 | |
CN102467741A (zh) | 对图像中的斑状区域进行检测的方法和装置 | |
CN111310266B (zh) | 建筑信息模型产品的几何数据分割方法 | |
KR102136222B1 (ko) | 그래프 데이터 클러스터링 시스템 및 방법과, 이를 위한 컴퓨터 프로그램 | |
Vittorietti et al. | General framework for testing Poisson‐Voronoi assumption for real microstructures | |
JP6954070B2 (ja) | 判別プログラム、判別方法および判別装置 | |
CN108038864B (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 |