一种三维人造物体模型形变方法

文档序号:6523697阅读:268来源:国知局
一种三维人造物体模型形变方法
【专利摘要】本发明涉及计算机图形领域,提供了一种三维人造物体模型形变方法,包括获取三维人造物体模型部件的基元体;检测所有三维人造物体模型部件的基元体之间的关系;建立人造物体模型部件的基元体的结构关系约束集;编辑三维人造物体模型部件的基元体集合;恢复三维人造物体模型部件结构。本发明实现了同时处理多个部件基元体同时被编辑后的结构恢复。
【专利说明】一种三维人造物体模型形变方法
【技术领域】
[0001]本发明涉及计算机图形领域,特别是涉及一种三维人造物体模型形变方法。
【背景技术】
[0002]三维模型的编辑和形变是基于现有三维模型生成新的变种的常用方法。用户通过鼠标拖拽更改模型上的某个部分,需要计算机自动计算,将这个局部变化传播到模型的其余部分。对于三维人造物体而言,用户往往操作编辑一个部件,我们需要将该编辑从被操作部件传播到其余部件,同时保持人造物体的原有结构,如某些部件之间的平行关系、正交关系、共面关系等。
[0003]为此,有研究者提出了针对三维人造物体模型部件的抽象表示,即将每个部件抽象为一个基元体,根据部件的形状,他们考虑四种基元:长方体、球体、圆柱体和广义圆柱体。然后将人造物体的结构信息表示为基元本身的结构,即基元体的参数,如长方体的三边长,广义圆柱体的中轴参数曲线等,以及基元之间的关系,如基元之间的平行、对称、正交、共面、同心等关系。
[0004]研究者提出的方法采用编辑传播方式实现结构保持的形变。它的缺点是,同时只能处理一个部件基元的编辑,因为传播是从一个基元体到其它基元体的单向传播。这样,该方法无法处理多个部件同时变化时,三维人造物体的结构恢复。
[0005]针对此缺点,本发明采用了一种迭代式约束满足的方法,可以同时处理多个部件基元同时被编辑后的结构恢复。

【发明内容】

[0006]本发明采用一种三维人造物体模型形变方法,实现了同时处理多个部件基元体同时被编辑后的结构恢复。
[0007]本发明采用如下方案:
[0008]一种三维人造物体模型形变方法,包括:
[0009]获取三维人造物体模型部件的基元体;
[0010]检测所有三维人造物体模型部件的基元体之间的关系;
[0011]建立人造物体模型部件的基元体的结构关系约束集;
[0012]编辑三维人造物体模型部件的基元体集合;
[0013]恢复三维人造物体模型部件结构。
[0014]优选地,所述获取三维人造物体模型部件的基元体,包括下述步骤:
[0015]基于Rotating calipers算法计算三维人造物体模型部件最紧致的有向包围盒;
[0016]基于表面网格收缩算法计算三维人造物体模型部件的骨架;
[0017]根据骨架上采样点到表面的距离得到一个半径,所有骨架点都有一个半径,就可以生成一个广义圆柱体,圆柱的中心线就是骨架,半径随着模型粗细变化而变化;
[0018]选取有向包围盒的最小体积和广义圆柱体的最小体积的最大值作为三维人造物体模型部件的基元体。
[0019]优选地,所述检测所有三维人造物体模型部件的基元体之间的关系,包括检测对称、平行、正交、共面,同心五种关系。
[0020]优选地,所述检测所有三维人造物体模型部件的基元体之间的关系的方法为:
[0021]对称关系通过比较两个基元的参数来实现,如果两个基元属于同类且参数相近,则二者对称;对于彼此对称的基元体,检测二者是否平行;对于彼此相邻的两个长方体基元,检测二者是否正交以及是否共面;对于两个圆柱体,检测它们的轴是否共线。
[0022]优选地,所述编辑三维人造物体模型部件的基元体,包括编辑一个基元体和编辑多个基元体。
[0023]优选地,所述恢复三维人造物体模型部件结构,包括:
[0024]S601、根据基元体之间的临近关系,构建一个基元图,其节点是基元体,边代表基元体之间的相邻关系;
[0025]S602、对用户编辑三维人造物体模型部件的基元体集合中的每个基元体,计算以基元体为根节点的基元图的生成树;
[0026]S603、根据根节点到叶节点的宽度优先顺序遍历生成树,逐一处理生成树中的节点,当处理到的节点属于人造物体模型部件的基元体的结构关系约束集,即该节点满足人造物体模型部件的基元体的结构关系;
[0027]S604、对用户编辑三维人造物体模型部件的基元体集合中的所有节点采用S603的步骤进行遍历,即完成一次迭代;
[0028]S605、重复进行迭代步骤,直到所有基元体的变化量小于指定阈值,即恢复三维人造物体模型部件结构。
[0029]本发明公开的一种三维人造物体模型形变方法,通过获取三维人造物体模型部件的基元体;检测所有三维人造物体模型部件的基元体之间的关系;建立人造物体模型部件的基元体的结构关系约束集;编辑三维人造物体模型部件的基元体集合;恢复三维人造物体模型部件结构。实现了同时处理多个部件基元同时被编辑后的结构恢复。
【专利附图】

