CN104851126B - 基于广义圆柱体的三维模型分割方法及装置 - Google Patents
基于广义圆柱体的三维模型分割方法及装置 Download PDFInfo
- Publication number
- CN104851126B CN104851126B CN201510216755.XA CN201510216755A CN104851126B CN 104851126 B CN104851126 B CN 104851126B CN 201510216755 A CN201510216755 A CN 201510216755A CN 104851126 B CN104851126 B CN 104851126B
- Authority
- CN
- China
- Prior art keywords
- generalized cylinder
- mrow
- generalized
- body component
- point
- 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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
本发明提供了一种基于广义圆柱体的三维模型分割方法及装置,涉及三维模型技术领域,方法包括:通过三维模型表面的采样点构建局部广义圆柱体;对局部广义圆柱体进行融合处理,形成由非局部广义圆柱体构成的过完备覆盖集,进而从该过完备覆盖集中获取多个精确覆盖集;根据广义圆柱度的和中的最小值对应的精确覆盖集确定一三维模型分割方式,从而进行三维模型分割。本发明能够解决当前三维模型分割领域中还难以通过基于广义圆柱体对三维模型进行优化分割的问题。
Description
技术领域
本发明涉及三维模型技术领域,尤其涉及一种基于广义圆柱体的三维模型分割方法及装置。
背景技术
当前,三维模型的分割是图形学、计算几何的基础问题之一,其被广泛应用于三维几何处理的各个方面,如网格简化、参数化与纹理映射、交互编辑、几何变形、样条曲面重建、模型近似与压缩、骨架提取与动画对应、模型匹配与检索等等。典型的模型分割算法是指根据一定的几何或拓扑特征,将网格模型分割为一组有限数量的,各自连通且具有一定的简单形状意义的子网格,例如凸分割(convex decomposition),其每个子块都构成一个(近似)凸多面体。
广义圆柱体(generalized cylinders)是一种非常常见的几何基元,例如人、动物的躯干和四肢等器官都是广义圆柱体。广义圆柱体可由一根三维曲线中轴(centralaxis),即曲线骨架(curve skeleton)以及垂直于该骨架的剖面(cross-section)定义。广义圆柱体三维实体功能多、易加工,且能表达非常多的形状,人造工艺品通常由许多的广义圆柱体构成。相比于凸形(convex)等其他简单基元,基于广义圆柱体的分割可获得块数更少的、表达更紧致的模型分割。
然而,虽然广义圆柱体形状广泛存在、且在骨架提取和建模中已有成功的应用,但是在三维模型分割领域中还难以通过基于广义圆柱体对三维模型进行优化分割。
发明内容
本发明的实施例提供一种基于广义圆柱体的三维模型分割方法及装置,以解决当前三维模型分割领域中还难以通过基于广义圆柱体对三维模型进行优化分割的问题。
为达到上述目的,本发明采用如下技术方案:
一种基于广义圆柱体的三维模型分割方法,包括:
获取一三维模型,通过标准泊松圆盘采样法在所述三维模型的表面均匀采样,获取多个采样点;
通过所述多个采样点中的每个采样点构建多个局部广义圆柱体;
将所述多个局部广义圆柱体进行融合处理,形成多个非局部广义圆柱体;所述多个非局部广义圆柱体构成一候选广义圆柱集;所述候选广义圆柱集过完备覆盖所述三维模型的表面,形成过完备覆盖集;
从所述过完备覆盖集中获取多个精确覆盖集;其中,一所述精确覆盖集包括多个互不重叠的广义圆柱体部件,且所述多个互不重叠的广义圆柱体部件的表面构成所述三维模型的表面;
计算每个所述精确覆盖集中的各广义圆柱体部件的广义圆柱度的和;所述广义圆柱度由该广义圆柱体部件的平直度和剖面变化度组成;
将各广义圆柱度的和进行排序,确定各广义圆柱度的和中的最小值;
根据所述各广义圆柱度的和中的最小值对应的精确覆盖集确定一三维模型分割方式;
根据所述三维模型分割方式对所述三维模型进行分割。
具体的,所述通过所述多个采样点中的每个采样点构建多个局部广义圆柱体,包括:
根据一采样点,确定通过该采样点的多个初始平面;
根据所述多个初始平面,确定所述采样点的一个或多个切面;
确定所述切面与所述三维模型的表面的交线的中心点,以所述中心点作为所述采样点对应的骨架点,以所述切面的法向量为所述采样点对应的旋转对称轴;
将每两个相邻采样点对应的骨架点沿所述旋转对称轴连接,形成一中轴;
根据所述中轴均匀采样所述三维模型的表面上的剖面曲线,形成一局部广义圆柱体。
具体的,所述将所述多个局部广义圆柱体进行融合处理,形成多个非局部广义圆柱体,包括:
逐渐将相邻接的局部广义圆柱体进行融合,形成多个融合广义圆柱体;
若所述融合广义圆柱体的广义圆柱度小于进行融合前的两个局部广义圆柱体的广义圆柱度的和,则确定所述融合广义圆柱体为非局部广义圆柱体;
将各非局部广义圆柱体的重叠区域分离,形成互不重叠的广义圆柱体部件;
穷举所述互不重叠的广义圆柱体部件所构成的组合,形成更新后的广义圆柱体部件,将所述更新后的广义圆柱体部件作为非局部广义圆柱体。
具体的,所述计算每个所述精确覆盖集中的各广义圆柱体部件的广义圆柱度的和,包括:
计算各广义圆柱体部件的广义圆柱度GCity:
GCity=Es+αEv
其中,Es为所述平直度;Ev为所述剖面变化度;α为一权重参数。
另外,该基于广义圆柱体的三维模型分割方法,还包括:
通过Douglas-Peucker算法计算广义圆柱体部件的平直度Es(n):
其中,C为常数;n为广义圆柱体部件上的中轴折线上的控制点个数;di第i个控制点对应的逼近误差。
另外,该基于广义圆柱体的三维模型分割方法,还包括:
步骤1、根据广义圆柱体部件的中轴曲线的两端点ps和pe确定一直线pspe,以该直线pspe作为中轴折线;
步骤2、在所述中轴曲线上确定一距离所述中轴折线的距离最大的目标点,若所述目标点与所述中轴折线的距离大于一第一距离阈值,将所述目标点设置为所述控制点;
步骤3、根据所述控制点重新确定一中轴折线,返回执行步骤2,直至所述中轴曲线上的点与所述中轴折线的距离均小于等于所述第一距离阈值;其中,所述中轴曲线上的点与所述中轴折线的距离为所述逼近误差。
此外,该基于广义圆柱体的三维模型分割方法,还包括:
通过Douglas-Peucker算法计算广义圆柱体部件的剖面变化度Ev(m):
其中,D(cs,ce)为广义圆柱体部件两端选取的剖面曲线cs与ce的Hausdorff距离;m为一根据广义圆柱体部件的三维近似模型上的剖面曲线的数目;D(fi,fi')为广义圆柱体部件上的剖面曲线fi与一根据广义圆柱体部件的三维近似模型上的剖面曲线fi'的Hausdorff距离。
另外,该基于广义圆柱体的三维模型分割方法,还包括:
计算Hausdorff距离D(cs,ce):
其中,为剖面曲线cs上的各点k到剖面曲线ce上的各点h的各第一最小距离;所述表示所述各第一最小距离中的最大值;
计算Hausdorff距离D(fi,fi'):
其中,为剖面曲线fi上的各点k到剖面曲线fi'上的各点h的各第二最小距离;所述表示所述各第二最小距离中的最大值。
另外,该基于广义圆柱体的三维模型分割方法,还包括:
步骤1、根据广义圆柱体部件两端选取的剖面曲线cs与ce进行线性插值,生成一三维近似模型;所述剖面曲线cs与ce分别构成两个控制剖面曲面;
步骤2、在所述广义圆柱体部件上确定一与所述三维近似模型上的剖面曲线的Hausdorff距离最大的目标剖面曲线;
步骤3、若所述目标剖面曲线与所述三维近似模型上的剖面曲线的Hausdorff距离大于一第二距离阈值,将所述目标剖面曲线所构成的面插入所述控制剖面曲面,重新构成一三维近似模型,返回执行步骤2,直至所述广义圆柱体部件上的剖面曲线与所述三维近似模型上的剖面曲线的Hausdorff距离均小于等于所述第二距离阈值。
一种基于广义圆柱体的三维模型分割装置,包括:
采样单元,用于获取一三维模型,通过标准泊松圆盘采样法在所述三维模型的表面均匀采样,获取多个采样点;
局部广义圆柱体生成单元,用于通过所述多个采样点中的每个采样点构建多个局部广义圆柱体;
融合单元,用于将所述多个局部广义圆柱体进行融合处理,形成多个非局部广义圆柱体;所述多个非局部广义圆柱体构成一候选广义圆柱集;所述候选广义圆柱集过完备覆盖所述三维模型的表面,形成过完备覆盖集;
精确覆盖集获取单元,用于从所述过完备覆盖集中获取多个精确覆盖集;其中,一所述精确覆盖集包括多个互不重叠的广义圆柱体部件,且所述多个互不重叠的广义圆柱体部件的表面构成所述三维模型的表面;
三维模型分割方式确定单元,用于计算每个所述精确覆盖集中的各广义圆柱体部件的广义圆柱度的和;将各广义圆柱度的和进行排序,确定各广义圆柱度的和中的最小值;根据所述各广义圆柱度的和中的最小值对应的精确覆盖集确定一三维模型分割方式;所述广义圆柱度由该广义圆柱体部件的平直度和剖面变化度组成;
三维模型分割单元,用于根据所述三维模型分割方式对所述三维模型进行分割。
此外,所述局部广义圆柱体生成单元,具体用于:
根据一采样点,确定通过该采样点的多个初始平面;
根据所述多个初始平面,确定所述采样点的一个或多个切面;
确定所述切面与所述三维模型的表面的交线的中心点,以所述中心点作为所述采样点对应的骨架点,以所述切面的法向量为所述采样点对应的旋转对称轴;
将每两个相邻采样点对应的骨架点沿所述旋转对称轴连接,形成一中轴;
根据所述中轴均匀采样所述三维模型的表面上的剖面曲线,形成一局部广义圆柱体。
此外,所述融合单元,具体用于:
逐渐将相邻接的局部广义圆柱体进行融合,形成多个融合广义圆柱体;
若所述融合广义圆柱体的广义圆柱度小于进行融合前的两个局部广义圆柱体的广义圆柱度的和,则确定所述融合广义圆柱体为非局部广义圆柱体;
将各非局部广义圆柱体的重叠区域分离,形成互不重叠的广义圆柱体部件;
穷举所述互不重叠的广义圆柱体部件所构成的组合,形成更新后的广义圆柱体部件,将所述更新后的广义圆柱体部件作为非局部广义圆柱体。
另外,所述三维模型分割方式确定单元,具体用于:
计算各广义圆柱体部件的广义圆柱度GCity:
GCity=Es+αEv
其中,Es为所述平直度;Ev为所述剖面变化度;α为一权重参数。
进一步的,该基于广义圆柱体的三维模型分割装置,还包括:
平直度计算单元,用于通过Douglas-Peucker算法计算广义圆柱体部件的平直度Es(n):
其中,C为常数;n为广义圆柱体部件上的中轴折线上的控制点个数;di第i个控制点对应的逼近误差。
进一步的,该基于广义圆柱体的三维模型分割装置,还包括:
中轴折线建模单元,用于执行:
步骤1、根据广义圆柱体部件的中轴曲线的两端点ps和pe确定一直线pspe,以该直线pspe作为中轴折线;
步骤2、在所述中轴曲线上确定一距离所述中轴折线的距离最大的目标点,若所述目标点与所述中轴折线的距离大于一第一距离阈值,将所述目标点设置为所述控制点;
步骤3、根据所述控制点重新确定一中轴折线,返回执行步骤2,直至所述中轴曲线上的点与所述中轴折线的距离均小于等于所述第一距离阈值;其中,所述中轴曲线上的点与所述中轴折线的距离为所述逼近误差。
进一步的,该基于广义圆柱体的三维模型分割装置,还包括:
剖面变化度计算单元,用于通过Douglas-Peucker算法计算广义圆柱体部件的剖面变化度Ev(m):
其中,D(cs,ce)为广义圆柱体部件两端选取的剖面曲线cs与ce的Hausdorff距离;m为一根据广义圆柱体部件的三维近似模型上的剖面曲线的数目;D(fi,fi')为广义圆柱体部件上的剖面曲线fi与一根据广义圆柱体部件的三维近似模型上的剖面曲线fi'的Hausdorff距离。
此外,该基于广义圆柱体的三维模型分割装置,还包括:
Hausdorff距离计算单元,用于计算Hausdorff距离D(cs,ce):
其中,为剖面曲线cs上的各点k到剖面曲线ce上的各点h的各第一最小距离;所述表示所述各第一最小距离中的最大值;
所述Hausdorff距离计算单元,还用于计算Hausdorff距离D(fi,fi'):
其中,为剖面曲线fi上的各点k到剖面曲线fi'上的各点h的各第二最小距离;所述表示所述各第二最小距离中的最大值。
进一步的,该基于广义圆柱体的三维模型分割装置,还包括:
三维近似模型建模单元,用于执行:
步骤1、根据广义圆柱体部件两端选取的剖面曲线cs与ce进行线性插值,生成一三维近似模型;所述剖面曲线cs与ce分别构成两个控制剖面曲面;
步骤2、在所述广义圆柱体部件上确定一与所述三维近似模型上的剖面曲线的Hausdorff距离最大的目标剖面曲线;
步骤3、若所述目标剖面曲线与所述三维近似模型上的剖面曲线的Hausdorff距离大于一第二距离阈值,将所述目标剖面曲线所构成的面插入所述控制剖面曲面,重新构成一三维近似模型,返回执行步骤2,直至所述广义圆柱体部件上的剖面曲线与所述三维近似模型上的剖面曲线的Hausdorff距离均小于等于所述第二距离阈值。
本发明实施例提供的基于广义圆柱体的三维模型分割方法及装置,通过三维模型表面的采样点构建了局部广义圆柱体,之后对局部广义圆柱体进行融合处理,形成由非局部广义圆柱体构成的过完备覆盖集,进而从该过完备覆盖集中获取多个精确覆盖集,并根据广义圆柱度的和中的最小值对应的精确覆盖集确定一三维模型分割方式,从而进行三维模型分割。可见,本发明能够通过上述方式确定一全局最优的三维模型分割方式,解决了当前三维模型分割领域中还难以通过基于广义圆柱体对三维模型进行优化分割的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于广义圆柱体的三维模型分割方法的流程图一;
图2为本发明实施例提供的基于广义圆柱体的三维模型分割方法的流程图二;
图3为本发明实施例中的中轴折线以及控制点的生成示意图;
图4为本发明实施例中的三维近似模型以及三维近似模型上的剖面曲线的生成示意图;
图5为本发明实施例提供的基于广义圆柱体的三维模型分割装置的结构示意图一;
图6为本发明实施例提供的基于广义圆柱体的三维模型分割装置的结构示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种基于广义圆柱体的三维模型分割方法,包括:
步骤101、获取一三维模型,通过标准泊松圆盘采样法在所述三维模型的表面均匀采样,获取多个采样点。
步骤102、通过所述多个采样点中的每个采样点构建多个局部广义圆柱体。
步骤103、将所述多个局部广义圆柱体进行融合处理,形成多个非局部广义圆柱体。
其中,所述多个非局部广义圆柱体构成一候选广义圆柱集;所述候选广义圆柱集过完备覆盖所述三维模型的表面,形成过完备覆盖集。
步骤104、从该过完备覆盖集中获取多个精确覆盖集。
其中,一个精确覆盖集包括多个互不重叠的广义圆柱体部件,且多个互不重叠的广义圆柱体部件的表面构成所述三维模型的表面。
步骤105、计算每个精确覆盖集中的各广义圆柱体部件的广义圆柱度的和。
其中,该广义圆柱度由该广义圆柱体部件的平直度和剖面变化度组成。
步骤106、将各广义圆柱度的和进行排序,确定各广义圆柱度的和中的最小值。
步骤107、根据各广义圆柱度的和中的最小值对应的精确覆盖集确定一三维模型分割方式。
步骤108、根据该三维模型分割方式对三维模型进行分割。
本发明实施例提供的基于广义圆柱体的三维模型分割方法,通过三维模型表面的采样点构建了局部广义圆柱体,之后对局部广义圆柱体进行融合处理,形成由非局部广义圆柱体构成的过完备覆盖集,进而从该过完备覆盖集中获取多个精确覆盖集,并根据广义圆柱度的和中的最小值对应的精确覆盖集确定一三维模型分割方式,从而进行三维模型分割。可见,本发明能够通过上述方式确定一全局最优的三维模型分割方式,解决了当前三维模型分割领域中还难以通过基于广义圆柱体对三维模型进行优化分割的问题。
为了使本领域的技术人员更好的了解本发明,下面列举一个更为详细的实施例,如图2所示,本发明实施例提供基于广义圆柱体的三维模型分割方法,包括:
步骤201、获取一三维模型,通过标准泊松圆盘采样法在所述三维模型的表面均匀采样,获取多个采样点。
步骤202、根据一采样点,确定通过该采样点的多个初始平面。
此处采用的是旋转对称轴(Rotational Symmetry Axis,简称ROSA)技术来执行步骤202至步骤206。该多个初始平面可以是N个,N一般为24。
步骤203、根据所述多个初始平面,确定所述采样点的一个或多个切面。
对于每一个初始平面,根据其与三维模型表面的交线上的法向量分布,可以计算新的平面,然后迭代直至平面不再变化,则这个平面称之为该点的切面(Cutting Plane);对于柱形区域,一般所有初始平面最终都收敛到同一个切面,而对于非柱形区域,则可能存在多个切面。
步骤204、确定所述切面与所述三维模型的表面的交线的中心点,以所述中心点作为所述采样点对应的骨架点,以所述切面的法向量为所述采样点对应的旋转对称轴。
步骤205、将每两个相邻采样点对应的骨架点沿所述旋转对称轴连接,形成一中轴。
步骤206、根据所述中轴均匀采样所述三维模型的表面上的剖面曲线,形成一局部广义圆柱体。
步骤207、逐渐将相邻接的局部广义圆柱体进行融合,形成多个融合广义圆柱体。
由于局部广义圆柱体在采样点的邻域内构建,因此存在大量的重叠,虽然其构成了三维模型的表面的过完备覆盖(Over-complete Cover),但这还不能保证精确覆盖集的存在,同时为了减小分割规模,获得数量最少的广义圆柱分割,此处需要将局部广义圆柱体进行融合。
步骤208、若融合广义圆柱体的广义圆柱度小于进行融合前的两个局部广义圆柱体的广义圆柱度的和,则确定所述融合广义圆柱体为非局部广义圆柱体。
其公式表达为:
GCity(A⊕B)<GCity(A)+GCity(B)
其中,GCity(A)为A局部广义圆柱体的广义圆柱度,GCity(B)为B局部广义圆柱体的广义圆柱度,GCity(A⊕B)为A和B融合的广义圆柱体的广义圆柱度。对于广义圆柱度的计算方法,可以参见后续步骤212所示,此处不再赘述。
步骤209、将各非局部广义圆柱体的重叠区域分离,形成互不重叠的广义圆柱体部件。
步骤210、穷举所述互不重叠的广义圆柱体部件所构成的组合,形成更新后的广义圆柱体部件,将所述更新后的广义圆柱体部件作为非局部广义圆柱体。
值得说明的是,这些互不重叠的广义圆柱体部件可以成为砖块(BuildingBlocks),通过穷举砖块组合,能够构建出所有可能的广义圆柱体部件。这样,能保证该过完备覆盖集中一定存在精确覆盖集,同时还能构建一些仅通过融合局部广义圆柱体所不能构建的新的广义圆柱形部件。
其中,所述多个非局部广义圆柱体构成一候选广义圆柱集;所述候选广义圆柱集过完备覆盖所述三维模型的表面,形成过完备覆盖集。
步骤211、从该过完备覆盖集中获取多个精确覆盖集。
其中,一个精确覆盖集包括多个互不重叠的广义圆柱体部件,且多个互不重叠的广义圆柱体部件的表面构成所述三维模型的表面。
在步骤211中,可以采用Algorithm X算法,从一组过完备覆盖集中快速枚举出所有有效的精确覆盖集。
步骤212、计算每个精确覆盖集中的各广义圆柱体部件的广义圆柱度的和。
其中,计算各广义圆柱体部件的广义圆柱度GCity可以采用如下公式来实现:
GCity=Es+αEv
其中,Es为所述平直度;Ev为所述剖面变化度;α为一权重参数,α一般为1。
对于上述的平直度,此处可以通过Douglas-Peucker算法计算广义圆柱体部件的平直度Es(n):
其中,C为常数,当C值变大,会激励产生长的多折线中轴;相反当C值变小,会激励将中轴分成很多较短的折线;n为广义圆柱体部件上的中轴折线上的控制点个数;di第i个控制点对应的逼近误差。
对于上述的中轴折线以及控制点,可以通过如下3个步骤产生,例如图3所示的一个壁虎形状的三维模型,其头部到尾部的曲线可以作为一中轴曲线,对于该中轴曲线,可以生成其中轴折线以及控制点:
步骤1、根据广义圆柱体部件的中轴曲线的两端点ps和pe确定一直线pspe,以该直线pspe作为中轴折线。
步骤2、在所述中轴曲线上确定一距离所述中轴折线的距离最大的目标点,若所述目标点与所述中轴折线的距离大于一第一距离阈值,将所述目标点设置为所述控制点。
例如,图3中P1、P2、P3……P11均为上述的目标点,d1、d2、d3分别为P1、P2、P3与中轴折线的距离。此处,需要说明的是,该中轴折线并非一直保持不变,而是通过下面步骤3不断更新确定。最终形成的中轴折线接近所述中轴曲线。
另外,该第一距离阈值一般可以为0.005。
步骤3、根据所述控制点重新确定一中轴折线,返回执行步骤2,直至所述中轴曲线上的点与所述中轴折线的距离均小于等于所述第一距离阈值;其中,所述中轴曲线上的点与所述中轴折线的距离为所述逼近误差。
例如,P1为距离直线pspe最远的目标点,且该距离大于第一距离阈值,则重新确定中轴折线为psp1pe,之后继续执行步骤2,得到控制点P2,重新确定中轴折线为psp2p1pe,按照这种方式,直至中轴曲线上的点与所述中轴折线的距离均小于等于所述第一距离阈值。
另外,对于上述的剖面变化度,可以通过Douglas-Peucker算法计算广义圆柱体部件的剖面变化度Ev(m):
其中,D(cs,ce)为广义圆柱体部件两端选取的剖面曲线cs与ce的Hausdorff距离;m为一根据广义圆柱体部件的三维近似模型上的剖面曲线数目;D(fi,fi')为广义圆柱体部件上的剖面曲线fi与一根据广义圆柱体部件的三维近似模型上的剖面曲线fi'的Hausdorff距离。
对于上述的Hausdorff距离,可以通过如下方式进行计算:
如计算Hausdorff距离D(cs,ce):
其中,为剖面曲线cs上的各点k到剖面曲线ce上的各点h的各第一最小距离;所述表示所述各第一最小距离中的最大值。
又如计算Hausdorff距离D(fi,fi'):
其中,为剖面曲线fi上的各点k到剖面曲线fi'上的各点h的各第二最小距离;所述表示所述各第二最小距离中的最大值。
另外,对于上述的三维近似模型以及三维近似模型上的剖面曲线(该剖面曲线对应形成控制剖面曲面),可以通过如下3个步骤产生,例如如图4所示的一个三维模型,其三维近似模型的生成和控制剖面曲面的生成方式如下:
步骤1、根据广义圆柱体部件两端选取的剖面曲线cs与ce进行线性插值,生成一三维近似模型;所述剖面曲线cs与ce分别构成两个控制剖面曲面。
步骤2、在所述广义圆柱体部件上确定一与所述三维近似模型上的剖面曲线的Hausdorff距离最大的目标剖面曲线。
例如,图4中,f1至f8分别为8个目标剖面曲线,该8个目标剖面曲线构成了8各控制剖面曲面。值得说明的是,该三维近似模型并非一直保持不变,而是通过下面步骤3不断更新确定。最终形成的三维近似模型接近该广义圆柱体部件。
步骤3、若所述目标剖面曲线与所述三维近似模型上的剖面曲线的Hausdorff距离大于一第二距离阈值,将所述目标剖面曲线所构成的面插入所述控制剖面曲面,重新构成一三维近似模型,返回执行步骤2,直至所述广义圆柱体部件上的剖面曲线与所述三维近似模型上的剖面曲线的Hausdorff距离均小于等于所述第二距离阈值。
例如,当剖面曲线cs与ce进行线性插值,生成一三维近似模型后,在广义圆柱体部件上确定一与所述三维近似模型上的剖面曲线f1'的Hausdorff距离最大的目标剖面曲线f1,且该Hausdorff距离大于一第二距离阈值,则根据剖面曲线cs、ce和f1重新确定一三维近似模型,之后继续执行上述步骤2,按照这种方式,得到后续的目标剖面曲线,直至广义圆柱体部件上的剖面曲线与所述三维近似模型上的剖面曲线的Hausdorff距离均小于等于第二距离阈值。
步骤213、将各广义圆柱度的和进行排序,确定各广义圆柱度的和中的最小值。
步骤214、根据各广义圆柱度的和中的最小值对应的精确覆盖集确定一三维模型分割方式。
步骤215、根据该三维模型分割方式对三维模型进行分割。
本发明实施例提供的基于广义圆柱体的三维模型分割方法,通过三维模型表面的采样点构建了局部广义圆柱体,之后对局部广义圆柱体进行融合处理,形成由非局部广义圆柱体构成的过完备覆盖集,进而从该过完备覆盖集中获取多个精确覆盖集,并根据广义圆柱度的和中的最小值对应的精确覆盖集确定一三维模型分割方式,从而进行三维模型分割。可见,本发明能够通过上述方式确定一全局最优的三维模型分割方式,解决了当前三维模型分割领域中还难以通过基于广义圆柱体对三维模型进行优化分割的问题。
对应于上述的方法实施例,如图5所示,本发明实施例提供一种基于广义圆柱体的三维模型分割装置,包括:
采样单元31,可以获取一三维模型,通过标准泊松圆盘采样法在所述三维模型的表面均匀采样,获取多个采样点。
局部广义圆柱体生成单元32,可以通过多个采样点中的每个采样点构建多个局部广义圆柱体。
融合单元33,可以将多个局部广义圆柱体进行融合处理,形成多个非局部广义圆柱体;该多个非局部广义圆柱体构成一候选广义圆柱集;该候选广义圆柱集过完备覆盖所述三维模型的表面,形成过完备覆盖集。
精确覆盖集获取单元34,可以从过完备覆盖集中获取多个精确覆盖集;其中,一所述精确覆盖集包括多个互不重叠的广义圆柱体部件,且所述多个互不重叠的广义圆柱体部件的表面构成所述三维模型的表面。
三维模型分割方式确定单元35,可以计算每个所述精确覆盖集中的各广义圆柱体部件的广义圆柱度的和;将各广义圆柱度的和进行排序,确定各广义圆柱度的和中的最小值;根据所述各广义圆柱度的和中的最小值对应的精确覆盖集确定一三维模型分割方式;所述广义圆柱度由该广义圆柱体部件的平直度和剖面变化度组成。
三维模型分割单元36,可以根据三维模型分割方式对所述三维模型进行分割。
此外,该局部广义圆柱体生成单元32,具体可以:
根据一采样点,确定通过该采样点的多个初始平面,并根据多个初始平面,确定所述采样点的一个或多个切面;确定所述切面与所述三维模型的表面的交线的中心点,以所述中心点作为所述采样点对应的骨架点,以所述切面的法向量为所述采样点对应的旋转对称轴;将每两个相邻采样点对应的骨架点沿所述旋转对称轴连接,形成一中轴;根据该中轴均匀采样所述三维模型的表面上的剖面曲线,形成一局部广义圆柱体。
此外,该融合单元33,具体可以逐渐将相邻接的局部广义圆柱体进行融合,形成多个融合广义圆柱体;若所述融合广义圆柱体的广义圆柱度小于进行融合前的两个局部广义圆柱体的广义圆柱度的和,则确定所述融合广义圆柱体为非局部广义圆柱体;将各非局部广义圆柱体的重叠区域分离,形成互不重叠的广义圆柱体部件;穷举所述互不重叠的广义圆柱体部件所构成的组合,形成更新后的广义圆柱体部件,将所述更新后的广义圆柱体部件作为非局部广义圆柱体。
另外,所述三维模型分割方式确定单元35,具体可以:
计算各广义圆柱体部件的广义圆柱度GCity:
GCity=Es+αEv
其中,Es为所述平直度;Ev为所述剖面变化度;α为一权重参数。
进一步的,如图6所示,该基于广义圆柱体的三维模型分割装置,还可以包括:
平直度计算单元37,可以通过Douglas-Peucker算法计算广义圆柱体部件的平直度Es(n):
其中,C为常数;n为广义圆柱体部件上的中轴折线上的控制点个数;di第i个控制点对应的逼近误差。
进一步的,如图6所示,该基于广义圆柱体的三维模型分割装置,还可以包括:
中轴折线建模单元38,其可以执行:
步骤1、根据广义圆柱体部件的中轴曲线的两端点ps和pe确定一直线pspe,以该直线pspe作为中轴折线。
步骤2、在所述中轴曲线上确定一距离所述中轴折线的距离最大的目标点,若所述目标点与所述中轴折线的距离大于一第一距离阈值,将所述目标点设置为所述控制点。
步骤3、根据所述控制点重新确定一中轴折线,返回执行步骤2,直至所述中轴曲线上的点与所述中轴折线的距离均小于等于所述第一距离阈值;其中,所述中轴曲线上的点与所述中轴折线的距离为所述逼近误差。
进一步的,如图6所示,该基于广义圆柱体的三维模型分割装置,还包括:
剖面变化度计算单元39,可以通过Douglas-Peucker算法计算广义圆柱体部件的剖面变化度Ev(m):
其中,D(cs,ce)为广义圆柱体部件两端选取的剖面曲线cs与ce的Hausdorff距离;m为一根据广义圆柱体部件的三维近似模型上的剖面曲线的数目;D(fi,fi')为广义圆柱体部件上的剖面曲线fi与一根据广义圆柱体部件的三维近似模型上的剖面曲线fi'的Hausdorff距离。
此外,如图6所示,该基于广义圆柱体的三维模型分割装置,还可以包括:
Hausdorff距离计算单元40,可以计算Hausdorff距离D(cs,ce):
其中,为剖面曲线cs上的各点k到剖面曲线ce上的各点h的各第一最小距离;该表示所述各第一最小距离中的最大值。
该Hausdorff距离计算单元40,还可以计算Hausdorff距离D(fi,fi'):
其中,为剖面曲线fi上的各点k到剖面曲线fi'上的各点h的各第二最小距离;所述表示所述各第二最小距离中的最大值。
进一步的,如图6所示,该基于广义圆柱体的三维模型分割装置,还可以包括:
三维近似模型建模单元41,可以执行:
步骤1、根据广义圆柱体部件两端选取的剖面曲线cs与ce进行线性插值,生成一三维近似模型;所述剖面曲线cs与ce分别构成两个控制剖面曲面。
步骤2、在所述广义圆柱体部件上确定一与所述三维近似模型上的剖面曲线的Hausdorff距离最大的目标剖面曲线。
步骤3、若所述目标剖面曲线与所述三维近似模型上的剖面曲线的Hausdorff距离大于一第二距离阈值,将所述目标剖面曲线所构成的面插入所述控制剖面曲面,重新构成一三维近似模型,返回执行步骤2,直至所述广义圆柱体部件上的剖面曲线与所述三维近似模型上的剖面曲线的Hausdorff距离均小于等于所述第二距离阈值。
值得说明的是,本发明实施例提供的基于广义圆柱体的三维模型分割装置的具体实现方式可以参见上述图1和图2所示的方法实施例,此处不再赘述。
本发明实施例提供的基于广义圆柱体的三维模型分割装置,通过三维模型表面的采样点构建了局部广义圆柱体,之后对局部广义圆柱体进行融合处理,形成由非局部广义圆柱体构成的过完备覆盖集,进而从该过完备覆盖集中获取多个精确覆盖集,并根据广义圆柱度的和中的最小值对应的精确覆盖集确定一三维模型分割方式,从而进行三维模型分割。可见,本发明能够通过上述方式确定一全局最优的三维模型分割方式,将模型分割问题转化为表面精确覆盖问题,能够保证最终的分割收敛于一个数量最少,同时每个部件又足够简单的分割。解决了当前三维模型分割领域中还难以通过基于广义圆柱体对三维模型进行优化分割的问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (16)
1.一种基于广义圆柱体的三维模型分割方法,其特征在于,包括:
获取一三维模型,通过标准泊松圆盘采样法在所述三维模型的表面均匀采样,获取多个采样点;
通过所述多个采样点中的每个采样点构建多个局部广义圆柱体;
将所述多个局部广义圆柱体进行融合处理,形成多个非局部广义圆柱体;所述多个非局部广义圆柱体构成一候选广义圆柱集;所述候选广义圆柱集过完备覆盖所述三维模型的表面,形成过完备覆盖集;
从所述过完备覆盖集中获取多个精确覆盖集;其中,一所述精确覆盖集包括多个互不重叠的广义圆柱体部件,且所述多个互不重叠的广义圆柱体部件的表面构成所述三维模型的表面;
计算每个所述精确覆盖集中的各广义圆柱体部件的广义圆柱度的和;所述广义圆柱度由该广义圆柱体部件的平直度和剖面变化度组成;
将各广义圆柱度的和进行排序,确定各广义圆柱度的和中的最小值;
根据所述各广义圆柱度的和中的最小值对应的精确覆盖集确定一三维模型分割方式;
根据所述三维模型分割方式对所述三维模型进行分割;
所述通过所述多个采样点中的每个采样点构建多个局部广义圆柱体,包括:
根据一采样点,确定通过该采样点的多个初始平面;
根据所述多个初始平面,确定所述采样点的一个或多个切面;
确定所述切面与所述三维模型的表面的交线的中心点,以所述中心点作为所述采样点对应的骨架点,以所述切面的法向量为所述采样点对应的旋转对称轴;
将每两个相邻采样点对应的骨架点沿所述旋转对称轴连接,形成一中轴;
根据所述中轴均匀采样所述三维模型的表面上的剖面曲线,形成一局部广义圆柱体。
2.根据权利要求1所述的基于广义圆柱体的三维模型分割方法,其特征在于,所述将所述多个局部广义圆柱体进行融合处理,形成多个非局部广义圆柱体,包括:
逐渐将相邻接的局部广义圆柱体进行融合,形成多个融合广义圆柱体;
若所述融合广义圆柱体的广义圆柱度小于进行融合前的两个局部广义圆柱体的广义圆柱度的和,则确定所述融合广义圆柱体为非局部广义圆柱体;
将各非局部广义圆柱体的重叠区域分离,形成互不重叠的广义圆柱体部件;
穷举所述互不重叠的广义圆柱体部件所构成的组合,形成更新后的广义圆柱体部件,将所述更新后的广义圆柱体部件作为非局部广义圆柱体。
3.根据权利要求2所述的基于广义圆柱体的三维模型分割方法,其特征在于,所述计算每个所述精确覆盖集中的各广义圆柱体部件的广义圆柱度的和,包括:
计算各广义圆柱体部件的广义圆柱度GCity:
GCity=Es+αEv
其中,Es为所述平直度;Ev为所述剖面变化度;α为一权重参数。
4.根据权利要求3所述的基于广义圆柱体的三维模型分割方法,其特征在于,还包括:
通过Douglas-Peucker算法计算广义圆柱体部件的平直度Es(n):
<mrow>
<msub>
<mi>E</mi>
<mi>s</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>C</mi>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<msub>
<mi>d</mi>
<mi>i</mi>
</msub>
</mrow>
1
其中,C为常数;n为广义圆柱体部件上的中轴折线上的控制点个数;di第i个控制点对应的逼近误差。
5.根据权利要求4所述的基于广义圆柱体的三维模型分割方法,其特征在于,还包括:
步骤1、根据广义圆柱体部件的中轴曲线的两端点ps和pe确定一直线pspe,以该直线pspe作为中轴折线;
步骤2、在所述中轴曲线上确定一距离所述中轴折线的距离最大的目标点,若所述目标点与所述中轴折线的距离大于一第一距离阈值,将所述目标点设置为所述控制点;
步骤3、根据所述控制点重新确定一中轴折线,返回执行步骤2,直至所述中轴曲线上的点与所述中轴折线的距离均小于等于所述第一距离阈值;其中,所述中轴曲线上的点与所述中轴折线的距离为所述逼近误差。
6.根据权利要求3所述的基于广义圆柱体的三维模型分割方法,其特征在于,还包括:
通过Douglas-Peucker算法计算广义圆柱体部件的剖面变化度Ev(m):
<mrow>
<msub>
<mi>E</mi>
<mi>v</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>D</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>e</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>m</mi>
</munderover>
<mi>D</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>f</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msubsup>
<mi>f</mi>
<mi>i</mi>
<mo>&prime;</mo>
</msubsup>
<mo>)</mo>
</mrow>
</mrow>
其中,D(cs,ce)为广义圆柱体部件两端选取的剖面曲线cs与ce的Hausdorff距离;m为一根据广义圆柱体部件的三维近似模型上的剖面曲线的数目;D(fi,fi')为广义圆柱体部件上的剖面曲线fi与一根据广义圆柱体部件的三维近似模型上的剖面曲线fi'的Hausdorff距离。
7.根据权利要求6所述的基于广义圆柱体的三维模型分割方法,其特征在于,还包括:
计算Hausdorff距离D(cs,ce):
<mrow>
<mi>D</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>e</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munder>
<mrow>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
</mrow>
<mi>k</mi>
</munder>
<mrow>
<mo>(</mo>
<munder>
<mi>min</mi>
<mi>h</mi>
</munder>
<mi>d</mi>
<mo>(</mo>
<mrow>
<msubsup>
<mi>c</mi>
<mi>s</mi>
<mi>k</mi>
</msubsup>
<mo>,</mo>
<msubsup>
<mi>c</mi>
<mi>e</mi>
<mi>h</mi>
</msubsup>
</mrow>
<mo>)</mo>
<mo>)</mo>
</mrow>
</mrow>
其中,为剖面曲线cs上的各点k到剖面曲线ce上的各点h的各第一最小距离;所述表示所述各第一最小距离中的最大值;
计算Hausdorff距离D(fi,fi):
<mrow>
<mi>D</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>f</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msubsup>
<mi>f</mi>
<mi>i</mi>
<mo>&prime;</mo>
</msubsup>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munder>
<mrow>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
</mrow>
<mi>k</mi>
</munder>
<mrow>
<mo>(</mo>
<munder>
<mrow>
<mi>m</mi>
<mi>i</mi>
<mi>n</mi>
</mrow>
<mi>h</mi>
</munder>
<mi>d</mi>
<mo>(</mo>
<mrow>
<msubsup>
<mi>f</mi>
<mi>i</mi>
<mi>k</mi>
</msubsup>
<mo>,</mo>
<msubsup>
<mi>f</mi>
<mi>i</mi>
<mrow>
<mo>&prime;</mo>
<mi>h</mi>
</mrow>
</msubsup>
</mrow>
<mo>)</mo>
<mo>)</mo>
</mrow>
</mrow>
其中,为剖面曲线fi上的各点k到剖面曲线fi'上的各点h的各第二最小距离;所述表示所述各第二最小距离中的最大值。
8.根据权利要求7所述的基于广义圆柱体的三维模型分割方法,其特征在于,还包括:
步骤1、根据广义圆柱体部件两端选取的剖面曲线cs与ce进行线性插值,生成一三维近似模型;所述剖面曲线cs与ce分别构成两个控制剖面曲面;
步骤2、在所述广义圆柱体部件上确定一与所述三维近似模型上的剖面曲线的Hausdorff距离最大的目标剖面曲线;
步骤3、若所述目标剖面曲线与所述三维近似模型上的剖面曲线的Hausdorff距离大于一第二距离阈值,将所述目标剖面曲线所构成的面插入所述控制剖面曲面,重新构成一三维近似模型,返回执行步骤2,直至所述广义圆柱体部件上的剖面曲线与所述三维近似模型上的剖面曲线的Hausdorff距离均小于等于所述第二距离阈值。
9.一种基于广义圆柱体的三维模型分割装置,其特征在于,包括:
采样单元,用于获取一三维模型,通过标准泊松圆盘采样法在所述三维模型的表面均匀采样,获取多个采样点;
局部广义圆柱体生成单元,用于通过所述多个采样点中的每个采样点构建多个局部广义圆柱体;
融合单元,用于将所述多个局部广义圆柱体进行融合处理,形成多个非局部广义圆柱体;所述多个非局部广义圆柱体构成一候选广义圆柱集;所述候选广义圆柱集过完备覆盖所述三维模型的表面,形成过完备覆盖集;
精确覆盖集获取单元,用于从所述过完备覆盖集中获取多个精确覆盖集;其中,一所述精确覆盖集包括多个互不重叠的广义圆柱体部件,且所述多个互不重叠的广义圆柱体部件的表面构成所述三维模型的表面;
三维模型分割方式确定单元,用于计算每个所述精确覆盖集中的各广义圆柱体部件的广义圆柱度的和;将各广义圆柱度的和进行排序,确定各广义圆柱度的和中的最小值;根据所述各广义圆柱度的和中的最小值对应的精确覆盖集确定一三维模型分割方式;所述广义圆柱度由该广义圆柱体部件的平直度和剖面变化度组成;
三维模型分割单元,用于根据所述三维模型分割方式对所述三维模型进行分割;
所述局部广义圆柱体生成单元,具体用于:
根据一采样点,确定通过该采样点的多个初始平面;
根据所述多个初始平面,确定所述采样点的一个或多个切面;
确定所述切面与所述三维模型的表面的交线的中心点,以所述中心点作为所述采样点对应的骨架点,以所述切面的法向量为所述采样点对应的旋转对称轴;
将每两个相邻采样点对应的骨架点沿所述旋转对称轴连接,形成一中轴;
根据所述中轴均匀采样所述三维模型的表面上的剖面曲线,形成一局部广义圆柱体。
10.根据权利要求9所述的基于广义圆柱体的三维模型分割装置,其特征在于,所述融合单元,具体用于:
逐渐将相邻接的局部广义圆柱体进行融合,形成多个融合广义圆柱体;
若所述融合广义圆柱体的广义圆柱度小于进行融合前的两个局部广义圆柱体的广义圆柱度的和,则确定所述融合广义圆柱体为非局部广义圆柱体;
将各非局部广义圆柱体的重叠区域分离,形成互不重叠的广义圆柱体部件;
穷举所述互不重叠的广义圆柱体部件所构成的组合,形成更新后的广义圆柱体部件,将所述更新后的广义圆柱体部件作为非局部广义圆柱体。
11.根据权利要求10所述的基于广义圆柱体的三维模型分割装置,其特征在于,所述三维模型分割方式确定单元,具体用于:
计算各广义圆柱体部件的广义圆柱度GCity:
GCity=Es+αEv
其中,Es为所述平直度;Ev为所述剖面变化度;α为一权重参数。
12.根据权利要求11所述的基于广义圆柱体的三维模型分割装置,其特征在于,还包括:
平直度计算单元,用于通过Douglas-Peucker算法计算广义圆柱体部件的平直度Es(n):
<mrow>
<msub>
<mi>E</mi>
<mi>s</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>C</mi>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<msub>
<mi>d</mi>
<mi>i</mi>
</msub>
</mrow>
其中,C为常数;n为广义圆柱体部件上的中轴折线上的控制点个数;di第i个控制点对应的逼近误差。
13.根据权利要求12所述的基于广义圆柱体的三维模型分割装置,其特征在于,还包括:
中轴折线建模单元,用于执行:
步骤1、根据广义圆柱体部件的中轴曲线的两端点ps和pe确定一直线pspe,以该直线pspe作为中轴折线;
步骤2、在所述中轴曲线上确定一距离所述中轴折线的距离最大的目标点,若所述目标点与所述中轴折线的距离大于一第一距离阈值,将所述目标点设置为所述控制点;
步骤3、根据所述控制点重新确定一中轴折线,返回执行步骤2,直至所述中轴曲线上的点与所述中轴折线的距离均小于等于所述第一距离阈值;其中,所述中轴曲线上的点与所述中轴折线的距离为所述逼近误差。
14.根据权利要求11所述的基于广义圆柱体的三维模型分割装置,其特征在于,还包括:
剖面变化度计算单元,用于通过Douglas-Peucker算法计算广义圆柱体部件的剖面变化度Ev(m):
<mrow>
<msub>
<mi>E</mi>
<mi>v</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>D</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>e</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>m</mi>
</munderover>
<mi>D</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>f</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msubsup>
<mi>f</mi>
<mi>i</mi>
<mo>&prime;</mo>
</msubsup>
<mo>)</mo>
</mrow>
</mrow>
其中,D(cs,ce)为广义圆柱体部件两端选取的剖面曲线cs与ce的Hausdorff距离;m为一根据广义圆柱体部件的三维近似模型上的剖面曲线的数目;D(fi,fi')为广义圆柱体部件上的剖面曲线fi与一根据广义圆柱体部件的三维近似模型上的剖面曲线fi'的Hausdorff距离。
15.根据权利要求14所述的基于广义圆柱体的三维模型分割装置,其特征在于,还包括:
Hausdorff距离计算单元,用于计算Hausdorff距离D(cs,ce):
<mrow>
<mi>D</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>c</mi>
<mi>s</mi>
</msub>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>e</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munder>
<mrow>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
</mrow>
<mi>k</mi>
</munder>
<mrow>
<mo>(</mo>
<munder>
<mi>min</mi>
<mi>h</mi>
</munder>
<mi>d</mi>
<mo>(</mo>
<mrow>
<msubsup>
<mi>c</mi>
<mi>s</mi>
<mi>k</mi>
</msubsup>
<mo>,</mo>
<msubsup>
<mi>c</mi>
<mi>e</mi>
<mi>h</mi>
</msubsup>
</mrow>
<mo>)</mo>
<mo>)</mo>
</mrow>
</mrow>
其中,为剖面曲线cs上的各点k到剖面曲线ce上的各点h的各第一最小距离;所述表示所述各第一最小距离中的最大值;
所述Hausdorff距离计算单元,还用于计算Hausdorff距离D(fi,fi'):
<mrow>
<mi>D</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>f</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msubsup>
<mi>f</mi>
<mi>i</mi>
<mo>&prime;</mo>
</msubsup>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munder>
<mrow>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
</mrow>
<mi>k</mi>
</munder>
<mrow>
<mo>(</mo>
<munder>
<mrow>
<mi>m</mi>
<mi>i</mi>
<mi>n</mi>
</mrow>
<mi>h</mi>
</munder>
<mi>d</mi>
<mo>(</mo>
<mrow>
<msubsup>
<mi>f</mi>
<mi>i</mi>
<mi>k</mi>
</msubsup>
<mo>,</mo>
<msubsup>
<mi>f</mi>
<mi>i</mi>
<mrow>
<mo>&prime;</mo>
<mi>h</mi>
</mrow>
</msubsup>
</mrow>
<mo>)</mo>
<mo>)</mo>
</mrow>
</mrow>
其中,为剖面曲线fi上的各点k到剖面曲线fi'上的各点h的各第二最小距离;所述表示所述各第二最小距离中的最大值。
16.根据权利要求15所述的基于广义圆柱体的三维模型分割装置,其特征在于,还包括:
三维近似模型建模单元,用于执行:
步骤1、根据广义圆柱体部件两端选取的剖面曲线cs与ce进行线性插值,生成一三维近似模型;所述剖面曲线cs与ce分别构成两个控制剖面曲面;
步骤2、在所述广义圆柱体部件上确定一与所述三维近似模型上的剖面曲线的Hausdorff距离最大的目标剖面曲线;
步骤3、若所述目标剖面曲线与所述三维近似模型上的剖面曲线的Hausdorff距离大于一第二距离阈值,将所述目标剖面曲线所构成的面插入所述控制剖面曲面,重新构成一三维近似模型,返回执行步骤2,直至所述广义圆柱体部件上的剖面曲线与所述三维近似模型上的剖面曲线的Hausdorff距离均小于等于所述第二距离阈值。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510216755.XA CN104851126B (zh) | 2015-04-30 | 2015-04-30 | 基于广义圆柱体的三维模型分割方法及装置 |
PCT/CN2015/097103 WO2016173260A1 (zh) | 2015-04-30 | 2015-12-11 | 基于广义圆柱体的三维模型分割方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510216755.XA CN104851126B (zh) | 2015-04-30 | 2015-04-30 | 基于广义圆柱体的三维模型分割方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104851126A CN104851126A (zh) | 2015-08-19 |
CN104851126B true CN104851126B (zh) | 2017-10-20 |
Family
ID=53850753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510216755.XA Active CN104851126B (zh) | 2015-04-30 | 2015-04-30 | 基于广义圆柱体的三维模型分割方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104851126B (zh) |
WO (1) | WO2016173260A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104851126B (zh) * | 2015-04-30 | 2017-10-20 | 中国科学院深圳先进技术研究院 | 基于广义圆柱体的三维模型分割方法及装置 |
GB2546814B (en) * | 2016-02-01 | 2018-10-24 | Naturalmotion Ltd | Animating a virtual object in a virtual world |
GB2546815B (en) | 2016-02-01 | 2019-07-03 | Naturalmotion Ltd | Animating a virtual object in a virtual world |
GB2546817B (en) * | 2016-02-01 | 2018-10-24 | Naturalmotion Ltd | Animating a virtual object in a virtual world |
CN106683186A (zh) * | 2016-11-16 | 2017-05-17 | 浙江工业大学 | 一种曲面细节保持的三维模型修复方法 |
WO2019209300A1 (en) | 2018-04-26 | 2019-10-31 | Hewlett-Packard Development Company, L.P | Adaptive point generation |
CN109543535B (zh) * | 2018-10-23 | 2021-12-21 | 华南理工大学 | 三维指静脉特征提取方法及其匹配方法 |
CN112987647B (zh) * | 2021-01-04 | 2022-03-29 | 苏州科技大学 | 参数曲面平底刀五轴加工的等误差刀轨生成方法 |
CN114677481B (zh) * | 2022-05-31 | 2022-09-13 | 中国飞机强度研究所 | 空天飞机地面测试的理想加热曲面等效逼近模型构建方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02309461A (ja) * | 1989-05-24 | 1990-12-25 | Fujitsu Ltd | 一般化シリンダのモデリング処理方法 |
JPH04238583A (ja) * | 1991-01-22 | 1992-08-26 | Nippon Telegr & Teleph Corp <Ntt> | 3次元形状の基準座標系抽出装置 |
CN101488226A (zh) * | 2008-01-16 | 2009-07-22 | 中国科学院自动化研究所 | 基于单次三维激光扫描的树木测量和重建方法 |
CN101866495A (zh) * | 2010-06-01 | 2010-10-20 | 中国科学院自动化研究所 | 基于骨架点云的树木建模方法 |
CN101901498A (zh) * | 2009-12-31 | 2010-12-01 | 华中科技大学 | 一种人体冠状动脉血管的递推建模方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004063988A1 (en) * | 2003-01-15 | 2004-07-29 | Koninklijke Philips Electronics N.V. | Image processing method for automatic adaptation of 3-d deformable model onto a subtantially tubular surface of a 3-d object |
US20070274579A1 (en) * | 2003-11-26 | 2007-11-29 | Viatronix Incorporated | System And Method For Optimization Of Vessel Centerlines |
US8004517B1 (en) * | 2005-06-24 | 2011-08-23 | Geomagic, Inc. | Methods, apparatus and computer program products that model three-dimensional surface structures |
CN100571637C (zh) * | 2008-05-28 | 2009-12-23 | 华中科技大学 | 动态模型指导下的血管造影三维重建方法 |
CN104851126B (zh) * | 2015-04-30 | 2017-10-20 | 中国科学院深圳先进技术研究院 | 基于广义圆柱体的三维模型分割方法及装置 |
-
2015
- 2015-04-30 CN CN201510216755.XA patent/CN104851126B/zh active Active
- 2015-12-11 WO PCT/CN2015/097103 patent/WO2016173260A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02309461A (ja) * | 1989-05-24 | 1990-12-25 | Fujitsu Ltd | 一般化シリンダのモデリング処理方法 |
JPH04238583A (ja) * | 1991-01-22 | 1992-08-26 | Nippon Telegr & Teleph Corp <Ntt> | 3次元形状の基準座標系抽出装置 |
CN101488226A (zh) * | 2008-01-16 | 2009-07-22 | 中国科学院自动化研究所 | 基于单次三维激光扫描的树木测量和重建方法 |
CN101901498A (zh) * | 2009-12-31 | 2010-12-01 | 华中科技大学 | 一种人体冠状动脉血管的递推建模方法 |
CN101866495A (zh) * | 2010-06-01 | 2010-10-20 | 中国科学院自动化研究所 | 基于骨架点云的树木建模方法 |
Non-Patent Citations (3)
Title |
---|
Morfit:Interactive Surface Reconstruction from Incomplete Point Clouds with Curve-Driven Topology and Geometry Control;Kangxue Yin 等;《ACM Transactions on Graphics》;20141130;第33卷(第6期);第1-12页 * |
Robust Segmentation of Tubular Structures in 3-D Medical Images by Parametric Object Detection and Tracking;Thorsten Behrens 等;《IEEE Transactions on Systems,Man, and Cybernetics,Part B(Cybernetics)》;20030831;第33卷(第4期);第554-561页 * |
基于深度图像的人造物体模型生成;林帅;《中国优秀硕士学位论文全文数据库信息科技辑》;20150115;第I138-1107页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2016173260A1 (zh) | 2016-11-03 |
CN104851126A (zh) | 2015-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104851126B (zh) | 基于广义圆柱体的三维模型分割方法及装置 | |
CN101807308B (zh) | 三维模型分割装置和方法 | |
CN111797555B (zh) | 一种基于有限元模型的几何重构方法 | |
Qian et al. | Automatic unstructured all-hexahedral mesh generation from B-Reps for non-manifold CAD assemblies | |
CN101944239A (zh) | 三维模型分割方法、装置以及包含该装置的图像处理系统 | |
CN106780458B (zh) | 一种点云骨架提取方法及装置 | |
JP2005038219A (ja) | 境界表現データからボリュームデータを生成する方法及びそのプログラム | |
CN102054296A (zh) | 一种局部刚性网格变形方法 | |
US20240153123A1 (en) | Isogeometric Analysis Method Based on a Geometric Reconstruction Model | |
CN106683169B (zh) | 一种关节运动感知的稀疏局部分解及重构算法 | |
Cao et al. | Computation of medial axis and offset curves of curved boundaries in planar domain | |
CN110084894A (zh) | 三维模型的局部放大展示方法、装置与电子设备 | |
Zhang et al. | Adaptive generation of hexahedral element mesh using an improved grid-based method | |
CN105302951A (zh) | 一种有限元网格曲面剖分方法 | |
Joy et al. | Efficient milling part geometry computation via three-step update of frame-sliced voxel representation workpiece model | |
Aubry et al. | An entropy satisfying boundary layer surface mesh generation | |
Huang et al. | Automatic CAD model reconstruction from multiple point clouds for reverse engineering | |
CN111047684A (zh) | 一种基于三维模型特征的模型简化方法 | |
Zhang et al. | Model reconstruction from cloud data | |
Li et al. | Reasoning mechanism: An effective data reduction algorithm for on-line point cloud selective sampling of sculptured surfaces | |
Fu et al. | An algorithm for finding intersection between ball B-spline curves | |
Huang et al. | Automatic frame field guided hexahedral mesh generation | |
Xiong et al. | Automated structured all-quadrilateral and hexahedral meshing of tubular surfaces | |
CN114549795A (zh) | 一种鞋楦曲面的参数化重构方法、系统、介质及设备 | |
Chang et al. | Regularizing 3D medial axis using medial scaffold transforms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20150819 Assignee: Dongguan Haishang Chupin Information Technology Co.,Ltd. Assignor: SHENZHEN INSTITUTES OF ADVANCED TECHNOLOGY CHINESE ACADEMY OF SCIENCES Contract record no.: X2023980037837 Denomination of invention: 3D model segmentation method and device based on generalized cylinder Granted publication date: 20171020 License type: Common License Record date: 20230711 |
|
EE01 | Entry into force of recordation of patent licensing contract |