CN112465985B - 网格模型简化方法以及装置 - Google Patents
网格模型简化方法以及装置 Download PDFInfo
- Publication number
- CN112465985B CN112465985B CN202011327954.5A CN202011327954A CN112465985B CN 112465985 B CN112465985 B CN 112465985B CN 202011327954 A CN202011327954 A CN 202011327954A CN 112465985 B CN112465985 B CN 112465985B
- Authority
- CN
- China
- Prior art keywords
- vertex
- point
- redundant
- value
- grid model
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
Abstract
本申请公开了一种网格模型简化方法以及装置。具体实现方案为:方法包括:获取图形的原始网格模型,遍历原始网格模型中全部顶点,计算顶点重要值;将最小的顶点重要值对应的顶点确定为冗余点,并确定冗余点的全部邻接边;遍历全部邻接边,计算邻接边重要值,将最小的邻接边重要值对应的邻接边确定为冗余边;将冗余点沿冗余边移动至冗余边的另一端点,使得冗余点与端点合并;在经过合并后的总顶点数达到阈值的情况下,得到简化后网格模型。逐次减少对网格模型影响较小的顶点,保留对网格模型影响较大的顶点,得到的简化后网格模型能够用最小的点阵数据显示最优质的图形,节约了简化图形的运作成本,提高了图形质量。
Description
技术领域
本申请涉及计算机图形领域,尤其涉及网格模型简化领域。
背景技术
在计算机图形学应用中,为了尽可能真实呈现虚拟物体,往往需要高精度的三维模型。然而,模型的复杂性直接关系到它的计算成本,因此高精度的模型在几何运算时并不是必须的,取而代之的是一个相对简化的三维模型,那么如何自动计算生成这些三维简化模型就是网格模型简化方法所关注的,即通过网格模型简化方法得到的。
在计算机图形学的实体仿真技术中,三角形网格是实体描述的基本单位,任意复杂的对象实体都可用三角形网格表示、构造。网格模型简化方法的实质是:在尽量保证简化前后的网格模型特征变化最小的情况下,寻求最少数量三角形网格模型的简化表示方法。目前,网格模型简化方法通常是通过删除或修改模型中对视觉效果影响不大的部分三角形网格的面片信息(包括顶点、边和三角形面片)以减少三角形面片数量。然而,虽然目前的网格模型简化方法虽然大幅度减少简化时间,但是,利用现有的网格模型简化方法得到的简化后的三维模型,图形仿真质量较差。
发明内容
本申请实施例提供一种网格模型简化方法以及装置,以解决相关技术存在的问题,技术方案如下:
第一方面,本申请实施例提供了一种网格模型简化方法,包括:
获取图形的原始网格模型,遍历原始网格模型中全部顶点,计算顶点重要值;
将最小的顶点重要值对应的顶点确定为冗余点,并确定冗余点的全部邻接边;
遍历全部邻接边,计算邻接边重要值,将最小的邻接边重要值对应的邻接边确定为冗余边;
将冗余点沿冗余边移动至冗余边的另一端点,使得冗余点与端点合并;
在经过合并后的总顶点数达到阈值的情况下,得到简化后网格模型。
在一种实施方式中,顶点重要值用于表示删除顶点,对当前网格模型的影响程度;邻接边重要值用于表示将冗余点和邻接边的另一端点合并,对当前网格模型的影响程度。
在一种实施方式中,还包括:
在经过合并后的总顶点数未达到阈值的情况下,针对更新后网格模型,返回执行遍历原始网格模型中全部顶点,计算顶点重要值的步骤。
在一种实施方式中,顶点重要值的计算步骤,包括:
针对每个顶点,根据顶点的最短邻接距离与最大曲率值的乘积,得到顶点重要值。
在一种实施方式中,针对每个顶点,根据顶点的最短邻接距离与最大曲率值的乘积,得到顶点的重要值,包括:
确定顶点P的全部邻接点P1、P2…Pn,并假设一点O,连接点O与全部邻接点P1、P2…Pn,构成多个三角形P1P2O、P2P3O……PnP1O;
计算顶点P分别到各个三角形P1P2O、P2P3O……PnP1O的距离H(P),并确定顶点P的最短邻接距离Hmin(P),n大于或等于1;
多个三角形P1P2O、P2P3O……PnP1O对应的单位法向量为U1、U2……Un,计算顶点P的法向量与单位法向量U1、U2……Un的夹角,作为顶点P的曲率值W(P),确定顶点P的最大曲率值Wmax(P);
计算Hmin(P)与Wmax(P)的乘积,作为顶点P的重要值Hmin(P)*Wmax(P)。
在一种实施方式中,最小的顶点重要值对应的顶点Q为冗余点,确定冗余点Q对应的全部邻接边QQ1、QQ2…QQm…QQn,n、m大于或等于1,n大于m;
计算全部邻接边的重要值,包括:
针对邻接边QQm,冗余点Q沿邻接边QQm合并,除去邻接边QQm的两个公共邻接三角形外,对合并前冗余点Q的邻接三角形QQ1Q2、QQ2Q3…QQ3Qm-1的单位法向量,分别与合并后对应的三角形QmQ1Q2、QmQ2Q3……QmQ3Qm-1的单位法向量之间的夹角,进行求和,得到角度
角度与邻接边QQm的长度的乘积,得到邻接边QQm的重要值。
在一种实施方式中,阈值大于或等于图形轮廓对应的关键点个数。
第二方面,本申请实施例提供了一种网格模型简化装置,包括:
顶点重要值计算模块,用于获取图形的原始网格模型,遍历原始网格模型中全部顶点,计算顶点重要值;
冗余点确定模块,用于将最小的顶点重要值对应的顶点确定为冗余点,并确定冗余点的全部邻接边;
冗余边确定模块,用于遍历全部邻接边,计算邻接边重要值,将最小的邻接边重要值对应的邻接边确定为冗余边;
顶点合并模块,用于将冗余点沿冗余边移动至冗余边的另一端点,使得冗余点与端点合并;
简化网格模型生成模块,用于在经过合并后的总顶点数达到阈值的情况下,得到简化后网格模型。
在一种实施方式中,顶点重要值用于表示删除顶点,对当前网格模型的影响程度;邻接边重要值用于表示将冗余点和邻接边的另一端点合并,对当前网格模型的影响程度。
在一种实施方式中,还包括:
触发执行模块,用于在经过合并后的总顶点数未达到阈值的情况下,针对更新后网格模型,触发顶点重要值计算模块执行遍历原始网格模型中全部顶点,计算顶点重要值的步骤。
在一种实施方式中,顶点重要值计算模块包括:
顶点重要值计算子模块,用于针对每个顶点,根据顶点的最短邻接距离与最大曲率值的乘积,得到顶点重要值。
在一种实施方式中,顶点重要值计算子模块包括:
三角形形成单元,用于确定顶点P的全部邻接点P1、P2…Pn,并假设一点O,连接点O与全部邻接点P1、P2…Pn,构成多个三角形P1P2O、P2P3O……PnP1O;
最短邻接距离计算单元,用于计算顶点P分别到各个三角形的P1P2O、P2P3O……PnP1O的距离H(P),并确定顶点P的最短邻接距离Hmin(P),n大于或等于1;
曲率值计算单元,用于多个三角形P1P2O、P2P3O……PnP1O对应的单位法向量为U1、U2……Un,计算顶点P的法向量与单位法向量U1、U2……Un的夹角,作为顶点P的曲率值W(P),确定顶点P的最大曲率值Wmax(P);
顶点重要值计算单元,用于计算Hmin(P)与Wmax(P)的乘积,作为顶点P的重要值Hmin(P)*Wmax(P)。
在一种实施方式中,最小的顶点重要值对应的顶点Q为冗余点,确定冗余点Q对应的全部邻接边QQ1、QQ2…QQm…QQn n、m大于或等于1,n大于m;
冗余边确定模块包括:
夹角求和子模块,用于针对邻接边QQm,冗余点Q沿邻接边QQm合并,除去邻接边QQm的两个公共邻接三角形外,对合并前冗余点Q的邻接三角形QQ1Q2、QQ2Q3…QQ3Qm-1的单位法向量,分别与合并后对应的三角形QmQ1Q2、QmQ2Q3……QmQ3Qm-1的单位法向量之间的夹角,进行求和,得到角度
邻接边重要值计算子模块,用于角度与邻接边QQm的长度的乘积,得到邻接边QQm的重要值。
在一种实施方式中,阈值包括图形的轮廓对应的关键点个数。
第三方面,提供了一种电子设备,包括:
至少一个处理器;以及与至少一个处理器通信连接的存储器;
其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述任一项的方法。
第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行上述任一项的方法。
上述申请中的一个实施例具有如下优点或有益效果:通过计算原始网格模型中全部顶点的顶点重要值,来确定冗余点以及冗余点的邻接边,通过计算全部邻接边的邻接边重要值,来确定冗余边,作为冗余边一端点的冗余点和冗余边的另一端点合并,得到更新后的网格模型,返回继续遍历更新后的网格模型中全部顶点的顶点重要值之后的步骤,直至合并后的总顶点数达到阈值的情况下,得到简化后网格模型。通过确定冗余点和冗余边,将冗余点沿着冗余边进行顶点合并,逐次减少对网格模型影响较小的顶点,保留对网格模型影响较大的顶点,得到的简化后网格模型能够用最小的点阵数据显示最优质的图形,从而节约了简化图形的运作成本,提高了图形质量,实现高度逼真与高度简化的统一。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请一实施例的一种网格模型简化方法的示意图;
图2是根据本申请另一实施例的一种网格模型简化方法的示意图;
图3是根据本申请一实施例的一种顶点重要值的计算方法的示意图;
图4是根据本申请一实施例的计算顶点P的重要值对应的网格模型示意图;
图5是根据本申请另一实施例的冗余点合并前后的网格模型示意图;
图6是根据本申请一实施例的一种网格模型简化装置的示意图;
图7是根据本申请一实施例的一种顶点重要值计算子模块的示意图;
图8是根据本申请另一实施例的一种冗余边确定模块的示意图;
图9是用来实现本申请实施例的一种网格模型简化方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
如图1所示,在一种具体实施方式中,提供了一种网格模型简化方法,包括:
步骤S110:获取图形的原始网格模型,遍历原始网格模型中全部顶点,计算顶点重要值;
步骤S120:将最小的顶点重要值对应的顶点确定为冗余点,并确定冗余点的全部邻接边;
步骤S130:遍历全部邻接边,计算邻接边重要值,将最小的邻接边重要值对应的邻接边确定为冗余边;
步骤S140:将冗余点沿冗余边移动至冗余边的另一端点,使得冗余点与端点合并;
步骤S150:在经过合并后的总顶点数达到阈值情况下,得到简化后网格模型。
一种示例中,各种图形例如动物图形、植物图形、物体图形以及人脸图形等,为了尽可能真实呈现这些图形,往往需要高精度的三维模型即原始网格模型。在人脸识别、图形简化实例中,将高精度的三维模型通过本实施方式提供的简化方法转换成简化的三维模型,不仅减少了简化时间,还提高了简化后图形的仿真质量。
如图2所示,具体说明本实施方式提供的网格模型简化方法:首先,获取图形的原始网格模型,遍历原始网格模型中全部的网格顶点,根据本实施方式提供的算法计算每个顶点的顶点重要值,此算法将在后续进行详细描述。顶点重要值用于表示删除顶点对原始网格模型的影响程度。如果删除顶点后,影响程度越大,则重要值越高,反之,删除顶点后,影响程度越小,则重要值越低。影响程度越小的顶点作为冗余点的可能性越高。将计算得到的多个顶点重要值存入队列中,队列根据顶点重要值由小到大的次序进行排列。由于队首顶点的值最小,所以,选择队首顶点作为冗余点,同时确定冗余点的全部邻接边,即冗余点作为邻接边的一个端点。然后,根据本实施方式提供的另一种算法计算冗余点的全部邻接边的邻接边重要值,邻接边重要值用于表示合并冗余点和邻接边上另一端点,会对原始网格模型的影响程度。此种算法将在后续进行详细描述。将计算得到的多个邻接边重要值存入队列中,队列根据邻接边重要值由小到大的次序进行排列。由于队首邻接边的值最小,所以,选择队首邻接边作为冗余边。需要指出的是,冗余边包括一端点即冗余点,以及另一端点即折叠点。将冗余点向折叠点进行折叠,直至冗余点和折叠点合并。合并后,顶点的数量和模型结构发生更新,继续遍历更新后网格模型中的顶点,计算顶点重要值,即执行步骤S110-S140,直至经过合并后的总顶点数达到阈值的情况下,得到简化后网格模型。阈值的取值大于或等于图形轮廓的关键点个数。图形轮廓的关键点个数是能够体现图形轮廓的最少顶点数,保证简化后网格模型能够体现图形的轮廓。还可以对原始网格模型的更新次数进行预设,在达到预设次数的情况下,停止合并顶点。
本实施方式中,提供的网格模型简化方法,通过计算原始网格模型中全部顶点的顶点重要值,来确定冗余点以及冗余点的邻接边,通过计算全部邻接边的邻接边重要值,来确定冗余边,作为冗余边一端点的冗余点和冗余边的另一端点合并,得到更新后的网格模型,返回继续遍历更新后的网格模型中全部顶点的顶点重要值之后的步骤,直至合并后的总顶点数达到阈值的情况下,得到简化后网格模型。通过确定冗余点和冗余边,将冗余点沿着冗余边进行顶点合并,逐次减少对网格模型影响较小的顶点,保留对网格模型影响较大的顶点,得到的简化后网格模型能够用最小的点阵数据显示最优质的图形,从而节约了简化图形的运作成本,提高了图形质量。
在一种实施方式中,顶点重要值用于表示删除顶点,对当前网格模型的影响程度;邻接边重要值用于表示将冗余点和邻接边的另一端点合并,对当前网格模型的影响程度。
一种示例中,在利用本实施方式提供的简化网格模型方法更新网格模型过程中,逐次找出对当前网格模型影响最小的顶点和邻接边,作为冗余点和冗余边,保证合并后的顶点是趋于图形轮廓的关键点,保证简化后网格模型能够表示出图形的基础形状。
在一种实施方式中,还包括:
在经过合并后的总顶点数未达到阈值的情况下,针对更新后网格模型,返回执行步骤S110。
一种示例中,如图2所示,在更新次数未达到预设次数,或经过合并后的总顶点数未达到阈值的情况下,返回继续执行步骤S110-S140:获取更新的网格模型,遍历更新的网格模型中全部顶点,计算顶点重要值;将最小的顶点重要值对应的顶点确定为冗余点,并确定冗余点的全部邻接边;遍历全部邻接边,计算邻接边重要值,将最小的邻接边重要值对应的邻接边确定为冗余边;将冗余点沿冗余边移动至冗余边的另一端点,使得冗余点与端点合并,之后继续判断合并后的总顶点数是否达到阈值或更新次数是否达到预设次数。
在一种实施方式中,顶点重要值的计算步骤,包括:
步骤S111:针对每个顶点,根据顶点的最短邻接距离与最大曲率值的乘积,得到顶点重要值。
一种示例中,顶点的最短邻接距离反映网格模型在该顶点处的整体变化强度。曲率值是几何体不平坦程度的一种衡量。
在一种实施方式中,如图3所示,步骤S111包括:
步骤S1111:确定顶点P的全部邻接点P1、P2…Pn,并假设一点O,连接点O与全部邻接点P1、P2…Pn,构成多个三角形P1P2O、P2P3O……PnP1O;
步骤S1112:计算顶点P分别到各个三角形P1P2O、P2P3O……PnP1O的距离H(P),并确定顶点P的最短距离Hmin(P),n大于或等于1;
步骤S1113:多个三角形P1P2O、P2P3O……PnP1O对应的单位法向量为U1、U2……Un,计算顶点P的法向量与单位法向量U1、U2……Un的夹角,作为顶点P的曲率值W(P),确定顶点P的最大曲率值Wmax(P);
步骤S1114:计算Hmin(P)与Wmax(P)的乘积,作为顶点P的重要值Hmin(P)*Wmax(P)。
一种示例中,如图4所示,顶点P有5个邻接点P1(x1,y1,z1),P2(x2,y2,z2),P3(x3,y3,z3),P4(x4,y4,z4),P5(x5,y5,z5),假设有一点O,该点坐标为(x,y,z),连接顶点O与P1、P2、P3、P4、P5构成的三角平面(面P1P2O、P2P3O、P3P4O、P4P5O、P5P1O),计算顶点P到各个三角平面的距离H(P),该距离值越小,表示P与其邻接点构成的区域越平坦,Hmin(P)记为最短邻接距离。
顶点P邻接三角形P1P2O、P2P3O、P3P4O、P4P5O、P5P1O对应的单位法向量为U1、U2、U3、U4、U5,顶点P的单位法向量为U1、U2、U3、U4、U5与邻接三角形的面积加权求和,若顶点P的单位法向量与U1、U2、U3、U4、U5之间夹角的最大值越大,表示网格模型位于顶点P处越弯曲,记录顶点P的最大曲率值Wmax(P)。
在一种实施方式中,最小的顶点重要值对应的顶点Q为冗余点,确定冗余点Q对应的全部邻接边QQ1、QQ2…QQm…QQn,n、m大于或等于1,n大于m;
步骤S130中计算全部邻接边的重要值,包括:
步骤S131:针对邻接边QQm,冗余点Q沿邻接边QQm合并,除去邻接边QQm的两个公共邻接三角形外,对合并前冗余点Q的邻接三角形QQ1Q2、QQ2Q3…QQ3Qm-1的单位法向量,分别与合并后对应的三角形QmQ1Q2、QmQ2Q3……QmQ3Qm-1的单位法向量之间的夹角,进行求和,得到角度
步骤S132:角度与邻接边QQm的长度的乘积,得到邻接边QQm的重要值。
一种示例中,如图5所示,按照上述实施方式计算各个顶点的顶点重要值,选出最小的顶点重要值,最小的顶点重要值对应的顶点Q为冗余点,确定冗余点Q对应的全部邻接边QQ1、QQ2、QQ3、QQ4、QQ5。针对邻接边QQ5,冗余点Q沿邻接边QQ5移动,使得冗余点Q和端点Q5合并,除去邻接边QQ5的两个公共邻接三角形(三角形QQ1Q5和三角形QQ4Q5)外,对合并前冗余点Q的邻接三角形QQ1Q2、QQ2Q3、QQ3Q4的单位法向量,分别与合并后对应的三角形Q5Q1Q2、Q5Q2Q3、Q5Q3Q4的单位法向量之间的夹角,进行求和,得到角度角度/>与邻接边QQ5的长度的乘积,得到邻接边QQ5的重要值。遍历冗余点Q其它邻接边QQ1、QQ2、QQ3、QQ4,按照上述计算方式计算邻接边重要度。邻接边越低,折叠后对网格模型整体影响越小。
在一种实施方式中,阈值大于或等于图形轮廓对应的关键点个数。
一种示例中,图形是兔子图形,那么兔子轮廓对应的关键点包括兔子耳朵尖对应的关键点、鼻子对应的多个点、脸部轮廓的多个关键点、身体轮廓的多个关键点以及尾巴轮廓的多个关键点等。在人脸识别中,图形是人脸,人脸对应的关键点包括脸型轮廓的多个关键点、鼻子对应的多个关键点、眉毛对应的多个关键点、眼睛对应的多个关键点,嘴巴对应的多个关键点以及耳朵对应的多个关键点。关键点的个数可以为能表示动物、人脸、物体等轮廓的最少点数,以确保能够识别图形本身。
在另一种具体实施方式中,如图6所示,提供了一种网格模型简化装置,包括:
顶点重要值计算模块110,用于获取图形的原始网格模型,遍历原始网格模型中全部顶点,计算顶点重要值;
冗余点确定模块120,用于将最小的顶点重要值对应的顶点确定为冗余点,并确定冗余点的全部邻接边;
冗余边确定模块130,用于遍历全部邻接边,计算邻接边重要值,将最小的邻接边重要值对应的邻接边确定为冗余边;
顶点合并模块140,用于将冗余点沿冗余边移动至冗余边的另一端点,使得冗余点与端点合并;
简化网格模型生成模块150,用于在经过合并后的总顶点数达到阈值的情况下,得到简化后网格模型。
在一种实施方式中,顶点重要值用于表示删除顶点,对当前网格模型的影响程度;邻接边重要值用于表示将冗余点和邻接边的另一端点合并,对当前网格模型的影响程度。
在一种实施方式中,还包括:
触发执行模块,用于在经过合并后的总顶点数未达到阈值的情况下,针对更新后网格模型,触发顶点重要值计算模块执行遍历原始网格模型中全部顶点,计算顶点重要值的步骤。
在一种实施方式中,顶点重要值计算模块110包括:
顶点重要值计算子模块,用于针对每个顶点,根据顶点的最短邻接距离与最大曲率值的乘积,得到顶点重要值。
在一种实施方式中,如图7所示,顶点重要值计算子模块包括:
三角形形成单元1111,用于确定顶点P的全部邻接点P1、P2…Pn,并假设一点O,连接点O与全部邻接点P1、P2…Pn,构成多个三角形P1P2O、P2P3O……PnP1O;
最短邻接距离计算单元1112,用于计算顶点P分别到各个三角形的P1P2O、P2P3O……PnP1O的距离H(P),并确定顶点P的最短邻接距离Hmin(P),n大于或等于1;
曲率值计算单元1113,用于多个三角形P1P2O、P2P3O……PnP1O对应的单位法向量为U1、U2……Un,计算顶点P的法向量与单位法向量U1、U2……Un的夹角,作为顶点P的曲率值W(P),确定顶点P的最大曲率值Wmax(P);
顶点重要值计算单元1114,用于计算Hmin(P)与Wmax(P)的乘积,作为顶点P的重要值Hmin(P)*Wmax(P)。
在一种实施方式中,最小的顶点重要值对应的顶点Q为冗余点,确定冗余点Q对应的全部邻接边QQ1、QQ2…QQm…QQn,n、m大于或等于1,n大于m;
如图8所示,冗余边确定模块130包括:
夹角求和子模块131,用于针对邻接边QQm,冗余点Q沿邻接边QQm合并,除去邻接边QQm的两个公共邻接三角形外,对合并前冗余点Q的邻接三角形QQ1Q2、QQ2Q3…QQ3Qm-1的单位法向量,分别与合并后对应的三角形QmQ1Q2、QmQ2Q3……QmQ3Qm-1的单位法向量之间的夹角,进行求和,得到角度
邻接边重要值计算子模块132,用于角度与邻接边QQm的长度的乘积,得到邻接边QQm的重要值。
在一种实施方式中,阈值包括图形的轮廓对应的关键点个数。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图9所示,是根据本申请实施例的一种网格模型简化方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图9所示,该电子设备包括:一个或多个处理器901、存储器902,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面(Graphical User Interface,GUI)的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器901为例。
存储器902即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的一种网格模型简化方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的一种网格模型简化方法。
存储器902作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的一种网格模型简化方法对应的程序指令/模块(例如,附图6所示,顶点重要值计算模块110、冗余点确定模块120、冗余边确定模块130、顶点合并模块140、简化网格模型生成模块150)。处理器901通过运行存储在存储器902中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的一种网格模型简化方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种网格模型简化方法的电子设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至上述电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述电子设备还可以包括:输入装置903和输出装置904。处理器901、存储器902、输入装置903和输出装置904可以通过总线或者其他方式连接,图9中以通过总线连接为例。
输入装置903可接收输入的数字或字符信息,以及产生与上述电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置904可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(Liquid Cr9stal Displa9,LCD)、发光二极管(Light Emitting Diode,LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用集成电路(Application Specific Integrated Circuits,ASIC)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(programmable logic device,PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(Cathode Ray Tube,阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (14)
1.一种网格模型简化方法,其特征在于,包括:
获取图形的原始网格模型,遍历所述原始网格模型中全部顶点,计算顶点重要值;所述顶点重要值用于表示删除所述顶点,对当前网格模型的影响程度;
将最小的顶点重要值对应的顶点确定为冗余点,并确定所述冗余点的全部邻接边;
遍历所述全部邻接边,计算邻接边重要值,将最小的邻接边重要值对应的邻接边确定为冗余边,所述邻接边重要值用于表示将所述冗余点和所述邻接边的另一端点合并,对所述当前网格模型的影响程度;
将所述冗余点沿所述冗余边移动至所述冗余边的另一端点,使得所述冗余点与所述端点合并;
在经过合并后的总顶点数达到阈值的情况下,得到简化后网格模型。
2.根据权利要求1所述的方法,其特征在于,还包括:
在经过合并后的总顶点数未达到所述阈值的情况下,针对更新后网格模型,返回执行所述遍历所述原始网格模型中全部顶点,计算顶点重要值的步骤。
3.根据权利要求1所述的方法,其特征在于,所述顶点重要值的计算步骤,包括:
针对每个顶点,根据所述顶点的最短邻接距离与最大曲率值的乘积,得到所述顶点重要值。
4.根据权利要求3所述的方法,其特征在于,所述针对每个顶点,根据所述顶点的最短邻接距离与最大曲率值的乘积,得到所述顶点的重要值,包括:
确定所述顶点P的全部邻接点P1、P2…Pn,并假设一点O,连接所述点O与所述全部邻接点P1、P2…Pn,构成多个三角形P1P2O、P2P3O……PnP1O;
计算所述顶点P分别到各个三角形P1P2O、P2P3O……PnP1O的距离H(P),并确定所述顶点P的最短邻接距离Hmin(P),n大于或等于1;
所述多个三角形P1P2O、P2P3O……PnP1O对应的单位法向量为U1、U2……Un,计算所述顶点P的法向量与所述单位法向量U1、U2……Un的夹角,作为所述顶点P的曲率值W(P),确定所述顶点P的最大曲率值Wmax(P);
计算Hmin(P)与Wmax(P)的乘积,作为所述顶点P的重要值Hmin(P)*Wmax(P)。
5.根据权利要求1所述的方法,其特征在于,所述最小的顶点重要值对应的顶点Q为冗余点,确定冗余点Q对应的全部邻接边QQ1、QQ2…QQm…QQn,n、m大于或等于1,n大于m;
所述计算全部邻接边的重要值,包括:
针对邻接边QQm,所述冗余点Q沿邻接边QQm合并,除去邻接边QQm的两个公共邻接三角形外,对合并前所述冗余点Q的邻接三角形QQ1Q2、QQ2Q3…QQ3Qm-1的单位法向量,分别与合并后对应的三角形QmQ1Q2、QmQ2Q3……QmQ3Qm-1的单位法向量之间的夹角,进行求和,得到角度
角度与邻接边QQm的长度的乘积,得到邻接边QQm的重要值。
6.根据权利要求1所述的方法,其特征在于,所述阈值大于或等于所述图形轮廓对应的关键点个数。
7.一种网格模型简化装置,其特征在于,包括:
顶点重要值计算模块,用于获取图形的原始网格模型,遍历所述原始网格模型中全部顶点,计算顶点重要值;所述顶点重要值用于表示删除所述顶点,对当前网格模型的影响程度;
冗余点确定模块,用于将最小的顶点重要值对应的顶点确定为冗余点,并确定所述冗余点的全部邻接边;
冗余边确定模块,用于遍历所述全部邻接边,计算邻接边重要值,将最小的邻接边重要值对应的邻接边确定为冗余边,所述邻接边重要值用于表示将所述冗余点和所述邻接边的另一端点合并,对所述当前网格模型的影响程度;
顶点合并模块,用于将所述冗余点沿所述冗余边移动至所述冗余边的另一端点,使得所述冗余点与所述端点合并;
简化网格模型生成模块,用于在经过合并后的总顶点数达到阈值的情况下,得到简化后网格模型。
8.根据权利要求7所述的装置,其特征在于,还包括:
触发执行模块,用于在经过合并后的总顶点数未达到所述阈值的情况下,针对更新后网格模型,触发所述顶点重要值计算模块执行所述遍历所述原始网格模型中全部顶点,计算顶点重要值的步骤。
9.根据权利要求7所述的装置,其特征在于,所述顶点重要值计算模块包括:
顶点重要值计算子模块,用于针对每个顶点,根据所述顶点的最短邻接距离与最大曲率值的乘积,得到所述顶点重要值。
10.根据权利要求9所述的装置,其特征在于,所述顶点重要值计算子模块包括:
三角形形成单元,用于确定所述顶点P的全部邻接点P1、P2…Pn,并假设一点O,连接所述点O与所述全部邻接点P1、P2…Pn,构成多个三角形P1P2O、P2P3O……PnP1O;
最短邻接距离计算单元,用于计算所述顶点P分别到各个三角形的P1P2O、P2P3O……PnP1O的距离H(P),并确定所述顶点P的最短邻接距离Hmin(P),n大于或等于1;
曲率值计算单元,用于所述多个三角形P1P2O、P2P3O……PnP1O对应的单位法向量为U1、U2……Un,计算所述顶点P的法向量与所述单位法向量U1、U2……Un的夹角,作为所述顶点P的曲率值W(P),确定所述顶点P的最大曲率值Wmax(P);
顶点重要值计算单元,用于计算Hmin(P)与Wmax(P)的乘积,作为所述顶点P的重要值Hmin(P)*Wmax(P)。
11.根据权利要求7所述的装置,其特征在于,所述最小的顶点重要值对应的顶点Q为冗余点,确定冗余点Q对应的全部邻接边QQ1、QQ2…QQm…QQn,n、m大于或等于1,n大于m;
所述冗余边确定模块包括:
夹角求和子模块,用于针对邻接边QQm,所述冗余点Q沿邻接边QQm合并,除去邻接边QQm的两个公共邻接三角形外,对合并前所述冗余点Q的邻接三角形QQ1Q2、QQ2Q3…QQ3Qm-1的单位法向量,分别与合并后对应的三角形QmQ1Q2、QmQ2Q3……QmQ3Qm-1的单位法向量之间的夹角,进行求和,得到角度
邻接边重要值计算子模块,用于角度与邻接边QQm的长度的乘积,得到邻接边QQm的重要值。
12.根据权利要求7所述的装置,其特征在于,所述阈值包括所述图形的轮廓对应的关键点个数。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011327954.5A CN112465985B (zh) | 2020-11-24 | 2020-11-24 | 网格模型简化方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011327954.5A CN112465985B (zh) | 2020-11-24 | 2020-11-24 | 网格模型简化方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112465985A CN112465985A (zh) | 2021-03-09 |
CN112465985B true CN112465985B (zh) | 2023-09-05 |
Family
ID=74798655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011327954.5A Active CN112465985B (zh) | 2020-11-24 | 2020-11-24 | 网格模型简化方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112465985B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114187421B (zh) * | 2021-09-30 | 2022-09-02 | 北京博能科技股份有限公司 | 有限元网格模型简化方法及系统 |
CN117113478A (zh) * | 2023-07-28 | 2023-11-24 | 中水淮河规划设计研究有限公司 | 一种bim模型轻量化方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11232489A (ja) * | 1998-02-18 | 1999-08-27 | Ricoh Co Ltd | 3次元ポリゴンメッシュのデータ削減方法及び装置 |
CN101877147A (zh) * | 2010-06-29 | 2010-11-03 | 浙江大学 | 三维三角形网格模型的简化算法 |
CN105006022A (zh) * | 2015-08-11 | 2015-10-28 | 中山大学 | 一种三维几何图形的边折叠简化方法及其装置 |
CN106067192A (zh) * | 2016-05-30 | 2016-11-02 | 桂林电子科技大学 | 基于逆插值Loop的网格简化方法 |
CN109035405A (zh) * | 2018-06-22 | 2018-12-18 | 东南大学 | 一种基于预测-校正模型的网格简化方法 |
CN111667565A (zh) * | 2020-05-12 | 2020-09-15 | 武汉大学 | 一种基于优化的特征保持的三维网格模型简化方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013123636A1 (en) * | 2012-02-20 | 2013-08-29 | Thomson Licensing | Method and apparatus for mesh simplification |
CN105469446A (zh) * | 2014-09-05 | 2016-04-06 | 富泰华工业(深圳)有限公司 | 点云网格简化系统及方法 |
-
2020
- 2020-11-24 CN CN202011327954.5A patent/CN112465985B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11232489A (ja) * | 1998-02-18 | 1999-08-27 | Ricoh Co Ltd | 3次元ポリゴンメッシュのデータ削減方法及び装置 |
CN101877147A (zh) * | 2010-06-29 | 2010-11-03 | 浙江大学 | 三维三角形网格模型的简化算法 |
CN105006022A (zh) * | 2015-08-11 | 2015-10-28 | 中山大学 | 一种三维几何图形的边折叠简化方法及其装置 |
CN106067192A (zh) * | 2016-05-30 | 2016-11-02 | 桂林电子科技大学 | 基于逆插值Loop的网格简化方法 |
CN109035405A (zh) * | 2018-06-22 | 2018-12-18 | 东南大学 | 一种基于预测-校正模型的网格简化方法 |
CN111667565A (zh) * | 2020-05-12 | 2020-09-15 | 武汉大学 | 一种基于优化的特征保持的三维网格模型简化方法和系统 |
Non-Patent Citations (1)
Title |
---|
基于数据重建的三角网格模型简化优化方法;张霞等;《强激光与粒子束》;第26卷(第05期);第314-318页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112465985A (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11645801B2 (en) | Method for synthesizing figure of virtual object, electronic device, and storage medium | |
US8217962B2 (en) | Single-pass bounding box calculation | |
CN112465985B (zh) | 网格模型简化方法以及装置 | |
CN112509099B (zh) | 虚拟形象驱动方法、装置、设备和存储介质 | |
CN112785674A (zh) | 纹理贴图的生成方法、渲染方法、装置、设备及存储介质 | |
CN115409933B (zh) | 多风格纹理贴图生成方法及其装置 | |
EP2817783A1 (en) | Method and apparatus for mesh simplification | |
CN113924600A (zh) | 基于单个图像的实时身体动画 | |
CN111739167B (zh) | 3d人头重建方法、装置、设备和介质 | |
CN106960470B (zh) | 三维点云曲面重建方法及装置 | |
CN115018992B (zh) | 发型模型的生成方法、装置、电子设备及存储介质 | |
CN114820906A (zh) | 图像渲染方法、装置、电子设备及存储介质 | |
CN115147265B (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 | |
CN111967297A (zh) | 图像的语义分割方法、装置、电子设备及介质 | |
CN111899159B (zh) | 用于变换发型的方法、装置、设备以及存储介质 | |
CN112967381A (zh) | 三维重建方法、设备和介质 | |
CN111523467B (zh) | 人脸跟踪方法和装置 | |
CN113850904A (zh) | 发丝模型的确定方法、装置、电子设备及可读存储介质 | |
CN112634401B (zh) | 一种平面轨迹绘制方法、装置、设备及存储介质 | |
CN114708374A (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 | |
CN110910308A (zh) | 图像处理方法、装置、设备和介质 | |
JP2023529790A (ja) | フロアプランを生成するための方法、装置およびプログラム | |
CN111291218B (zh) | 视频融合方法、装置、电子设备及可读存储介质 | |
CN111295695B (zh) | 三维网格数据简化方法及装置 | |
CN114078184B (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 |