一种保持结构的三维模型智能编辑方法与流程

文档序号:17745308发布日期:2019-05-24 20:36阅读:344来源:国知局
一种保持结构的三维模型智能编辑方法与流程

本发明属于三维模型智能编辑技术领域,特别是涉及一种保持结构的三维模型智能编辑方法。



背景技术:

三维模型编辑基于现有模型,可以产生新的模型,对于模型重用非常有用。近些年来的网格编辑技术,尤其是对于人工合成的模型,相较于保持局部,低层次的几何特征,更加侧重于保持结构,高层次的特征。然而,大部分公开的模型基本都是仅以多边形表面的方式来表示,缺乏语义结构信息。因此,在对模型进行编辑之前,通常需要首先对模型进行分析,即先分析-后编辑的方法。一般来说,由模型分析可以得到一些几何约束。在对网格进行编辑时,必须在满足用户指定的建模约束的同时,也满足由分析得到的这些几何约束。

实现上述的先分析-后编辑的方法,有两方面的难度。第一,怎样来分析给定的模型;第二,以什么样的方式来表示由分析得到的约束条件,从而进行有约束条件的优化。gal等人使用一维的控制器-他们称之为“线”-来表示约束。这些控制器,即模型上尖锐的特征,通常是一些闭合的共面的三维曲线。之所以将线作为控制器,是基于大部分人工合成的模型可以被有限的一维曲线来表示的假设。然而,即使这个假设是合理的,仍然有很多人工合成的模型或零部件是光滑的,缺乏尖锐的特征。从另一方面看,一些模型也许有很多尖锐的特征,这导致有许多冗余的控制器。这些事实表明,采用与尖锐的特征无关的,分层次的控制器来表示约束是更加合理的。

本发明针对人工合成的模型,提出一种直观的模型编辑技术。该技术采用先分析-后编辑的方式,由对模型进行分层次的分析,引入一种基于体积的控制器。该技术基于两个核心思想。第一,控制器是基于零部件的,控制器的形状与零部件的几何自适应,这使得保持零部件的几何和结构得到保证。第二,用户可以更加容易地控制任意某个控制器的性质,控制器间的关系或者控制器的层次化的组织。

该技术中的控制器只是简单的几何形状(例如,圆柱或长方体)。一个控制器形成对零部件几何的体积包围盒,并且也反映了零部件几何的自由度。虽然这些控制器有很小的自由度,但是足以产生多样化的编辑效果。



技术实现要素:

本发明的目的在于提供一种保持结构的三维模型智能编辑方法,通过采用球体、圆柱、长方体作为控制器对三维模型进行聚类分析获取与零部件自身逼近的控制器且不同控制器间建立了相应的关系;同时对聚类分析获取的控制器分别进行位置调整、形状缩放、举证变换;实现了语义结构信息编辑;解决了现有三维模型编辑缺乏语义结构信息、缺少尖锐的特征、编辑效果差的问题。

为解决上述技术问题,本发明是通过以下技术方案实现的:

本发明为一种保持结构的三维模型智能编辑方法,包括模型分析、模型编辑;

其中,所述模型分析包括如下步骤:

a000:用m=[v,e,t]表示流形三角形网格同时建立m的对偶图d=(c,a);

a001:初始化c中的每个所述节点为一类;

a002:遍历a中的每条对偶边,确认对偶边连接的两个节点的合并图形,计算所述合并图形的罚函数值并存储到优先队列中;

a003:判断优先队列中队尾罚函数值是否大于阈值;若是,则执行a006;若否,则执行a004;

a004:所述优先队列中队尾罚函数值出队列,合并与队尾罚函数值对应对偶边连接的两个节点为一个节点;

a005:更新所述对偶图d并执行a002;

a006:根据对称监测算法检测控制器间的全局对称关系,将有共同对称关系的控制器存放在对称集合g中;

a007:将控制器集合中长方体及圆柱各面的共面、平行、共中心、正交关系存储到位置关系集合h中;

其中,所述模型编辑包括如下步骤:

b000:对模型任意一零部件对应控制器s编辑,通过调整控制器的位置、形状编辑控制器的形状;

b001:初始化所有控制器的状态state设为free,建立优化控制器集合s并初始化为空,将s放入到s中;

b002:遍历对称集合g中与获取s存在对称关系的集合gs,遍历gs中的每一个控制器g,若g的状态state为free,则将g放入到s中并对个进行与s相同的矩阵变换;

b003:获取与s相邻的控制器集合ns,遍历ns中的每一个控制器n,若控制器n的状态state为free,将控制器n存放在集合gs中,调整控制器n各面的位置和方向,以满足控制器n与控制器s间存在的平行、共面、共中心、正交约束;

