CN112465954A - 一种模型简化方法、装置、电子设备及存储介质 - Google Patents

一种模型简化方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112465954A
CN112465954A CN202011416428.6A CN202011416428A CN112465954A CN 112465954 A CN112465954 A CN 112465954A CN 202011416428 A CN202011416428 A CN 202011416428A CN 112465954 A CN112465954 A CN 112465954A
Authority
CN
China
Prior art keywords
vertex
simplified
triangle
model
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.)
Pending
Application number
CN202011416428.6A
Other languages
English (en)
Inventor
刘思阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing IQIYI Science and Technology Co Ltd
Original Assignee
Beijing IQIYI Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing IQIYI Science and Technology Co Ltd filed Critical Beijing IQIYI Science and Technology Co Ltd
Priority to CN202011416428.6A priority Critical patent/CN112465954A/zh
Publication of CN112465954A publication Critical patent/CN112465954A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)

Abstract

本发明实施例提供了一种模型简化方法、装置、电子设备及存储介质,上述方法包括:获得待简化3D模型的模型数据;对于每一个待简化顶点获得该待简化顶点的参考顶点;获得待简化顶点与待简化顶点的各个参考顶点的简化次数;以及,计算各个目标三角形的面积;针对每个待简化顶点,判断是否满足预设的简化次数和面积条件;若满足,则删除待简化3D模型中的该待简化顶点和该待简化顶点对应的各个目标三角形;以及,在待简化3D模型中新建由目标参考顶点和任意两个相邻的参考顶点之间构成的三角形;更新各个参考顶点的简化次数,以及更新待简化3D模型。采用上述方法使得计算力有限的模型驱动设备可以对3D模型进行模型渲染等操作。

Description

一种模型简化方法、装置、电子设备及存储介质
技术领域
本发明涉及计算机图像学技术领域,特别是涉及一种模型简化方法、装置、电子设备及存储介质。
背景技术
随着计算机图像学的发展,3D(threedimensional,三维图形)技术在很多领域都有较大的发展。目前,在3D技术中以三角网格形式表示的3D模型比较通用,如图1所示,图1中的模型110是以很多个三角形拼接形成的3D模型。
然而,目前的3D模型中三角形的面数过多,3D模型过于复杂,这导致对3D模型的进行渲染以及动作驱动等操作的计算量都过于巨大。而这种由于3D 模型过于复杂而导致的计算量过大的问题,会导致计算力有限的模型驱动设备难以对目前的3D模型的进行模型渲染以及动作驱动等操作,即目前的3D模型由于复杂度过高难以满足一些有实时性要求的应用场景。
发明内容
本发明实施例的目的在于提供一种模型简化方法、装置、电子设备及存储介质,以简化3D模型的结构,使得计算力有限的模型驱动设备可以对3D模型的进行模型渲染以及动作驱动等操作。
为了达到上述目的,本发明实施例提供了一种模型简化方法,包括:
获得待简化3D模型的模型数据;所述待简化3D模型为由多个三角形拼接形成的模型;所述模型数据包括:所述待简化3D模型的每个三角形的标识及每个三角形各个顶点的坐标数据;
基于每个三角形的标识,计算所述待简化3D模型的每个三角形的各个顶点的度数;其中,三角形顶点的度数为:与该顶点相连的三角形的边的数量;
将度数等于5的顶点确定为待简化顶点;
针对每一个待简化顶点,获得与该待简化顶点直接相连的其他各个顶点分别作为该待简化顶点的参考顶点;并将所述待简化3D模型中该待简化顶点的相邻两个参考顶点与该待简化顶点之间构成的三角形均作为该待简化顶点对应的目标三角形;
针对每个待简化顶点,获得该待简化顶点与该待简化顶点的各个参考顶点的简化次数;以及,基于该待简化顶点与该待简化顶点的各个参考顶点的坐标数据,计算该待简化顶点对应的各个目标三角形的面积;其中,三角形每个顶点的简化次数为:与该顶点位于同一三角形中的其他顶点被删掉的个数;
针对每个待简化顶点,基于各个参考顶点的简化次数各个目标三角形的面积,判断是否满足预设的简化次数和面积条件;
若满足,则删除所述待简化3D模型中的该待简化顶点和该待简化顶点对应的各个目标三角形;以及,根据该待简化顶点对应的各个目标三角形的面积,从该待简化顶点的各个参考顶点中确定出一个参考顶点作为目标参考顶点;
在所述待简化3D模型中新建由该待简化顶点的任意两个相邻参考顶点和目标参考顶点之间构成的三角形,得到三个新创建的三角形;
更新各个参考顶点的简化次数,以及,更新待简化3D模型。
进一步的,所述根据该待简化顶点对应的各个目标三角形的面积,从该待简化顶点的各个参考顶点中确定出一个参考顶点作为目标参考顶点,包括:
针对该待简化顶点的每个参考顶点,将该参考顶点与剩余的任意两个相邻的参考顶点之间构成的三角形作为该参考顶点对应的参考三角形,计算该参考顶点对应的各个参考三角形的面积之和;
从该待简化顶点的所有参考顶点中,选取对应的各个参考三角形的面积之和最小的参考顶点作为目标参考顶点。
进一步的,所述在所述待简化3D模型中新建由该待简化顶点的任意两个相邻参考顶点和目标参考顶点之间构成的三角形,得到三个新创建的三角形,包括:
根据该待简化顶点的各个参考顶点的坐标数据,在所述待简化3D模型中创建由该待简化顶点的任意两个相邻参考顶点和目标参考顶点之间构成的三角形,得到三个新创建的三角形;并为每个新创建的三角形生成一个新的标识。
进一步的,所述针对每个待简化顶点,基于各个参考顶点的简化次数各个目标三角形的面积,判断是否满足预设的简化次数和面积条件,包括:
判断每个待简化顶点是否小于第一预设简化次数,以及待简化顶点的各个参考顶点的简化次数是否均小于第二预设简化次数;若均小于,则满足预设的简化次数条件;
判断各个目标三角形的面积是否均小于预设面积,若小于,则满足预设的面积条件。
进一步的,在所述更新待简化3D模型之后,还包括:
判断当前迭代次数是否达到预设迭代次数;
如果当前迭代次数达到预设迭代次数,结束简化操作;
如果当前迭代次数未达到预设迭代次数,更新迭代次数;并针对更新后的待简化3D模型,并返回所述基于每个三角形的标识,计算所述待简化3D模型的每个三角形的各个顶点的度数的步骤。
进一步的,在所述更新各个参考顶点的简化次数之后,还包括:
将更新了简化次数后的各个参考顶点加到预设参考顶点集合中;
所述针对每一个待简化顶点,获得与该待简化顶点直接相连的其他各个顶点分别作为该待简化顶点的参考顶点的步骤,包括:
针对每一个待简化顶点,判断该待简化顶点是否在预设参考顶点集合中,如果不在,则表示该待简化顶点未被简化过,获得与该待简化顶点直接相连的其他各个顶点分别作为该待简化顶点的参考顶点。
为了达到上述目的,本发明实施例提供了一种模型简化装置,包括:
第一数据获得模块,用于获得待简化3D模型的模型数据;所述待简化3D 模型为由多个三角形拼接形成的模型;所述模型数据包括:所述待简化3D模型的每个三角形的标识及每个三角形各个顶点的坐标数据;
顶点度数计算模块,用于基于每个三角形的标识,计算所述待简化3D模型的每个三角形的各个顶点的度数;其中,三角形顶点的度数为:与该顶点相连的三角形的边的数量;
顶点确定模块,用于将度数等于5的顶点确定为待简化顶点;
第二数据获得模块,用于针对每一个待简化顶点,获得与该待简化顶点直接相连的其他各个顶点分别作为该待简化顶点的参考顶点;并将所述待简化3D 模型中该待简化顶点的相邻两个参考顶点与该待简化顶点之间构成的三角形均作为该待简化顶点对应的目标三角形;
第三数据获得模块,用于针对每个待简化顶点,获得该待简化顶点与该待简化顶点的各个参考顶点的简化次数;以及,基于该待简化顶点与该待简化顶点的各个参考顶点的坐标数据,计算该待简化顶点对应的各个目标三角形的面积;其中,三角形每个顶点的简化次数为:与该顶点位于同一三角形中的其他顶点被删掉的个数;
第一判断模块,用于针对每个待简化顶点,基于各个参考顶点的简化次数各个目标三角形的面积,判断是否满足预设的简化次数和面积条件;
处理模块,用于若满足,则删除所述待简化3D模型中的该待简化顶点和该待简化顶点对应的各个目标三角形;以及,根据该待简化顶点对应的各个目标三角形的面积,从该待简化顶点的各个参考顶点中确定出一个参考顶点作为目标参考顶点;
三角形创建模块,用于在所述待简化3D模型中新建由该待简化顶点的任意两个相邻参考顶点和目标参考顶点之间构成的三角形,得到三个新创建的三角形;
更新模块,用于更新各个参考顶点的简化次数,以及,更新待简化3D模型。
进一步的,所述处理模块,针对该待简化顶点的每个参考顶点,将该参考顶点与剩余的任意两个相邻的参考顶点之间构成的三角形作为该参考顶点对应的参考三角形,计算该参考顶点对应的各个参考三角形的面积之和;从该待简化顶点的所有参考顶点中,选取对应的各个参考三角形的面积之和最小的参考顶点作为目标参考顶点。
进一步的,所述三角形创建模块,具体用于根据该待简化顶点的各个参考顶点的坐标数据,在所述待简化3D模型中创建由该待简化顶点的任意两个相邻参考顶点和目标参考顶点之间构成的三角形,得到三个新创建的三角形;并为每个新创建的三角形生成一个新的标识。
进一步的,所述第一判断模块,包括:
第一判断子模块,用于判断每个待简化顶点是否小于第一预设简化次数,以及待简化顶点的各个参考顶点的简化次数是否均小于第二预设简化次数;若均小于,则满足预设的简化次数条件;
第二判断子模块,用于判断各个目标三角形的面积是否均小于预设面积,若小于,则满足预设的面积条件。
进一步的,所述装置,还包括:第二判断模块,用于判断当前迭代次数是否达到预设迭代次数;如果当前迭代次数达到预设迭代次数,结束简化操作;如果当前迭代次数未达到预设迭代次数,更新迭代次数;并针对更新后的待简化3D模型,并返回所述基于每个三角形的标识,计算所述待简化3D模型的每个三角形的各个顶点的度数的步骤。
进一步的,所述装置,还包括:
添加模块,用于将更新了简化次数后的各个参考顶点加到预设参考顶点集合中;
所述第二数据获得模块,具体用于针对每一个待简化顶点,判断该待简化顶点是否在预设参考顶点集合中,如果不在,则表示该待简化顶点未被简化过,获得与该待简化顶点直接相连的其他各个顶点分别作为该待简化顶点的参考顶点。
为了达到上述目的,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述模型简化方法步骤。
为了达到上述目的,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述模型简化方法步骤。
为了达到上述目的,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述模型简化方法步骤。
本发明实施例有益效果:
采用本发明实施例提供的方法,获得待简化3D模型的模型数据;基于每个三角形的标识,计算待简化3D模型的每个三角形的各个顶点的度数;将度数等于4的顶点确定为待简化顶点;对于每一个待简化顶点,获得与该待简化顶点直接相连的其他各个顶点分别作为该待简化顶点的参考顶点;并将在待简化3D 模型中该待简化顶点的参考顶点与该待简化顶点之间构成的三角形均作为该待简化顶点对应的目标三角形;针对每个待简化顶点,获得该待简化顶点与该待简化顶点的各个参考顶点的简化次数;以及,基于该待简化顶点与该待简化顶点的各个参考顶点的坐标数据,计算该待简化顶点对应的各个目标三角形的面积;针对每个待简化顶点,基于各个参考顶点的简化次数各个目标三角形的面积,判断是否满足预设的简化次数和面积条件;若满足,则删除待简化3D 模型中的该待简化顶点和该待简化顶点对应的各个目标三角形;以及,根据该待简化顶点对应的各个目标三角形的面积,从该待简化顶点的各个参考顶点中确定出一个参考顶点作为目标参考顶点;在待简化3D模型中新建由该待简化顶点的任意两个相邻参考顶点和目标参考顶点之间构成的三角形,得到三个新创建的三角形;更新各个参考顶点的简化次数,以及,更新待简化3D模型。通过将待简化3D模型中满足预设的简化次数和面积条件的目标三角形从3D模型中删除,并在待简化3D模型中新建由两个目标参考顶点和任意一个剩余的参考顶点之间构成的三角形,即删去多个目标三角形,新建三个三角形,达到简化3D 模型的目的,使得计算力有限的模型驱动设备可以对3D模型进行模型渲染以及动作驱动等操作。即使得3D模型可以满足对模型渲染以及动作驱动等操作有实时性要求的应用场景。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中以三角网格形式表示的3D模型;
图2为本发明实施例提供的模型简化方法的一种流程图;
图3为本发明实施例提供的模型简化方法的另一种流程图;
图4为本发明实施例中待简化3D模型的一个γ结构的示意图;
图5a为应用本发明实施例提供的方法在待简化3D模型的新建了三个三角形的一种示意图;
图5b为应用本发明实施例提供的方法在待简化3D模型的新建了三个三角形的另一种示意图;
图5c为应用本发明实施例提供的方法在待简化3D模型的新建了三个三角形的又一种示意图;
图5d为应用本发明实施例提供的方法在待简化3D模型的新建了三个三角形的又一种示意图;
图5e为应用本发明实施例提供的方法在待简化3D模型的新建了三个三角形的又一种示意图;
图6为本发明实施例提供的模型简化装置的一种结构图;
图7为本发明实施例提供的模型简化装置的另一种结构图;
图8为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于现有的3D模型因为过于复杂而导致计算力有限的模型驱动设备难以对现有的3D模型的进行模型渲染以及动作驱动等操作,为了简化3D模型的结构,使得简化后的3D模型可以满足计算力有限的模型驱动设备3D模型的进行模型渲染以及动作驱动等操作,本发明实施例提供了一种模型简化方法、装置、电子设备及存储介质。
参见图2,图2为本发明实施例提供的模型简化方法的一种流程,包括:
步骤201,获得待简化3D模型的模型数据。
其中,待简化3D模型为由多个三角形拼接形成的模型;模型数据包括:待简化3D模型的每个三角形的标识及每个三角形各个顶点的坐标数据。
步骤202,基于每个三角形的标识,计算待简化3D模型的每个三角形的各个顶点的度数。
其中,三角形顶点的度数为:与该顶点相连的三角形的边的数量。
步骤203,将度数等于5的顶点确定为待简化顶点。
步骤204,针对每一个待简化顶点,获得与该待简化顶点直接相连的其他各个顶点分别作为该待简化顶点的参考顶点;并将待简化3D模型中该待简化顶点的参考顶点与该待简化顶点之间构成的三角形均作为该待简化顶点对应的目标三角形。
步骤205,针对每个待简化顶点,获得该待简化顶点与该待简化顶点的各个参考顶点的简化次数;以及,基于该待简化顶点与该待简化顶点的各个参考顶点的坐标数据,计算该待简化顶点对应的各个目标三角形的面积。
其中,三角形每个顶点的简化次数为:与该顶点位于同一三角形中的其他顶点被删掉的个数。
步骤206,针对每个待简化顶点,基于各个参考顶点的简化次数各个目标三角形的面积,判断是否满足预设的简化次数和面积条件。
步骤207,若满足,则删除待简化3D模型中的该待简化顶点和该待简化顶点对应的各个目标三角形;以及,根据该待简化顶点对应的各个目标三角形的面积,从该待简化顶点的各个参考顶点中确定出一个参考顶点作为目标参考顶点。
步骤208,在待简化3D模型中新建由该待简化顶点的任意两个相邻参考顶点和和目标参考顶点之间构成的三角形,得到三个新创建的三角形。
步骤209,更新各个参考顶点的简化次数,以及,更新待简化3D模型。
采用本发明实施例提供的方法,获得待简化3D模型的模型数据;基于每个三角形的标识,计算待简化3D模型的每个三角形的各个顶点的度数;将度数等于4的顶点确定为待简化顶点;对于每一个待简化顶点,获得与该待简化顶点直接相连的其他各个顶点分别作为该待简化顶点的参考顶点;并将在待简化3D 模型中该待简化顶点的参考顶点与该待简化顶点之间构成的三角形均作为该待简化顶点对应的目标三角形;针对每个待简化顶点,获得该待简化顶点与该待简化顶点的各个参考顶点的简化次数;以及,基于该待简化顶点与该待简化顶点的各个参考顶点的坐标数据,计算该待简化顶点对应的各个目标三角形的面积;针对每个待简化顶点,基于各个参考顶点的简化次数各个目标三角形的面积,判断是否满足预设的简化次数和面积条件;若满足,则删除待简化3D 模型中的该待简化顶点和该待简化顶点对应的各个目标三角形;以及,根据该待简化顶点对应的各个目标三角形的面积,从该待简化顶点的各个参考顶点中确定出一个参考顶点作为目标参考顶点;在待简化3D模型中新建由该待简化顶点的任意两个相邻参考顶点和目标参考顶点之间构成的三角形,得到三个新创建的三角形;更新各个参考顶点的简化次数,以及,更新待简化3D模型。通过将待简化3D模型中满足预设的简化次数和面积条件的目标三角形从3D模型中删除,并在待简化3D模型中新建由两个目标参考顶点和任意一个剩余的参考顶点之间构成的三角形,即删去多个目标三角形,新建三个三角形,达到简化3D 模型的目的,使得计算力有限的模型驱动设备可以对3D模型进行模型渲染以及动作驱动等操作。即使得3D模型可以满足对模型渲染以及动作驱动等操作有实时性要求的应用场景。
参见图3,图3为本发明实施例提供的模型简化方法的另一种流程,包括:
步骤301,获得待简化3D模型的模型数据。
本发明实施例中,待简化3D模型为由多个三角形拼接形成的模型,且每个三角形对应存在一个标识。待简化3D模型的模型数据包括:待简化3D模型的每个三角形的标识及每个三角形各个顶点的坐标数据。
举例说明,若待简化3D模型包括三角形T1和三角形T2等等多个三角形,其中,三角形T1的三个顶点及其顶点的三维坐标分别为P1(x1,y1,z1)、P2 (x2,y2,z2)和P3(x3,y3,z3);三角形T2对应的标识“SGT1”;三角形T2 的三个顶点及其顶点坐标分别为P4(x4,y4,z4)、P5(x5,y5,z2)和P6(x6, y6,z6),三角形T2对应的标识“SGT2”。
则待简化3D模型的模型数据中包括:三角形T1三个顶点的坐标数据P1(x1, y1,z1)、P2(x2,y2,z2)和P3(x3,y3,z3)和三角形T2对应的标识“SGT1”;以及,三角形T2的三个顶点坐标数据P4(x4,y4,z4)、P5(x5,y5,z2)和 P6(x6,y6,z6),以及,三角形T2对应的标识“SGT2”。
步骤302,基于每个三角形的标识,计算待简化3D模型的每个三角形的各个顶点的度数。
其中,三角形顶点的度数为:与该顶点相连的三角形的边的数量。
本发明实施例实施例中,在获得待简化3D模型的模型数据之后,可以基于三角形的标识,确定出待简化3D模型中的各个三角形,然后针对每个三角形的每个顶点,计算与该顶点相连的三角形的边数作为该顶点的度数。
举例说明,参见图4,图4为待简化3D模型结构的一部分。图4展示了待简化3D模型中的三角形ABC、三角形ACD、三角形ADE、三角形AEF和三角形 AFB。若其中的三角形ABC的标识为“SGABC”,本步骤中可以根据标识“SGABC”确定出三角形ABC。然后,针对三角形ABC的顶点A,可以计算出与顶点A相连的三角形的边数位5,即可以得到顶点A的度数为5。同样的方式,可以计算出与顶点B相连的三角形的边数位3,即可以得到顶点B的度数为3,也可以得到顶点C的度数为3、顶点D的度数为3、顶点E的度数为3和顶点F的度数为3。
步骤303,将度数等于5的顶点确定为待简化顶点。
参见图4,图4中顶点A的度数为5,顶点B、顶点C、顶点D、顶点E和顶点 F的度数均为3,可以将顶点A作为待简化顶点。并且,可以将图4所示的由三角形ABC、三角形ACD、三角形ADE、三角形AEF和三角形AFB构成结构作为待简化3D模型中的γ结构。本发明实施例中可以是通过简化待简化3D模型中的γ结构,达到简化待简化3D模型的目的。
本发明实施例中,可以将所确定的待简化顶点放入预设的集合X中。例如,可以将图4中的待简化顶点A放入预设的集合X中。
步骤304,针对每一个待简化顶点,获得与该待简化顶点直接相连的其他各个顶点分别作为该待简化顶点的参考顶点。
并且,可以将待简化3D模型中该待简化顶点的相邻两个参考顶点与该待简化顶点之间构成的三角形均作为该待简化顶点对应的目标三角形。
例如,参见图4,针对待简化顶点A,可以获得与其直接相连的五个顶点:顶点B、顶点C、顶点D、顶点E和顶点F,并将顶点B、顶点C、顶点D、顶点E 和顶点F均作为待简化顶点A的参考顶点。并且,在待简化3D模型中,待简化顶点A与待简化顶点A的相邻参考顶点所构成的三角形包括:三角形ABC、三角形ACD、三角形ADE、三角形AEF和三角形AFB,本步骤中,可以将三角形 ABC、三角形ACD、三角形ADE、三角形AEF和三角形AFB均作为待简化顶点 A对应的目标三角形。
本发明实施例中,可以针对待简化3D模型中每个三角形的每个顶点设置一个计数器,每个顶点的计数器用于计数该顶点的简化次数。其中,三角形每个顶点的简化次数为:与该顶点位于同一三角形中的其他顶点被删掉的个数。本步骤中,可以将待简化3D模型中每个三角形的每个顶点的计数器的数值设置为 0,即将每个顶点的简化次数的初始值设置为0。
步骤305,针对每个待简化顶点,基于该待简化顶点与该待简化顶点的各个参考顶点的坐标数据,计算该待简化顶点对应的各个目标三角形的面积。
具体的,可以根据目标三角形的三个顶点的坐标数据,计算出目标三角形的面积:
Figure RE-GDA0002896241230000111
其中,SΔABC表示目标三角形ABC的面积,
Figure RE-GDA0002896241230000112
表示目标三角形ABC的边AB的向量
Figure RE-GDA0002896241230000113
和边AC的向量
Figure RE-GDA0002896241230000114
之间的向量积,|AB|为目标三角形ABC中边 AB的长,|AC|为目标三角形ABC中边AC的长。
步骤306,从集合X中任取出一个待简化顶点,针对该待简化顶点,判断该待简化顶点的简化次数是否小于第一预设简化次数,以及该待简化顶点的各个参考顶点的简化次数是否均小于第二预设简化次数,若判断结果为是,执行步骤307,若判断结果为否,执行步骤312。
其中,第一预设简化次数可以设定为2或3等等,第二预设简化次数也可以设定为2或3等等,不做具体限定。
步骤307,判断该待简化顶点对应的各个目标三角形的面积是否均小于预设面积;若判断结果为是,执行步骤308,若判断结果为否,执行步骤312。
其中,预设面积可以根据待简化3D模型的复杂度进行设定,若待简化3D 模型的复杂度较高,可以将预设面积设定的较大一点。
步骤308,删除待简化3D模型中的该待简化顶点和该待简化顶点对应的各个目标三角形。
具体的,可以删去该待简化顶点的坐标,以及删去该待简化顶点对应的三个目标三角形以及三个目标三角形的标识。
举例说明,若第一预设简化次数和第二预设简化次数均设定为2,预设面积设定为15cm2,参见图4,若步骤306中从集合X中选取了待简化顶点A,可以得到待简化顶点A目前的简化次数为0,待简化顶点A的参考顶点分别为参考顶点B、参考顶点C、参考顶点D、参考顶点E和参考顶点F,且参考顶点B、参考顶点C、参考顶点D、参考顶点E和参考顶点F目前的简化次数均为0。待简化顶点A对应的五个目标三角形为:三角形ABC、三角形ACD、三角形ADE、三角形AEF和三角形AFB,若三角形ABC、三角形ACD、三角形ADE、三角形AEF 和三角形AFB的面积分别为5cm2、7cm2、8cm2、9cm2和11cm2,则可以得到:待简化顶点A的简化次数小于第一预设简化次数,且参考顶点B、参考顶点C、参考顶点D、参考顶点E和参考顶点F的简化次数均小于第二预设简化次数,且待简化顶点A对应的目标三角形ABC、目标三角形ACD、目标三角形ADE、目标三角形AEF和目标三角形AFB的面积均小于预设面积。因此,可以从待简化 3D模型中删去待简化顶点A的坐标,以及删去待简化顶点A对应的五个目标三角形以及五个目标三角形的标识。
本步骤中,还可以将所删去的待简化顶点的各个参考顶点放入预设参考顶点集合中。例如,参见图4,若将图4中的待简化顶点A删去,则可以将待简化顶点A的参考顶点“参考顶点B、参考顶点C、参考顶点D、参考顶点E和参考顶点F”放入预设参考顶点集合中。
步骤309,根据该待简化顶点对应的各个目标三角形的面积,从该待简化顶点的各个参考顶点中确定出一个参考顶点作为目标参考顶点。
具体的确定目标参考顶点的步骤可以包括步骤A1-步骤A2:
步骤A1,针对该待简化顶点的每个参考顶点,将该参考顶点与剩余的任意两个相邻的参考顶点之间构成的三角形作为该参考顶点对应的参考三角形,计算该参考顶点对应的各个参考三角形的面积之和;
步骤A2,从该待简化顶点的所有参考顶点中,选取对应的各个参考三角形的面积之和最小的参考顶点作为目标参考顶点。
举例说明,参见图4,针对待简化顶点A的每个参考顶点,将该参考顶点与剩余的任意两个相邻的参考顶点之间构成的三角形作为该参考顶点对应的参考三角形。例如,参见图5a,针对待简化顶点A的参考顶点B,将参考顶点B与剩余的任意两个相邻的参考顶点之间构成的三角形BCD、三角形BDE和三角形 BEF均作为参考顶点B对应的参考三角形;并且,可以计算参考顶点B对应的三个参考三角形的面积之和:S1=SBCD+SBDE+SBEF
参见图5b,针对待简化顶点A的参考顶点C,将参考顶点C与剩余的任意两个相邻的参考顶点之间构成的三角形CDE、三角形CEF和三角形CFB均作为参考顶点C对应的参考三角形;并且,可以计算参考顶点C对应的三个参考三角形的面积之和:S2=SCDE+SCEF+SCFB
参见图5c,针对待简化顶点A的参考顶点D,将参考顶点D与剩余的任意两个相邻的参考顶点之间构成的三角形DEF、三角形DFB和三角形DBC均作为参考顶点D对应的参考三角形;并且,可以计算参考顶点D对应的三个参考三角形的面积之和:S3=SDEF+SDFB+SDBC
参见图5d,针对待简化顶点A的参考顶点E,将参考顶点E与剩余的任意两个相邻的参考顶点之间构成的三角形EFB、三角形EBC和三角形ECD均作为参考顶点E对应的参考三角形;并且,可以计算参考顶点E对应的三个参考三角形的面积之和:S4=SEFB+SEBC+SECD
参见图5e,针对待简化顶点A的参考顶点F,将参考顶点F与剩余的任意两个相邻的参考顶点之间构成的三角形FBC、三角形FCD和三角形FDE均作为参考顶点F对应的参考三角形,并且,可以计算参考顶点F对应的三个参考三角形的面积之和:S5=SFBC+SFCD+SFDE
然后可以从该待简化顶点A的所有参考顶点中,选取对应的各个参考三角形的面积之和最小的参考顶点作为目标参考顶点。例如,若S1、S2、S3、S4和 S5中S1最小,则说明参考顶点B对应的三个参考三角形的面积之和最小,则可以确定参考顶点B为目标参考顶点。
步骤310,根据该待简化顶点的各个参考顶点的坐标数据,在待简化3D模型中创建由该待简化顶点的任意两个相邻参考顶点和目标参考顶点之间构成的三角形,得到三个新创建的三角形;并为每个新创建的三角形生成一个新的标识。
举例说明,参见图4,若从待简化3D模型中删去了待简化顶点A的坐标,并且删去了待简化顶点A对应的五个目标三角形以及五个目标三角形的标识。
若待简化顶点A的参考顶点B、参考顶点C、参考顶点D、参考顶点E和参考顶点F分别对应的参考三角形的面积之和S1、S2、S3、S4和S5中S1最小,则可以确定参考顶点B为目标参考顶点。则可以在待简化3D模型中创建由待简化顶点A的任意两个相邻参考顶点和目标参考顶点B之间构成的三角形,得到三个新创建的三角形,如图5a所示,即创建参考顶点B对应的三个参考三角形:三角形BCD、三角形BDE和三角形BEF。并且,可以为所创建的新的三角形生成一个新的标识。即根据目标参考顶点B、参考顶点C和参考顶点D的坐标数据,创建新的三角形BCD,并为三角形BCD生成一个标识“SGBCD”;同时,还可以在待简化3D模型中创建由目标参考顶点B和参考顶点D以及参考顶点E作为顶点的新的三角形BDE,并为所创建的新的三角形生成一个新的标识“SGBDE”;同时,还可以在待简化3D模型中创建由目标参考顶点B和参考顶点E以及参考顶点F作为顶点的新的三角形BEF,并为所创建的新的三角形生成一个新的标识“SGBEF”。
若待简化顶点A的参考顶点B、参考顶点C、参考顶点D、参考顶点E和参考顶点F分别对应的参考三角形的面积之和S1、S2、S3、S4和S5中S2最小,则可以确定参考顶点C为目标参考顶点。则可以在待简化3D模型中创建由待简化顶点A的任意两个相邻参考顶点和目标参考顶点C之间构成的三角形,得到三个新创建的三角形,如图5b所示,即创建参考顶点C对应的三个参考三角形:三角形CDE、三角形CEF和三角形CFB。并且,可以为所创建的新的三角形生成一个新的标识。即根据目标参考顶点C、参考顶点D和参考顶点E的坐标数据,创建新的三角形CDE,并为三角形CDE生成一个标识“SGCDE”;同时,还可以在待简化3D模型中创建由目标参考顶点C和参考顶点E以及参考顶点F作为顶点的新的三角形CEF,并为所创建的新的三角形生成一个新的标识“SGCEF”;同时,还可以在待简化3D模型中创建由目标参考顶点C和参考顶点F以及参考顶点B作为顶点的新的三角形CFB,并为所创建的新的三角形生成一个新的标识“SGCFB”。
若待简化顶点A的参考顶点B、参考顶点C、参考顶点D、参考顶点E和参考顶点F分别对应的参考三角形的面积之和S1、S2、S3、S4和S5中S3最小,则可以确定参考顶点D为目标参考顶点。则可以在待简化3D模型中创建由待简化顶点A的任意两个相邻参考顶点和目标参考顶点D之间构成的三角形,得到三个新创建的三角形,如图5c所示,即创建参考顶点D对应的三个参考三角形:三角形DEF、三角形DFB和三角形DBC。并且,可以为所创建的新的三角形生成一个新的标识。即根据目标参考顶点D、参考顶点E和参考顶点F的坐标数据,创建新的三角形DEF,并为三角形DEF生成一个标识“SGDEF”;同时,还可以在待简化3D模型中创建由目标参考顶点D和参考顶点F以及参考顶点B作为顶点的新的三角形DFB,并为所创建的新的三角形生成一个新的标识“SGDFB”;同时,还可以在待简化3D模型中创建由目标参考顶点D和参考顶点B以及参考顶点C作为顶点的新的三角形DBC,并为所创建的新的三角形生成一个新的标识“SGDBC”。
若待简化顶点A的参考顶点B、参考顶点C、参考顶点D、参考顶点E和参考顶点F分别对应的参考三角形的面积之和S1、S2、S3、S4和S5中S4最小,则可以确定参考顶点E为目标参考顶点。则可以在待简化3D模型中创建由待简化顶点A的任意两个相邻参考顶点和目标参考顶点E之间构成的三角形,得到三个新创建的三角形,如图5d所示,即根据各个顶点的坐标数据,创建目标参考顶点E对应的三个参考三角形:三角形EFB、三角形EBC和三角形ECD。并且,可以为所创建的新的三角形生成一个新的标识。即为三角形EFB生成一个标识“SGEFB”;同时,还可以为三角形DFB生成一个新的标识“SGEBC”;同时,还可以为三角形ECD生成一个新的标识“SGECD”。
若待简化顶点A的参考顶点B、参考顶点C、参考顶点D、参考顶点E和参考顶点F分别对应的参考三角形的面积之和S1、S2、S3、S4和S5中S5最小,则可以确定参考顶点F为目标参考顶点。则可以在待简化3D模型中创建由待简化顶点A的任意两个相邻参考顶点和目标参考顶点F之间构成的三角形,得到三个新创建的三角形。如图5d所示,即根据各个顶点的坐标数据,创建目标参考顶点 F对应的三个参考三角形:三角形FBC、三角形FCD和三角形FDE。并且,可以为所创建的新的三角形生成一个新的标识。即为三角形FBC生成一个标识“SGFBC”;同时,还可以为三角形FCD生成一个新的标识“SGFCD”;同时,还可以为三角形FDE生成一个新的标识“SGFDE”。
步骤311,更新各个参考顶点的简化次数,以及,更新待简化3D模型。
本步骤中,可以将删去的待简化顶点的各个参考顶点的计数器中的数值加 1作为新的计数器的数值,即将各个参考顶点的简化次数加1作为新的简化次数。并更新待简化3D模型的结构,得到新的待简化3D模型。
步骤312,当集合X不为空集时,从集合X中再次任取出一个新的待简化顶点。
步骤313,判断该待简化顶点是否在预设参考顶点集合中,若判断结果为否,获得与该待简化顶点直接相连的其他各个顶点分别作为该待简化顶点的参考顶点,并针对该待简化顶点返回执行步骤306;若判断结果为是,返回执行步骤312。
其中,该待简化顶点不在预设参考顶点集合中表示该待简化顶点未被简化过。
步骤314,当集合X为空集时,判断当前迭代次数是否达到预设迭代次数,若判断结果为是,执行步骤315;若判断结果为否,更新迭代次数,并针对更新后的待简化3D模型,返回执行步骤302。
其中,预设迭代次数可以设定为50次或100次等等,不做具体限定。
步骤315,结束简化操作。
采用本发明实施例提供的方法,通过将待简化3D模型中满足预设的简化次数和面积条件的目标三角形从3D模型中删除,并在待简化3D模型中新建由两个目标参考顶点和任意一个剩余的参考顶点之间构成的三角形,即删去多个目标三角形,新建三个三角形,达到简化3D模型的目的,使得计算力有限的模型驱动设备可以对3D模型进行模型渲染以及动作驱动等操作。即使得3D模型可以满足对模型渲染以及动作驱动等操作有实时性要求的应用场景。
基于同一发明构思,根据本发明上述实施例提供的模型简化方法,相应地,本发明另一实施例还提供了一种模型简化装置,其结构示意图如图6所示,具体包括:
第一数据获得模块601,用于获得待简化3D模型的模型数据;所述待简化 3D模型为由多个三角形拼接形成的模型;所述模型数据包括:所述待简化3D 模型的每个三角形的标识及每个三角形各个顶点的坐标数据;
顶点度数计算模块602,用于基于每个三角形的标识,计算所述待简化3D 模型的每个三角形的各个顶点的度数;其中,三角形顶点的度数为:与该顶点相连的三角形的边的数量;
顶点确定模块603,用于将度数等于5的顶点确定为待简化顶点;
第二数据获得模块604,用于针对每一个待简化顶点,获得与该待简化顶点直接相连的其他各个顶点分别作为该待简化顶点的参考顶点;并将所述待简化3D模型中该待简化顶点的相邻两个参考顶点与该待简化顶点之间构成的三角形均作为该待简化顶点对应的目标三角形;
第三数据获得模块605,用于针对每个待简化顶点,获得该待简化顶点与该待简化顶点的各个参考顶点的简化次数;以及,基于该待简化顶点与该待简化顶点的各个参考顶点的坐标数据,计算该待简化顶点对应的各个目标三角形的面积;其中,三角形每个顶点的简化次数为:与该顶点位于同一三角形中的其他顶点被删掉的个数;
第一判断模块606,用于针对每个待简化顶点,基于各个参考顶点的简化次数各个目标三角形的面积,判断是否满足预设的简化次数和面积条件;
处理模块607,用于若满足,则删除所述待简化3D模型中的该待简化顶点和该待简化顶点对应的各个目标三角形;以及,根据该待简化顶点对应的各个目标三角形的面积,从该待简化顶点的各个参考顶点中确定出一个参考顶点作为目标参考顶点;
三角形创建模块608,用于在所述待简化3D模型中新建由该待简化顶点的任意两个相邻参考顶点和目标参考顶点之间构成的三角形,得到三个新创建的三角形;
更新模块609,用于更新各个参考顶点的简化次数,以及,更新待简化3D 模型。
可见,采用本发明实施例提供的装置,获得待简化3D模型的模型数据;基于每个三角形的标识,计算待简化3D模型的每个三角形的各个顶点的度数;将度数等于4的顶点确定为待简化顶点;对于每一个待简化顶点,获得与该待简化顶点直接相连的其他各个顶点分别作为该待简化顶点的参考顶点;并将在待简化3D模型中该待简化顶点的参考顶点与该待简化顶点之间构成的三角形均作为该待简化顶点对应的目标三角形;针对每个待简化顶点,获得该待简化顶点与该待简化顶点的各个参考顶点的简化次数;以及,基于该待简化顶点与该待简化顶点的各个参考顶点的坐标数据,计算该待简化顶点对应的各个目标三角形的面积;针对每个待简化顶点,基于各个参考顶点的简化次数各个目标三角形的面积,判断是否满足预设的简化次数和面积条件;若满足,则删除待简化3D模型中的该待简化顶点和该待简化顶点对应的各个目标三角形;以及,根据该待简化顶点对应的各个目标三角形的面积,从该待简化顶点的各个参考顶点中确定出一个参考顶点作为目标参考顶点;在待简化3D模型中新建由该待简化顶点的任意两个相邻参考顶点和目标参考顶点之间构成的三角形,得到三个新创建的三角形;更新各个参考顶点的简化次数,以及,更新待简化3D模型。通过将待简化3D模型中满足预设的简化次数和面积条件的目标三角形从3D模型中删除,并在待简化3D模型中新建由两个目标参考顶点和任意一个剩余的参考顶点之间构成的三角形,即删去多个目标三角形,新建三个三角形,达到简化3D模型的目的,使得计算力有限的模型驱动设备可以对3D模型进行模型渲染以及动作驱动等操作。即使得3D模型可以满足对模型渲染以及动作驱动等操作有实时性要求的应用场景。
进一步的,所述处理模块607,针对该待简化顶点的每个参考顶点,将该参考顶点与剩余的任意两个相邻的参考顶点之间构成的三角形作为该参考顶点对应的参考三角形,计算该参考顶点对应的各个参考三角形的面积之和;从该待简化顶点的所有参考顶点中,选取对应的各个参考三角形的面积之和最小的参考顶点作为目标参考顶点。
进一步的,所述三角形创建模块608,具体用于根据该待简化顶点的各个参考顶点的坐标数据,在所述待简化3D模型中创建由该待简化顶点的任意两个相邻参考顶点和目标参考顶点之间构成的三角形,得到三个新创建的三角形;并为每个新创建的三角形生成一个新的标识。
进一步的,参见图7,所述第一判断模606,包括:
第一判断子模块701,用于判断每个待简化顶点是否小于第一预设简化次数,以及待简化顶点的各个参考顶点的简化次数是否均小于第二预设简化次数;若均小于,则满足预设的简化次数条件;
第二判断子模块702,用于判断各个目标三角形的面积是否均小于预设面积,若小于,则满足预设的面积条件。
进一步的,参见图7,所述装置还包括:第二判断模块703,用于判断当前迭代次数是否达到预设迭代次数;如果当前迭代次数达到预设迭代次数,结束简化操作;如果当前迭代次数未达到预设迭代次数,更新迭代次数;并针对更新后的待简化3D模型,并返回所述基于每个三角形的标识,计算所述待简化3D 模型的每个三角形的各个顶点的度数的步骤。
进一步的,参见图7,所述装置还包括:添加模块704,用于将更新了简化次数后的各个参考顶点加到预设参考顶点集合中;
所述第二数据获得模块604,具体用于针对每一个待简化顶点,判断该待简化顶点是否在预设参考顶点集合中,如果不在,则表示该待简化顶点未被简化过,获得与该待简化顶点直接相连的其他各个顶点分别作为该待简化顶点的参考顶点。
可见,采用本发明实施例提供的装置,通过将待简化3D模型中满足预设的简化次数和面积条件的目标三角形从3D模型中删除,并在待简化3D模型中新建由两个目标参考顶点和任意一个剩余的参考顶点之间构成的三角形,即删去多个目标三角形,新建三个三角形,达到简化3D模型的目的,使得计算力有限的模型驱动设备可以对3D模型进行模型渲染以及动作驱动等操作。即使得3D 模型可以满足对模型渲染以及动作驱动等操作有实时性要求的应用场景。
本发明实施例还提供了一种电子设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现如下步骤:
获得待简化3D模型的模型数据;所述待简化3D模型为由多个三角形拼接形成的模型;所述模型数据包括:所述待简化3D模型的每个三角形的标识及每个三角形各个顶点的坐标数据;
基于每个三角形的标识,计算所述待简化3D模型的每个三角形的各个顶点的度数;其中,三角形顶点的度数为:与该顶点相连的三角形的边的数量;
将度数等于5的顶点确定为待简化顶点;
针对每一个待简化顶点,获得与该待简化顶点直接相连的其他各个顶点分别作为该待简化顶点的参考顶点;并将所述待简化3D模型中该待简化顶点的相邻两个参考顶点与该待简化顶点之间构成的三角形均作为该待简化顶点对应的目标三角形;
针对每个待简化顶点,获得该待简化顶点与该待简化顶点的各个参考顶点的简化次数;以及,基于该待简化顶点与该待简化顶点的各个参考顶点的坐标数据,计算该待简化顶点对应的各个目标三角形的面积;其中,三角形每个顶点的简化次数为:与该顶点位于同一三角形中的其他顶点被删掉的个数;
针对每个待简化顶点,基于各个参考顶点的简化次数各个目标三角形的面积,判断是否满足预设的简化次数和面积条件;
若满足,则删除所述待简化3D模型中的该待简化顶点和该待简化顶点对应的各个目标三角形;以及,根据该待简化顶点对应的各个目标三角形的面积,从该待简化顶点的各个参考顶点中确定出一个参考顶点作为目标参考顶点;
在所述待简化3D模型中新建由该待简化顶点的任意两个相邻参考顶点和和目标参考顶点之间构成的三角形,得到三个新创建的三角形;
更新各个参考顶点的简化次数,以及,更新待简化3D模型。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器 (DigitalSignal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一模型简化方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一模型简化方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及存储介质而言而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (14)

1.一种模型简化方法,其特征在于,包括:
获得待简化3D模型的模型数据;所述待简化3D模型为由多个三角形拼接形成的模型;所述模型数据包括:所述待简化3D模型的每个三角形的标识及每个三角形各个顶点的坐标数据;
基于每个三角形的标识,计算所述待简化3D模型的每个三角形的各个顶点的度数;其中,三角形顶点的度数为:与该顶点相连的三角形的边的数量;
将度数等于5的顶点确定为待简化顶点;
针对每一个待简化顶点,获得与该待简化顶点直接相连的其他各个顶点分别作为该待简化顶点的参考顶点;并将所述待简化3D模型中该待简化顶点的相邻两个参考顶点与该待简化顶点之间构成的三角形均作为该待简化顶点对应的目标三角形;
针对每个待简化顶点,获得该待简化顶点与该待简化顶点的各个参考顶点的简化次数;以及,基于该待简化顶点与该待简化顶点的各个参考顶点的坐标数据,计算该待简化顶点对应的各个目标三角形的面积;其中,三角形每个顶点的简化次数为:与该顶点位于同一三角形中的其他顶点被删掉的个数;
针对每个待简化顶点,基于各个参考顶点的简化次数各个目标三角形的面积,判断是否满足预设的简化次数和面积条件;
若满足,则删除所述待简化3D模型中的该待简化顶点和该待简化顶点对应的各个目标三角形;以及,根据该待简化顶点对应的各个目标三角形的面积,从该待简化顶点的各个参考顶点中确定出一个参考顶点作为目标参考顶点;
在所述待简化3D模型中新建由该待简化顶点的任意两个相邻参考顶点和和目标参考顶点之间构成的三角形,得到三个新创建的三角形;
更新各个参考顶点的简化次数,以及,更新待简化3D模型。
2.根据权利要求1所述的方法,其特征在于,所述根据该待简化顶点对应的各个目标三角形的面积,从该待简化顶点的各个参考顶点中确定出一个参考顶点作为目标参考顶点,包括:
针对该待简化顶点的每个参考顶点,将该参考顶点与剩余的任意两个相邻的参考顶点之间构成的三角形作为该参考顶点对应的参考三角形,计算该参考顶点对应的各个参考三角形的面积之和;
从该待简化顶点的所有参考顶点中,选取对应的各个参考三角形的面积之和最小的参考顶点作为目标参考顶点。
3.根据权利要求1所述的方法,其特征在于,所述在所述待简化3D模型中新建由该待简化顶点的任意两个相邻参考顶点和目标参考顶点之间构成的三角形,得到三个新创建的三角形,包括:
根据该待简化顶点的各个参考顶点的坐标数据,在所述待简化3D模型中创建由该待简化顶点的任意两个相邻参考顶点和目标参考顶点之间构成的三角形,得到三个新创建的三角形;并为每个新创建的三角形生成一个新的标识。
4.根据权利要求1所述的方法,其特征在于,所述针对每个待简化顶点,基于各个参考顶点的简化次数各个目标三角形的面积,判断是否满足预设的简化次数和面积条件,包括:
判断每个待简化顶点是否小于第一预设简化次数,以及待简化顶点的各个参考顶点的简化次数是否均小于第二预设简化次数;若均小于,则满足预设的简化次数条件;
判断各个目标三角形的面积是否均小于预设面积,若小于,则满足预设的面积条件。
5.根据权利要求1所述的方法,其特征在于,在所述更新待简化3D模型之后,还包括:
判断当前迭代次数是否达到预设迭代次数;
如果当前迭代次数达到预设迭代次数,结束简化操作;
如果当前迭代次数未达到预设迭代次数,更新迭代次数;并针对更新后的待简化3D模型,并返回所述基于每个三角形的标识,计算所述待简化3D模型的每个三角形的各个顶点的度数的步骤。
6.根据权利要求5所述的方法,其特征在于,在所述更新各个参考顶点的简化次数之后,还包括:
将更新了简化次数后的各个参考顶点加到预设参考顶点集合中;
所述针对每一个待简化顶点,获得与该待简化顶点直接相连的其他各个顶点分别作为该待简化顶点的参考顶点的步骤,包括:
针对每一个待简化顶点,判断该待简化顶点是否在预设参考顶点集合中,如果不在,则表示该待简化顶点未被简化过,获得与该待简化顶点直接相连的其他各个顶点分别作为该待简化顶点的参考顶点。
7.一种模型简化装置,其特征在于,包括:
第一数据获得模块,用于获得待简化3D模型的模型数据;所述待简化3D模型为由多个三角形拼接形成的模型;所述模型数据包括:所述待简化3D模型的每个三角形的标识及每个三角形各个顶点的坐标数据;
顶点度数计算模块,用于基于每个三角形的标识,计算所述待简化3D模型的每个三角形的各个顶点的度数;其中,三角形顶点的度数为:与该顶点相连的三角形的边的数量;
顶点确定模块,用于将度数等于5的顶点确定为待简化顶点;
第二数据获得模块,用于针对每一个待简化顶点,获得与该待简化顶点直接相连的其他各个顶点分别作为该待简化顶点的参考顶点;并将所述待简化3D模型中该待简化顶点的相邻两个参考顶点与该待简化顶点之间构成的三角形均作为该待简化顶点对应的目标三角形;
第三数据获得模块,用于针对每个待简化顶点,获得该待简化顶点与该待简化顶点的各个参考顶点的简化次数;以及,基于该待简化顶点与该待简化顶点的各个参考顶点的坐标数据,计算该待简化顶点对应的各个目标三角形的面积;其中,三角形每个顶点的简化次数为:与该顶点位于同一三角形中的其他顶点被删掉的个数;
第一判断模块,用于针对每个待简化顶点,基于各个参考顶点的简化次数各个目标三角形的面积,判断是否满足预设的简化次数和面积条件;
处理模块,用于若满足,则删除所述待简化3D模型中的该待简化顶点和该待简化顶点对应的各个目标三角形;以及,根据该待简化顶点对应的各个目标三角形的面积,从该待简化顶点的各个参考顶点中确定出一个参考顶点作为目标参考顶点;
三角形创建模块,用于在所述待简化3D模型中新建由该待简化顶点的任意两个相邻参考顶点和目标参考顶点之间构成的三角形,得到三个新创建的三角形;
更新模块,用于更新各个参考顶点的简化次数,以及,更新待简化3D模型。
8.根据权利要求7所述的装置,其特征在于,所述处理模块,针对该待简化顶点的每个参考顶点,将该参考顶点与剩余的任意两个相邻的参考顶点之间构成的三角形作为该参考顶点对应的参考三角形,计算该参考顶点对应的各个参考三角形的面积之和;从该待简化顶点的所有参考顶点中,选取对应的各个参考三角形的面积之和最小的参考顶点作为目标参考顶点。
9.根据权利要求7所述的装置,其特征在于,所述三角形创建模块,具体用于根据该待简化顶点的各个参考顶点的坐标数据,在所述待简化3D模型中创建由该待简化顶点的任意两个相邻参考顶点和目标参考顶点之间构成的三角形,得到三个新创建的三角形;并为每个新创建的三角形生成一个新的标识。
10.根据权利要求7所述的装置,其特征在于,所述第一判断模块,包括:
第一判断子模块,用于判断每个待简化顶点是否小于第一预设简化次数,以及待简化顶点的各个参考顶点的简化次数是否均小于第二预设简化次数;若均小于,则满足预设的简化次数条件;
第二判断子模块,用于判断各个目标三角形的面积是否均小于预设面积,若小于,则满足预设的面积条件。
11.根据权利要求7所述的装置,其特征在于,还包括:第二判断模块,用于判断当前迭代次数是否达到预设迭代次数;如果当前迭代次数达到预设迭代次数,结束简化操作;如果当前迭代次数未达到预设迭代次数,更新迭代次数;并针对更新后的待简化3D模型,并返回所述基于每个三角形的标识,计算所述待简化3D模型的每个三角形的各个顶点的度数的步骤。
12.根据权利要求11所述的装置,其特征在于,还包括:
添加模块,用于将更新了简化次数后的各个参考顶点加到预设参考顶点集合中;
所述第二数据获得模块,具体用于针对每一个待简化顶点,判断该待简化顶点是否在预设参考顶点集合中,如果不在,则表示该待简化顶点未被简化过,获得与该待简化顶点直接相连的其他各个顶点分别作为该待简化顶点的参考顶点。
13.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法。
CN202011416428.6A 2020-12-04 2020-12-04 一种模型简化方法、装置、电子设备及存储介质 Pending CN112465954A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011416428.6A CN112465954A (zh) 2020-12-04 2020-12-04 一种模型简化方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011416428.6A CN112465954A (zh) 2020-12-04 2020-12-04 一种模型简化方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN112465954A true CN112465954A (zh) 2021-03-09

Family

ID=74801210

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011416428.6A Pending CN112465954A (zh) 2020-12-04 2020-12-04 一种模型简化方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112465954A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017045138A (ja) * 2015-08-24 2017-03-02 大日本印刷株式会社 ポリゴンモデル構造化装置および立体物造形用データ削減装置
CN108460836A (zh) * 2018-02-11 2018-08-28 浙江科澜信息技术有限公司 一种三维模型简化的方法及系统
CN109448125A (zh) * 2018-09-26 2019-03-08 深圳市华讯方舟太赫兹科技有限公司 一种三角网格模型的处理方法、处理终端及存储介质
CN110298922A (zh) * 2019-07-04 2019-10-01 浙江科澜信息技术有限公司 一种三维模型简化方法、装置及设备
WO2020093307A1 (zh) * 2018-11-08 2020-05-14 深圳市大疆创新科技有限公司 三维网格模型的简化方法与装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017045138A (ja) * 2015-08-24 2017-03-02 大日本印刷株式会社 ポリゴンモデル構造化装置および立体物造形用データ削減装置
CN108460836A (zh) * 2018-02-11 2018-08-28 浙江科澜信息技术有限公司 一种三维模型简化的方法及系统
CN109448125A (zh) * 2018-09-26 2019-03-08 深圳市华讯方舟太赫兹科技有限公司 一种三角网格模型的处理方法、处理终端及存储介质
WO2020093307A1 (zh) * 2018-11-08 2020-05-14 深圳市大疆创新科技有限公司 三维网格模型的简化方法与装置
CN110298922A (zh) * 2019-07-04 2019-10-01 浙江科澜信息技术有限公司 一种三维模型简化方法、装置及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徐岗;舒来新;朱亚光;潘德燃;许金兰;吴卿;: "边界简化与多目标优化相结合的高质量四边形网格生成", 中国图象图形学报, no. 01, 16 January 2018 (2018-01-16) *

Similar Documents

Publication Publication Date Title
CN113010937B (zh) 构件截面钢筋的参数化建模方法及相关装置
US20150127301A1 (en) Updating A CAD Model To Reflect Global Or Local Shape Changes
JP2015122068A (ja) Cadベースの初期表面形状補正
CN114863385B (zh) 道路曲面信息生成方法、装置、设备和计算机可读介质
CN113792024A (zh) 用于迁移数据的方法、装置、设备以及存储介质
CN109685479A (zh) 一种施工隧道进度的展示方法、计算机装置以及计算机可读存储介质
CN112435330B (zh) 一种3d模型简化方法、装置、电子设备及存储介质
CN115270500A (zh) 一种布尔求差运算方法、装置及电子设备
CN109960841B (zh) 一种流体表面张力的仿真方法、终端设备及存储介质
CN111815510B (zh) 基于改进的卷积神经网络模型的图像处理方法及相关设备
CN117710551A (zh) 一种实体渲染方法、装置、电子设备及存储介质
CN112465954A (zh) 一种模型简化方法、装置、电子设备及存储介质
US11763524B2 (en) Layered meshing for additive manufacturing simulations
CN112446940B (zh) 针对3d模型的简化方法、装置、电子设备及存储介质
CN109472744B (zh) 三维模型缩小方法
CN110413632B (zh) 管理状态的方法、装置、计算机可读介质及电子设备
CN114564268A (zh) 一种设备管理方法、装置、电子设备和存储介质
CN110717291B (zh) 一种焊接结构件变形仿真方法、装置、设备及存储介质
CN112685871A (zh) 防雷保护范围模拟方法、装置、设备和存储介质
CN113778402B (zh) 一种基于可视化编程的节点检测方法和装置
US20240144419A1 (en) Systems, methods, and media for determining a stopping condition for model decimation
CN117151020B (zh) 基于四叉树的覆铜形状相交状态快速判断方法及装置
US8719735B2 (en) Optimizing lithographic mask for manufacturability in efficient manner
CN114417449A (zh) 墙体相交处理方法、装置、计算机设备和存储介质
CN116681845A (zh) 3d场景渲染方法、装置、电子设备和计算机可读介质

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