【附图说明】
[0030]图1为本发明实施例1种结构保持的三维人造物体模型形变方法流程图。
【具体实施方式】
[0031]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0032]本发明实施例提供了种结构保持的三维人造物体模型形变方法,包括:
[0033]获取三维人造物体模型部件的基元体;
[0034]检测所有三维人造物体模型部件的基元体之间的关系;
[0035]建立人造物体模型部件的基元体的结构关系约束集;
[0036]编辑三维人造物体模型部件的基元体集合;
[0037]恢复三维人造物体模型部件结构。[0038]本发明实施例通过获取三维人造物体模型部件的基元体;检测所有三维人造物体模型部件的基元体之间的关系;建立人造物体模型部件的基元体的结构关系约束集;编辑三维人造物体模型部件的基元体集合;恢复三维人造物体模型部件结构。实现了同时处理多个部件基元同时被编辑后的结构恢复。
[0039]下面对本发明进行详细阐述。
[0040]实施例1:
[0041]请参阅图1所示,为本发明一种三维人造物体模型形变方法流程图。
[0042]该方法包括下述步骤:
[0043]步骤S1:获取三维人造物体模型部件的基元体。
[0044]获取三维人造物体模型部件的基元体,包括下述步骤:
[0045]基于Rotating calipers算法计算三维人造物体模型部件最紧致的有向包围盒;
[0046]基于表面网格收缩算法计算三维人造物体模型部件的骨架;
[0047]根据骨架上采样点到表面的距离得到一个半径,所有骨架点都有一个半径,就可以生成一个广义圆柱体,圆柱的中心线就是骨架,半径随着模型粗细变化而变化;
[0048]选取有向包围盒的最小体积和广义圆柱体的最小体积的最大值作为三维人造物体模型部件的基元体。
[0049]步骤S2:检测所有三维人造物体模型部件的基元体之间的关系。
[0050]检测所有三维人造物体模型部件的基元体之间的关系的方法为:
[0051]对称关系通过比较两个基元的参数来实现,如果两个基元属于同类且参数相近,则二者对称;对于彼此对称的基元体,检测二者是否平行;对于彼此相邻的两个长方体基元,检测二者是否正交以及是否共面;对于两个圆柱体,检测它们的轴是否共线。
[0052]步骤S3:建立人造物体模型部件的基元体的结构关系约束集。
[0053]步骤S4:编辑三维人造物体模型部件的基元体集合。
[0054]用户同时编辑多个基元体。
[0055]步骤S5:恢复三维人造物体模型部件结构。
[0056]恢复三维人造物体模型部件结构,包括:
[0057]S601、根据基元体之间的临近关系,构建一个基元图,其节点是基元体,边代表基元体之间的相邻关系;
[0058]S602、对用户编辑三维人造物体模型部件的基元体集合中的每个基元体,计算以基元体为根节点的基元图的生成树;
[0059]S603、根据根节点到叶节点的宽度优先顺序遍历生成树,逐一处理生成树中的节点,当处理到的节点属于人造物体模型部件的基元体的结构关系约束集,即该节点满足人造物体模型部件的基元体的结构关系;
[0060]S604、对用户编辑三维人造物体模型部件的基元体集合中的所有节点采用S603的步骤进行遍历,即完成一次迭代;
[0061]S605、重复进行迭代步骤,直到所有基元体的变化量小于指定阈值,即恢复三维人造物体模型部件结构。
[0062]本发明公开的一种三维人造物体模型形变方法,通过获取三维人造物体模型部件的基元体;检测所有三维人造物体模型部件的基元体之间的关系;建立人造物体模型部件的基元体的结构关系约束集;编辑三维人造物体模型部件的基元体集合;恢复三维人造物体模型部件结构。实现了同时处理多个部件基元同时被编辑后的结构恢复。
[0063]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种三维人造物体模型形变方法,其特征在于,包括:获取三维人造物体模型部件的基元体;检测所有三维人造物体模型部件的基元体之间的关系;建立人造物体模型部件的基元体的结构关系约束集;编辑三维人造物体模型部件的基元体集合;恢复三维人造物体模型部件结构。
2.根据权利要求1所述的方法,其特征在于,所述获取三维人造物体模型部件的基元体,包括下述步骤:基于Rotating calipers算法计算三维人造物体模型部件最紧致的有向包围盒;基于表面网格收缩算法计算三维人造物体模型部件的骨架;根据骨架上采样点到表面的距离得到一个半径,所有骨架点都有一个半径,就可以生成一个广义圆柱体,圆柱的中心线就是骨架,半径随着模型粗细变化而变化;选取有向包围盒的最小体积和广义圆柱体的最小体积的最大值作为三维人造物体模型部件的基元体。
3.根据权利要求1所述的方法,其特征在于,所述检测所有三维人造物体模型部件的基元体之间的关系,包括检测对称、平行、正交、共面,同心五种关系。
4.根据权利要求3所述的方法,其特征在于,所述检测所有三维人造物体模型部件的基元体之间的关系的方法为:对称关系通过比较两个基元的参数来实现,如果两个基元属于同类且参数相近,则二者对称;对于彼此对称的基元体,检测二者是否平行;对于彼此相邻的两个长方体基元,检测二者是否正交以及是否共面;对于两个圆柱体,检测它们的轴是否共线。
5.根据权利要求1所述的方法,其特征在于,所述编辑三维人造物体模型部件的基元体,包括编辑一个基元体和编辑多个基元体。
6.根据权利要求1所述的方法,其特征在于,所述恢复三维人造物体模型部件结构,包括:S601、根据基元体之间的临近关系,构建一个基元图,其节点是基元体,边代表基元体之间的相邻关系;S602、对用户编辑三维人造物体模型部件的基元体集合中的每个基元体,计算以基元体为根节点的基元图的生成树;S603、根据根节点到叶节点的宽度优先顺序遍历生成树,逐一处理生成树中的节点,当处理到的节点属于人造物体模型部件的基元体的结构关系约束集,即该节点满足人造物体模型部件的基元体的结构关系;S604、对用户编辑三维人造物体模型部件的基元体集合中的所有节点采用S603的步骤进行遍历,即完成一次迭代;S605、重复进行迭代步骤,直到所有基元体的变化量小于指定阈值,即恢复三维人造物体模型部件结构。
【文档编号】G06T17/00GK103729876SQ201310684838
【公开日】2014年4月16日 申请日期:2013年12月12日 优先权日:2013年12月12日
【发明者】徐凯, 黄惠, 陈宝权 申请人:深圳先进技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1