b004:调整控制器n各面的位置和方向保持形状不便;

b005:将s的状态state设置为fixed,并将s从s中删除;

b006:判断s是否为空;若是,执行b007;若否,在s中选取任意一控制器并赋值于s后执行b002;

b007:采用格林算法greencoordinates对更新的控制器对应的零部件网格形变。

优选地,所述v是顶点集合、e是边集合、t是三角形集合、c是节点集合、a为对偶边集合;所述a中的对偶边连接c中的两个节点;所述c中的每个节点对应t中的一个三角形。

优选地,所述罚函数定义:f=efit+elen;efit是合并图形与控制器的拟合误差,elen是合并图形边界的长度;所述控制器的确定过程如下:

分别计算所述合并图形与控制器集合中的每一个控制器的拟合误差;获取最小拟合误差,则所述最小拟合误差对应的控制器为合并图形的控制器且最小拟合误差为合并图形与控制器的拟合误差。

优选地,所述优先队列中从队头到队尾罚函数值递减,所述控制器集合包括球体、长方体、圆柱体。

优选地,所述球体支持均匀缩放,所述长方体和圆柱支持均匀缩外、方向缩放。

本发明具有以下有益效果:

本发明通过采用球体、圆柱、长方体作为控制器对三维模型进行聚类分析获取与零部件自身逼近的控制器且不同控制器间建立了相应的关系;同时对聚类分析获取的控制器分别进行位置调整、形状缩放、举证变换;实现了语义结构信息编辑,增加了必要的语义结构信息和必要的尖锐图形特征,提高了编辑效果。

当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明中模型分析的流程图;

图2为本发明中模型编辑的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1-2所示,本发明为一种保持结构的三维模型智能编辑方法,包括模型分析、模型编辑;

其中,模型分析包括如下步骤:

a000:用m=[v,e,t]表示流形三角形网格同时建立m的对偶图d=(c,a);

a001:初始化c中的每个节点为一类;

a002:遍历a中的每条对偶边,确认对偶边连接的两个节点的合并图形,计算合并图形的罚函数值并存储到优先队列中;

a003:判断优先队列中队尾罚函数值是否大于阈值;若是,则执行a006;若否,则执行a004;

a004:优先队列中队尾罚函数值出队列,合并与队尾罚函数值对应对偶边连接的两个节点为一个节点;

a005:更新对偶图d并执行a002;

a006:根据对称监测算法检测控制器间的全局对称关系,将有共同对称关系的控制器存放在对称集合g中;

a007:将控制器集合中长方体及圆柱各面的共面、平行、共中心、正交关系存储到位置关系集合h中;

其中,模型编辑包括如下步骤:

b000:对模型任意一零部件对应控制器s编辑,通过调整控制器的位置、形状编辑控制器的形状;

b001:初始化所有控制器的状态state设为free,建立优化控制器集合s并初始化为空,将s放入到s中;

b002:遍历对称集合g中与获取s存在对称关系的集合gs,遍历gs中的每一个控制器g,若g的状态state为free,则将g放入到s中并对个进行与s相同的矩阵变换;

b003:获取与s相邻的控制器集合ns,遍历ns中的每一个控制器n,若控制器n的状态state为free,将控制器n存放在集合gs中,调整控制器n各面的位置和方向,以满足控制器n与控制器s间存在的平行、共面、共中心、正交约束;

b004:调整控制器n各面的位置和方向保持形状不便;

b005:将s的状态state设置为fixed,并将s从s中删除;

b006:判断s是否为空;若是,执行b007;若否,在s中选取任意一控制器并赋值于s后执行b002;

b007:采用格林算法greencoordinates对更新的控制器对应的零部件网格形变。

其中,v是顶点集合、e是边集合、t是三角形集合、c是节点集合、a为对偶边集合;a中的对偶边连接c中的两个节点;c中的每个节点对应t中的一个三角形。

其中,罚函数定义:f=efit+elen;efit是合并图形与控制器的拟合误差,elen是合并图形边界的长度;控制器的确定过程如下:

分别计算合并图形与控制器集合中的每一个控制器的拟合误差;获取最小拟合误差,则最小拟合误差对应的控制器为合并图形的控制器且最小拟合误差为合并图形与控制器的拟合误差。

其中,优先队列中从队头到队尾罚函数值递减,控制器集合包括球体、长方体、圆柱体。

其中,球体支持均匀缩放,长方体和圆柱支持均匀缩外、方向缩放。

值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1