CN108492380A - 一种三维模型的减面方法与装置、存储介质 - Google Patents
一种三维模型的减面方法与装置、存储介质 Download PDFInfo
- Publication number
- CN108492380A CN108492380A CN201810270981.XA CN201810270981A CN108492380A CN 108492380 A CN108492380 A CN 108492380A CN 201810270981 A CN201810270981 A CN 201810270981A CN 108492380 A CN108492380 A CN 108492380A
- Authority
- CN
- China
- Prior art keywords
- face
- archetype
- submodel
- subtracts
- subtract
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
Abstract
本发明适用于三维模型技术领域,提供了一种三维模型的减面方法与装置、存储介质,该减面方法包括:获取原始模型文件,并对原始模型文件进行校验与预处理;获取校验与预处理后的原始模型文件中的原始模型的数据信息;根据原始模型的数据信息制定减面策略,并根据减面策略对原始模型进行相应的减面。该减面方法可实现自动根据制定的减面策略对三维模型进行相应的减面,无需手动操作,提高了模型减面的效率,降低了成本。
Description
技术领域
本发明属于三维模型技术领域,尤其涉及一种三维模型的减面方法与装置、存储介质。
背景技术
三维模型已经广泛应用于各个领域,例如家居行业、建筑行业、医疗行业、电影行业、视频游戏产业以及在科学研究及工程应用等领域。三维模型物体是由三角形面片组成,三维模型的渲染及制作对硬件系统和建模软件的要求极高。一般三维模型的面数从几十到数百万不等,硬件配置过低的电脑处理稍微复杂的三维模型则会出现不同程度的卡顿,模型渲染的时间也随模型的复杂程度及模型的面数变化,因此三维模型的三角面数是影响模型渲染时效率和帧数的关键因素。
目前,现有技术主要采用以下两种方法对三维模型进行减面:第一种是使用一些主流建模软件官方提供的相关减面插件进行一定程度的自动减面;第二种是按照原模型的轮廓,重新构造出一个简化的模型,或者在原模型的基础上通过人工进行手动减面。
然而,虽然上述两种方法均可实现对三维模型进行减面,但是却有不同程度的缺陷存在。具体的,方法一中所使用的插件一般都需要付费,而且多边形减面工具生成的结果无法满足特殊需求,很难针对模型的特点进行精细处理,三角面片减到一定的比例就会出现不同程度的走样甚至变形;方法二需要以人眼来判断减面的效果,该方法虽然效果好,面片数量可人为控制,但是费时费工,人力成本极高,无法适应大规模化的模型处理。
故,有必要提供一种技术方案,以解决上述技术问题。
发明内容
有鉴于此,本发明实施例提供了一种三维模型的减面方法与装置、存储介质,其可实现自动根据制定的减面策略对三维模型进行相应的减面,无需手动操作,提高了模型减面的效率,降低了成本。
本发明实施例的第一方面提供了一种三维模型的减面方法,所述减面方法包括:
获取原始模型文件,并对所述原始模型文件进行校验与预处理;
获取校验与预处理后的所述原始模型文件中的原始模型的数据信息;
根据所述原始模型的数据信息制定减面策略,并根据所述减面策略对所述原始模型进行相应的减面。
本发明实施例的第二方面提供了一种三维模型的减面装置,所述减面装置包括:
检验处理模块,用于获取原始模型文件,并对所述原始模型文件进行校验与预处理;
获取模块,用于获取校验与预处理后的所述原始模型文件中的原始模型的数据信息;
减面模块,用于根据所述原始模型的数据信息制定减面策略,并根据所述减面策略对所述原始模型进行相应的减面。
本发明实施例的第三方面提供了一种三维模型的减面装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述三维模型的减面方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述三维模型的减面方法的步骤。
本发明实施例与现有技术相比存在的有益效果是:本发明通过获取原始模型文件,并对原始模型文件进行校验与预处理,获取校验与预处理后的原始模型文件中的原始模型的数据信息,根据原始模型的数据信息制定减面策略,并根据减面策略对原始模型进行相应的减面,进而实现自动根据制定的减面策略对三维模型进行相应的减面,无需手动操作,提高了模型减面的效率,降低了成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的三维模型的减面方法的实现流程示意图;
图2是图1所示的三维模型的减面方法中的步骤S13的实现流程示意图;
图3是图1所示的三维模型的减面方法中的步骤S13的另一实现流程示意图;
图4是图1所示的三维模型的减面方法中的步骤S13的又一实现流程示意图;
图5是本发明实施例二提供的三维模型的减面装置的结构示意图;
图6是本发明实施例三提供的三维模型的减面装置的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
参见图1,是本发明实施例一提供的一种三维模型的减面方法的示意流程图。如图1所示,该三维模型的减面方法可包括以下步骤:
步骤S11:获取原始模型文件,并对所述原始模型文件进行校验与预处理。
其中,在本发明实施例中,原始模型文件指的是包含初步制作成没有经过任何处理的原始三维模型的文件。
当三维模型的减面装置获取到原始模型文件后,开始对原始模型文件进行自动化的校验,以保证文件的通用性。
具体的,三维模型的减面装置在获取到原始模型文件后,对该原始模型文件的版本进行检查。若检查到该原始模型文件的版本过高的话,则对该原始模型文件的版本进行转换,以将其转换成目标版本,该目标版本优选为2014版本。
在本发明实施例中,由于3dx Max软件在使用时,低版本的软件不能打开高版本软件制作的模型,因此,为了保证模型文件能够打开,则统一将原始模型文件转换成适当的版本,以提高文件的通用性。
进一步的,在三维模型的减面装置对原始模型文件进行了版本转换后的初步校验后,三维模型的减面装置还将继续对原始模型文件进行校验。具体的,三维模型的减面装置按照弹窗点击策略对3dx Max在加载原始模型文件过程中的自动弹窗进行处理,以使得原始模型文件在加载过程中不受阻碍,以此保证原始模型文件的正常自动加载。
具体的,当3dx Max在原始模型文件的加载过程中出现弹窗之后,三维模型的减面装置按照弹窗点击策略对当时的情况做出选择,使得鼠标点击弹窗的相应的按键。例如,当3dx Max在原始模型文件的加载过程中出现信息提示框,而该信息提示框必须要求点击“确认”才可以使得3dx Max继续加载原始模型文件时,则三维模型的减面装置利用弹窗处理策略,控制鼠标自动点击“确认”,从而确保3dx Max自动加载原始模型文件的过程不会中断。
当三维模型的减面装置校验完原始模型文件后,三维模型的减面装置将对校验完之后的原始模型文件进行预处理操作,该预处理操作包括但不限于删除原始模型文件中的隐藏模型和异常物体、3dx Max软件默认属性参数的设置以及组合模型的解组处理等。
具体的,原始模型文件中的隐藏模型指的是隐藏在原始模型文件中不属于减面范畴的垃圾文件,而异常物体指的是因制图工程师疏忽多出的线条,例如单独存在模型中的线条。当三维模型的减面装置识别出原始文件中的隐藏模型和异常物体后,三维模型的减面装置将对其进行删除,以保证原始模型的减面流程稳定且可靠地完成。
进一步的,由于在原始模型之前的构建过程中,原建模人员可能修改了3dx Max软件的部分默认参数,例如可影响模型尺寸大小的单位参数,这些默认参数会保存在文件中,进而可能会影响减面流程,因此,在对原始模型文件中的原始模型进行减面时,三维模型的减面装置需根据参数设置策略统一修正3dx Max软件的默认设置,以保证原始模型的减面流程稳定且可靠地完成。
步骤S12:获取校验与预处理后的所述原始模型文件中的原始模型的数据信息。
其中,在本发明实施例中,原始模型的数据信息指的是该原始模型文件中的原始模型的相关数据参数,该数据参数包括但不限于原始模型的总面数、原始模型中各个子模型的面数、体积、表面积、面数阈值、原始模型的纹理信息以及法线信息等参数信息。
步骤S13:根据所述原始模型的数据信息制定减面策略,并根据所述减面策略对所述原始模型进行相应的减面。
其中,在本发明实施例中,当三维模型的减面装置获取的原始模型的上述参数信息后,便可根据相应的参数信息制定不同的减面策略,进而根据不同的减面策略对原始模型进行相应的减面。
具体的,作为本发明一优选实施方式,如图2所示,当原始模型的数据信息包括原始模型的总面数和该原始模型中包括的各个子模型的面数时,该步骤S13具体包括:
步骤S130:获取预设减面面数;其中,所述预设减面面数是针对所述原始模型设定的总减面面数。
其中,在本发明实施例中,预设减面面数是预先设定的、针对该原始模型需要减面的总面数,其可以根据需要进行设置,此处不做具体限制。
步骤S131:计算各个子模型的面数对所述原始模型的总面数的占比。
其中,在本发明实施例中,各个子模型的面数对原始模型的总面数的占比指的是各个子模型的面数占原始模型的总面数的比例。例如,若原始模型的总面数为一千,原始模型中的子模型a的面数为一百,子模型b的面数为二百,则该子模型a的面数对原始模型的总面数的占比则为十分之一,而子模型b的面数对原始模型的总面数的占比则为五分之一。
步骤S132:若所述各个子模型的面数对所述原始模型的总面数的占比分布均匀,则计算所述预设减面面数与所述原始模型的总面数之间的比值。
其中,在本发明实施例中,各个子模型的面数对原始模型的总面数的占比分布均匀指的是各个子模型的面数对原始模型的总面数的占比的差值在一定范围内,优选的该差值为零,即各个子模型的面数对原始模型的总面数的占比均相同。
例如,子模型a的面数对原始模型的总面数的占比为0.21,子模型b的面数对原始模型的总面数的占比为0.20,子模型c的面数对原始模型的总面数的占比为0.19,子模型d的面数对原始模型的总面数的占比为0.2以及子模型e的面数对原始模型的总面数的占比为0.2,则表明子模型a、b、c、d以及e的面数对原始模型的总面数的占比分布均匀。
进一步的,当三维模型的减面装置确定各个子模型的面数对原始模型的总面数的占比分布均匀,则计算预设减面面数与原始模型的总面数之间的比值。例如,假设预设减面面数为1000,而原始模型的总面数为10000,则预设减面面数与原始模型的总面数的比值为1000/10000=0.1。
步骤S133:根据所述比值对所述原始模型进行减面。
其中,在本发明实施例中,根据比值对原始模型进行减面指的是按照比值对原始模型进行整体减面。例如,当原始模型的总面数为10000,预设减面面数与原始模型的总面数的比值为0.1时,则按照0.1*10000的得数对原始模型进行减面。
需要说明的是,在本发明的其他实施例中,若各个子模型的面数对原始模型的总面数的占比分布不均匀,则根据原始模型的总面数、各个子模型的面数以及预设减面面数获取每个子模型的减面面数,并根据每个子模型的减面面数对每个子模型进行减面。
例如,当子模型a的面数对原始模型的总面数的占比为0.1,子模型b的面数对原始模型的总面数的占比为0.2,子模型c的面数对原始模型的总面数的占比为0.3,子模型d的面数对原始模型的总面数的占比为0.15,子模型e的面数对原始原始的总面数的占比为0.25,则表明子模型a、b、c、d以及e的面数对原始模型的总面数的占比分布不均匀。
当三维模型的减面装置确定各个子模型的面数对原始模型的总面数的占比分布不均匀,则根据公式:子模型面数/总面数*预设减面面数计算每个子模型的减面面数,其中,子模型面数指的是各个子模型的面数,总面数指的是原始模型的总面数。假设原始模型的总面数为10000,预设减面面数为1000,子模型a的面数为0.1*10000=1000,则子模型a的减面面数为1000/10000*1000=100;子模型b的面数为0.2*10000=2000,则子模型b的减面面数为2000/10000*1000=200;子模型c的面数为0.3*10000=3000,则子模型c的减面面数为3000/10000*1000=300;子模型d的面数为0.15*10000=1500,则子模型d的减面面数为1500/10000*1000=150;子模型e的面数为0.25*10000=2500,则子模型e的减面面数为2500/10000*1000=250。
当三维模型的减面装置确定了各个子模型的减面面数后,则将子模型a的面数减去100,将子模型b的面数减去200,将子模型c的面数减去300,将子模型d的面数减去150以及将子模型e的面数减去250,如此实现对原始模型的减面。
进一步的,作为本发明另一优选实施方式,如图3所示,当原始模型的数据信息包括原始模型中包括的各个子模型的面数、体积以及表面积时,该步骤S13具体包括:
步骤S134:获取预设减面面数;其中,所述预设减面面数是针对所述原始模型设定的总减面面数。
其中,在本发明实施例中,预设减面面数是预先设定的、针对该原始模型需要减面的总面数,其可以根据需要进行设置,此处不做具体限制。
步骤S135:根据所述原始模型中包括的各个子模型的面数、体积以及表面积计算所述各个子模型的面数密度。
其中,在本发明实施例中,面数密度指的是单位表面积或者单位体积所包含的面数。优选的,本发明实施中的面数密度是根据单位表面积所包含的面数计算的面数密度和单位体积所包含的面数计算的面数密度进行均值或者加权和之后所得到的面数密度。需要说明的是,各个子模型的体积和表面积计算方式与现有技术相同,此处不再赘述。
例如,对于子模型a而言,若其根据单位表面积所包含的面数计算得到的面数密度为10.5%,根据单位体积所包含的面数计算得到的面数密度为9.5%,则该子模型a的面数密度为(10.5%+9.5%)/2=10%。
步骤S136:根据所述面数密度与所述预设减面面数计算每个子模型的减面面数。
其中,在本发明实施例中,当三维模型的减面装置获取了每个子模型的面数密度后,则根据公式面数密度*预设减面面数计算每个子模型的减面面数。
例如,若子模型a的面数密度为10%,预设减面面数为1000,则子模型a的减面面数则为10%*1000=100。
步骤S137:根据所述每个子模型的减面面数对所述每个子模型进行减面。
其中,在本发明实施例中,当三维模型的减面装置计算得到每个子模型的减面面数后,则在每个子模型的面数基础上减去相应的减面面数即可。例如,假设子模型a的面数为1000,当三维模型的减面装置计算得到子模型a的减面面数为100后,则根据子模型的面数1000减去其减面面数100,便可实现对子模型a的减面。
需要说明的是,在本发明实施例中,原始模型中并不只包含子模型a,本实施例仅以子模型a为例进行说明,而该原始模型中的其他子模型的减面面数的计算以及如何减面的过程,可参考对子模型a的详细描述,此处不再赘述。
进一步的,作为本发明另一优选实施方式,如图4所示,当原始模型的数据信息包括原始模型中包括的各个子模型的面数以及面数阈值时,该步骤S13具体包括:
步骤S138:根据所述各个子模型的面数阈值设定所述各个子模型的目标面数。
其中,在本发明实施例中,面数阈值指的是在保证不会破面、黑面的前提下,同时保证一定的面数密度的前提下,一个子模型的面数。
进一步的,面数阈值是通过测试大量模型样本,在对各个模型进行减面后模型的效果以及性能最佳时,模型所包含的面数。在得到大量样本的阈值后,将大量样本的阈值经过插值拟合后,以此构成阈值函数,而在需要计算一个新模型的面数阈值时,则只需要通过该阈值函数便可确定。
由于面数阈值是一个面数最少所包含的面数,因此,当三维模型的减面装置确定了各个子模型的面数阈值后,便可根据该子模型的面数阈值设定该子模型的目标面数,该目标面数不小于面数阈值。
步骤S139:将每个子模型的目标面数与每个子模型的面数进行比较。
其中,在本发明实施例中,当三维模型的减面装置获取了每个子模型的目标面数后,三维模型便可将获取的目标面数与模型本身的面数进行比较,以确定该子模型是否需要减面。
步骤S140:若所述每个子模型的目标面数等于所述每个子模型的面数,则不对所述每个子模型进行减面。
其中,在本发明实施例中,由于子模型的目标面数是根据相应的面数阈值设定的,而面数阈值又是一个子模型必须包含的最少的面数,因此,当子模型的目标面数等于子模型的面数后,则表明该子模型不能再进行减面,如果对该子模型进行减面,则将发生黑面或者破面的情况,因此此时不对子模型进行减面。
在本发明的其他实施例中,当子模型的目标面数小于子模型的面数后,则表明该子模型还可再进行减面,此时三维模型的减面装置需对每个子模型进行减面。
具体的,每个三维模型的减面装置根据每个子模型的面数和该子模型的目标面数对每个子模型进行减面。例如,若子模型a的目标面数为1000,而该子模型a的面数为1100,则此时三维模型的减面装置可将子模型a减到目标面数1000。
进一步的,三维模型的减面装置还可获取原始模型的纹理信息和法线信息,其中原始模型的纹理信息指的是原始模型的表面的纹理,而原始模型的法线信息指的是原始模型的每个面的法线信息。
三维模型的减面装置获取了原始模型的纹理信息与法线信息后,对该纹理信息和法线信息进行存储。当三维模型的减面装置对原始模型进行减面后,此时三维模型的减面装置再次获取减面之后的原始模型的纹理信息和法线信息,并将减面前的原始模型的纹理信息和法线信息与减面之后的原始模型的纹理信息和法线信息进行比较,以确定减面之后的原始模型没有发生变形,进而使得模型在减面过程中具有更高的保真率和还原度。
在本实施例中,本发明通过获取原始模型文件,并对原始模型文件进行校验与预处理,获取校验与预处理后的原始模型文件中的原始模型的数据信息,根据原始模型的数据信息制定减面策略,并根据减面策略对原始模型进行相应的减面,进而实现自动根据制定的减面策略对三维模型进行相应的减面,无需手动操作,提高了模型减面的效率,降低了成本。
参见图5,是本发明实施例二提供的三维模型的减面装置5的示意性框图。本发明实施例提供的三维模型的减面装置5包括的各模块用于执行图1至图4对应的实施例中的各步骤,具体请参阅图1至图4,以及图1至图4对应的实施例中的相关描述,此处不再赘述。本发明实施例提供的三维模型的减面装置5包括校验处理模块50、获取模块51以及减面模块52。
其中,检验处理模块50,用于获取原始模型文件,并对原始模型文件进行校验与预处理。
获取模块51,用于获取校验与预处理后的原始模型文件中的原始模型的数据信息。
减面模块52,用于根据原始模型的数据信息制定减面策略,并根据减面策略对原始模型进行相应的减面。
进一步的,当数据信息包括原始模型的总面数与原始模型中包括的各个子模型的面数时,减面模块52具体用于:获取预设减面面数;其中,预设减面面数是针对原始模型设定的总减面面数;计算各个子模型的面数对原始模型的总面数的占比;若各个子模型的面数对原始模型的总面数的占比分布均匀,则计算预设减面面数与原始模型的总面数之间的比值;根据比值对原始模型进行减面。
进一步的,减面模块52还用于若各个子模型的面数对原始模型的总面数的占比分布不均匀,则根据原始模型的总面数、各个子模型的面数以及预设减面面数获取每个子模型的减面面数,并根据每个子模型的减面面数对每个子模型进行减面。
进一步的,当数据信息包括原始模型中包括的各个子模型的面数、体积以及表面积时,减面模块52具体用于:获取预设减面面数;其中,预设减面面数是针对原始模型设定的总减面面数;根据原始模型中包括的各个子模型的面数、体积以及表面积计算各个子模型的面数密度;根据面数密度与预设减面面数计算每个子模型的减面面数;根据每个子模型的减面面数对每个子模型进行减面。
进一步的,当数据信息包括原始模型中包括的各个子模型的面数以及面数阈值时,减面模块52具体用于:根据各个子模型的面数阈值设定各个子模型的目标面数;将每个子模型的目标面数与每个子模型的面数进行比较;若每个子模型的目标面数等于每个子模型的面数,则不对每个子模型进行减面。
进一步的,减面模块52还用于若每个子模型的目标面数小于每个子模型的面数,则对每个子模型进行减面。
在本实施例中,三维模型的减面装置5通过获取原始模型文件,并对原始模型文件进行校验与预处理,获取校验与预处理后的原始模型文件中的原始模型的数据信息,根据原始模型的数据信息制定减面策略,并根据减面策略对原始模型进行相应的减面,进而实现自动根据制定的减面策略对三维模型进行相应的减面,无需手动操作,提高了模型减面的效率,降低了成本。
图6是本发明实施例三提供的三维模型的减面装置6的示意图。如图6所示,该实施例的三维模型的减面装置6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如三维模型的减面方法程序。所述处理器60执行所述计算机程序62时实现上述各个三维模型的减面方法实施例中的步骤,例如图1所示的步骤11至13。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图5所示模块50至52的功能。
示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述三维模型的减面装置6中的执行过程。例如,所述计算机程序62可以被分割成校验处理模块、获取模块以及减面模块(装置中的虚拟模块),各模块具体功能如下:
检验处理模块,用于获取原始模型文件,并对原始模型文件进行校验与预处理。
获取模块,用于获取校验与预处理后的原始模型文件中的原始模型的数据信息。
减面模块,用于根据原始模型的数据信息制定减面策略,并根据减面策略对原始模型进行相应的减面。
进一步的,当数据信息包括原始模型的总面数与原始模型中包括的各个子模型的面数时,减面模块具体用于:获取预设减面面数;其中,预设减面面数是针对原始模型设定的总减面面数;计算各个子模型的面数对原始模型的总面数的占比;若各个子模型的面数对原始模型的总面数的占比分布均匀,则计算预设减面面数与原始模型的总面数之间的比值;根据比值对原始模型进行减面。
进一步的,减面模块还用于若各个子模型的面数对原始模型的总面数的占比分布不均匀,则根据原始模型的总面数、各个子模型的面数以及预设减面面数获取每个子模型的减面面数,并根据每个子模型的减面面数对每个子模型进行减面。
进一步的,当数据信息包括原始模型中包括的各个子模型的面数、体积以及表面积时,减面模块具体用于:获取预设减面面数;其中,预设减面面数是针对原始模型设定的总减面面数;根据原始模型中包括的各个子模型的面数、体积以及表面积计算各个子模型的面数密度;根据面数密度与预设减面面数计算每个子模型的减面面数;根据每个子模型的减面面数对每个子模型进行减面。
进一步的,当数据信息包括原始模型中包括的各个子模型的面数以及面数阈值时,减面模块具体用于:根据各个子模型的面数阈值设定各个子模型的目标面数;将每个子模型的目标面数与每个子模型的面数进行比较;若每个子模型的目标面数等于每个子模型的面数,则不对每个子模型进行减面。
进一步的,减面模块还用于若每个子模型的目标面数小于每个子模型的面数,则对每个子模型进行减面。
所述三维模型的减面装置6可以是各种处理器,也可以是处理器内部的一个减面模块。所述三维模型的减面装置6可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是三维模型的减面装置6的示例,并不构成对三维模型的减面装置6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述三维模型的减面装置6还可以包括输入输出设备、网络接入设备、总线等。
所称处理器60可以是微控制单元(Micro controller Unit,MCU)、中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是所述三维模型的减面装置6的内部存储单元,例如三维模型的减面装置6的硬盘或内存。所述存储器61也可以是所述三维模型的减面装置6的外部存储设备,例如所述三维模型的减面装置6上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
进一步地,所述存储器61还可以既包括所述三维模型的减面装置6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述三维模型的减面装置6所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种三维模型的减面方法,其特征在于,所述减面方法包括:
获取原始模型文件,并对所述原始模型文件进行校验与预处理;
获取校验与预处理后的所述原始模型文件中的原始模型的数据信息;
根据所述原始模型的数据信息制定减面策略,并根据所述减面策略对所述原始模型进行相应的减面。
2.根据权利要求1所述的减面方法,其特征在于,所述数据信息包括所述原始模型的总面数与所述原始模型中包括的各个子模型的面数,所述根据所述原始模型的数据信息制定减面策略,并根据所述减面策略对所述原始模型进行相应的减面包括:
获取预设减面面数;其中,所述预设减面面数是针对所述原始模型设定的总减面面数;
计算各个子模型的面数对所述原始模型的总面数的占比;
若所述各个子模型的面数对所述原始模型的总面数的占比分布均匀,则计算所述预设减面面数与所述原始模型的总面数之间的比值;
根据所述比值对所述原始模型进行减面。
3.根据权利要求2所述的减面方法,其特征在于,所述减面方法还包括:
若所述各个子模型的面数对所述原始模型的总面数的占比分布不均匀,则根据所述原始模型的总面数、所述各个子模型的面数以及所述预设减面面数获取每个子模型的减面面数,并根据所述每个子模型的减面面数对所述每个子模型进行减面。
4.根据权利要求1所述的减面方法,其特征在于,所述数据信息包括所述原始模型中包括的各个子模型的面数、体积以及表面积,所述根据所述原始模型的数据信息制定减面策略,并根据所述减面策略对所述原始模型进行相应的减面包括:
获取预设减面面数;其中,所述预设减面面数是针对所述原始模型设定的总减面面数;
根据所述原始模型中包括的各个子模型的面数、体积以及表面积计算所述各个子模型的面数密度;
根据所述面数密度与所述预设减面面数计算每个子模型的减面面数;
根据所述每个子模型的减面面数对所述每个子模型进行减面。
5.根据权利要求1所述的减面方法,其特征在于,所述数据信息包括所述原始模型中包括的各个子模型的面数以及面数阈值,所述根据所述原始模型的数据信息制定减面策略,并根据所述减面策略对所述原始模型进行相应的减面包括:
根据所述各个子模型的面数阈值设定所述各个子模型的目标面数;
将每个子模型的目标面数与每个子模型的面数进行比较;
若所述每个子模型的目标面数等于所述每个子模型的面数,则不对所述每个子模型进行减面。
6.根据权利要求5所述的减面方法,其特征在于,所述减面方法还包括:
若所述每个子模型的目标面数小于所述每个子模型的面数,则对所述每个子模型进行减面。
7.一种三维模型的减面装置,其特征在于,所述减面装置包括:
检验处理模块,用于获取原始模型文件,并对所述原始模型文件进行校验与预处理;
获取模块,用于获取校验与预处理后的所述原始模型文件中的原始模型的数据信息;
减面模块,用于根据所述原始模型的数据信息制定减面策略,并根据所述减面策略对所述原始模型进行相应的减面。
8.根据权利要求7所述的减面装置,其特征在于,所述数据信息包括所述原始模型的总面数与所述原始模型中包括的各个子模型的面数,所述减面模块具体用于:
获取预设减面面数;其中,所述预设减面面数是针对所述原始模型设定的总减面面数;
计算各个子模型的面数对所述原始模型的总面数的占比;
若所述各个子模型的面数对所述原始模型的总面数的占比分布均匀,则计算所述预设减面面数与所述原始模型的总面数之间的比值;
根据所述比值对所述原始模型进行减面。
9.一种三维模型的减面装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的三维模型的减面方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的三维模型的减面方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810270981.XA CN108492380B (zh) | 2018-03-29 | 2018-03-29 | 一种三维模型的减面方法与装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810270981.XA CN108492380B (zh) | 2018-03-29 | 2018-03-29 | 一种三维模型的减面方法与装置、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108492380A true CN108492380A (zh) | 2018-09-04 |
CN108492380B CN108492380B (zh) | 2022-04-26 |
Family
ID=63316779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810270981.XA Active CN108492380B (zh) | 2018-03-29 | 2018-03-29 | 一种三维模型的减面方法与装置、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108492380B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109272567A (zh) * | 2018-11-29 | 2019-01-25 | 成都四方伟业软件股份有限公司 | 模型优化方法和装置 |
CN109960887A (zh) * | 2019-04-01 | 2019-07-02 | 网易(杭州)网络有限公司 | 基于lod的模型制作方法及装置、存储介质及电子设备 |
CN110363845A (zh) * | 2019-07-22 | 2019-10-22 | 南京聚润工程科技有限公司 | 一种bim三维模型分减面存储并重构的方法及系统 |
CN110517342A (zh) * | 2019-07-25 | 2019-11-29 | 北京达佳互联信息技术有限公司 | 目标对象显示方法、装置、电子设备及存储介质 |
CN111210505A (zh) * | 2019-12-30 | 2020-05-29 | 南昌市小核桃科技有限公司 | 3d模型加载方法、服务器、存储介质、处理器 |
CN112652070A (zh) * | 2020-12-21 | 2021-04-13 | 深圳市彬讯科技有限公司 | 三维模型的减面方法、装置、设备及介质 |
CN116402988A (zh) * | 2023-05-11 | 2023-07-07 | 北京冰河起源科技有限公司 | 三维模型处理方法、装置及存储介质 |
CN117058668A (zh) * | 2023-10-10 | 2023-11-14 | 中冶武勘智诚(武汉)工程技术有限公司 | 一种三维模型减面评估方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110050691A1 (en) * | 2008-02-01 | 2011-03-03 | Koshjar Hamedi | Real-time user guided optimization of general 3d data |
CN106600700A (zh) * | 2015-10-20 | 2017-04-26 | 星际空间(天津)科技发展有限公司 | 一种三维模型数据处理系统 |
CN106846487A (zh) * | 2016-12-20 | 2017-06-13 | 广州爱九游信息技术有限公司 | 减面方法、设备及显示设备 |
CN107452058A (zh) * | 2017-09-01 | 2017-12-08 | 山东师范大学 | 基于特征保留的仿真模型分程度简化方法生成及系统 |
-
2018
- 2018-03-29 CN CN201810270981.XA patent/CN108492380B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110050691A1 (en) * | 2008-02-01 | 2011-03-03 | Koshjar Hamedi | Real-time user guided optimization of general 3d data |
CN106600700A (zh) * | 2015-10-20 | 2017-04-26 | 星际空间(天津)科技发展有限公司 | 一种三维模型数据处理系统 |
CN106846487A (zh) * | 2016-12-20 | 2017-06-13 | 广州爱九游信息技术有限公司 | 减面方法、设备及显示设备 |
CN107452058A (zh) * | 2017-09-01 | 2017-12-08 | 山东师范大学 | 基于特征保留的仿真模型分程度简化方法生成及系统 |
Non-Patent Citations (2)
Title |
---|
B. ROSARIO CAMPOMANES-ÁLVAREZ: "Evolutionary multi-objective optimization for mesh simplification of 3D open models", 《INTEGRATED COMPUTER-AIDED ENGINEERING》 * |
余芳强 等: "面向网络化应用的古建筑BIM模型轻量化处理技术", 《建筑施工》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109272567B (zh) * | 2018-11-29 | 2023-03-14 | 成都四方伟业软件股份有限公司 | 三维模型优化方法和装置 |
CN109272567A (zh) * | 2018-11-29 | 2019-01-25 | 成都四方伟业软件股份有限公司 | 模型优化方法和装置 |
CN109960887A (zh) * | 2019-04-01 | 2019-07-02 | 网易(杭州)网络有限公司 | 基于lod的模型制作方法及装置、存储介质及电子设备 |
CN110363845A (zh) * | 2019-07-22 | 2019-10-22 | 南京聚润工程科技有限公司 | 一种bim三维模型分减面存储并重构的方法及系统 |
CN110517342A (zh) * | 2019-07-25 | 2019-11-29 | 北京达佳互联信息技术有限公司 | 目标对象显示方法、装置、电子设备及存储介质 |
CN110517342B (zh) * | 2019-07-25 | 2023-05-30 | 北京达佳互联信息技术有限公司 | 目标对象显示方法、装置、电子设备及存储介质 |
CN111210505A (zh) * | 2019-12-30 | 2020-05-29 | 南昌市小核桃科技有限公司 | 3d模型加载方法、服务器、存储介质、处理器 |
CN112652070B (zh) * | 2020-12-21 | 2023-01-13 | 深圳市彬讯科技有限公司 | 三维模型的减面方法、装置、设备及介质 |
CN112652070A (zh) * | 2020-12-21 | 2021-04-13 | 深圳市彬讯科技有限公司 | 三维模型的减面方法、装置、设备及介质 |
CN116402988A (zh) * | 2023-05-11 | 2023-07-07 | 北京冰河起源科技有限公司 | 三维模型处理方法、装置及存储介质 |
CN116402988B (zh) * | 2023-05-11 | 2023-12-19 | 北京冰河起源科技有限公司 | 三维模型处理方法、装置及存储介质 |
CN117058668A (zh) * | 2023-10-10 | 2023-11-14 | 中冶武勘智诚(武汉)工程技术有限公司 | 一种三维模型减面评估方法及装置 |
CN117058668B (zh) * | 2023-10-10 | 2024-02-02 | 中冶武勘智诚(武汉)工程技术有限公司 | 一种三维模型减面评估方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108492380B (zh) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108492380A (zh) | 一种三维模型的减面方法与装置、存储介质 | |
CN108573279A (zh) | 图像标注方法及终端设备 | |
CN107730196A (zh) | 项目进度管理方法及终端设备 | |
CN108416664A (zh) | 基于消费信贷场景的风险评估方法及系统实现 | |
CN107393118B (zh) | 一种纸币的识别方法、装置、终端设备和计算机存储介质 | |
CN107317638A (zh) | 蓝牙测试的方法、终端设备及计算机可读存储介质 | |
CN108763268A (zh) | 一种三维模型的批处理方法与装置、存储介质 | |
CN109272219A (zh) | 绩效考核方法、装置、计算机设备及存储介质 | |
CN108564550A (zh) | 图像处理方法、装置及终端设备 | |
CN109242363B (zh) | 一种基于多种质量控制模型的全生命周期测试管理平台 | |
CN107609797A (zh) | 电力作业稽查方法及终端设备 | |
CN107784063A (zh) | 算法的生成方法及终端设备 | |
CN109886087A (zh) | 一种基于神经网络的活体检测方法及终端设备 | |
CN110287767A (zh) | 可防攻击的活体检测方法、装置、计算机设备及存储介质 | |
CN110458594A (zh) | 一种基于用户权重的网络调查问卷生成方法和装置 | |
CN110231974A (zh) | 运维信息的可视化方法、装置、设备及可读存储介质 | |
CN108830830A (zh) | 一种脑萎缩程度的定量检测方法、检测装置及终端设备 | |
CN109522919A (zh) | 一种数据评估方法及装置 | |
CN108228785A (zh) | 设备参数的核查方法和核查装置 | |
CN107957945A (zh) | 货币基金系统自动性能测试方法、装置、设备及存储介质 | |
CN108573477A (zh) | 消除图像摩尔纹的方法、系统及终端设备 | |
CN109871962A (zh) | 一种终端价格评估的方法及终端设备 | |
CN111754330A (zh) | 定期账户提前支取的计息装置及方法 | |
CN109472457A (zh) | 贷款申请在线面审方法及终端设备 | |
EP3270308A1 (en) | Method for providing a secondary parameter, decision support system, computer-readable medium and computer program product |
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 | ||
CB02 | Change of applicant information |
Address after: 518000 R & D building 3501, block a, building 7, Vanke Cloud City Phase I, Xingke 1st Street, Xili community, Xili street, Nanshan, Shenzhen, Guangdong Applicant after: Tubatu Group Co.,Ltd. Address before: 1001-a, 10th floor, bike technology building, No.9, Keke Road, high tech Zone, Nanshan District, Shenzhen, Guangdong 518000 Applicant before: SHENZHEN BINCENT TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |