一种基于双队列蔓延的多分辨中轴生成方法技术

技术编号:12889773 阅读:90 留言:0更新日期:2016-02-17 23:38
本发明专利技术公开了一种基于双队列蔓延的多分辨中轴生成方法,其实施步骤如下:1)将三维模型进行体素化;2)初始化当前队列和预备队列;3)遍历当前队列的体素,取出当前体素的最近边界体素和周围内部体素,依次更新各周围内部体素到所述最近边界体素的距离,4)遍历完毕如果预备队列非空则将预备队列与当前队列互换,并将当前距离设置为原当前距离与体素边长之和,然后重复步骤2)直至预备队列为空;5)计算中轴质量,如果中轴质量不满足要求,提高模型层次,并转至步骤1)精化中轴。6)本发明专利技术具有生成速度快、计算效率高、占用资源低的优点。

【技术实现步骤摘要】

本专利技术涉及三维建模领域,具体涉及一种三维模型的多分辨中轴生成方法。
技术介绍
二维模型的中轴是指其内切圆圆心集合,三维模型的中轴则是指其内切球球心的 集合。在许多工程领域,中轴的优秀属性使其有着重要的意义,例如有限元分析、形状分析、 机器人路径计划、实体建模以及网格生成。目前已经有许多中轴生成算法,总体上传统中轴生成方法可分成三类:打薄法、跟 踪法和韦诺图法。打薄法是将模型变成一个能够容易计算的近似模型,然后将模型不断地 向里"变瘦"直至来自不同方向的变瘦过程"碰上"而计算其中轴,计算的精确度由模型的近 似精确度控制;跟踪法是一种递归的方法,它基于局部连续性,通过跟踪特殊中轴点来生成 中轴;韦诺图法基于韦诺图和德劳内三角形之间的对应关系,近似通过韦诺图中计算而得。 但是,上述中轴生成方法的速度都很慢,都不适用于带有各种表面的复杂模型,对于带有各 种表面的复杂模型而言,至今还没有一个令人满意的方法能高效快速地生成出其中轴。
技术实现思路
本专利技术要解决的技术问题是提供一种生成速度快、计算效率高、计算成本低的基 于双队列蔓延的多分辨中轴生成方法。 为了解决上述技术问题,本专利技术采用的技术方案为:一种基于双队列蔓延的多 分辨中轴生成方法,其特征在于其实施步骤如下: 1) 设定模型级别为〇; 2) 将三维模型进行体素化为内部体素、边界体素和外部体素; 3) 对于各个块,初始化当前队列和预备队列,将边界体素放入当前队列,初始化三维模 型中各边界体素的到最近边界体素的距离为零、各内部体素的到最近边界体素的距离为无 穷大; 4 )遍历当前队列的体素,取出当前体素的最近边界体素和与当前体素面连接、边连接、 点连接的周围内部体素,依次更新各周围内部体素到所述最近边界体素的距离,如果该更 新距离大于或者等于当前距离与体素边长之和且小于当前距离与两倍体素边长之和,则将 当前体素移入预备队列,然后判断当前体素的各周围内部体素是否为中轴体素:如果当前 周围内部体素的两个最近边界体素属于不同的两个表面且这两个表面不是以凹边连接,或 者当前周围内部体素的最近边界体素与至少一个面连接的周围内部体素的最近边界体素 不属于同一个面且这两个面不是以凹边相连,或者当前周围内部体素的最近边界体素与至 少一个面连接的周围内部体素的最近边界体素属于两个不同的凹边,或者当前周围内部体 素的两个最近边界体素属于同一个面且该当前周围内部体素的法线穿过其两个最近边界 体素,或者当前周围内部体素的两个最近边界体素属于同一个凹边且该体素与这两个最近 边界体素的连线与这个凹边相切,则该当前体素为中轴体素; 5) 在当前队列遍历完毕后,如果预备队列非空,则将预备队列与当前队列互换,并将当 前距离设置为原当前距离与体素边长之和,然后重复执行步骤4)直至预备队列为空; 6) 计算中轴,同时计算中轴质量,如果中轴质量不符合要求,提高模型层次并转至步骤 2),否则合并原有中轴和新生成中轴,得到结果中轴; 所述步骤4)中更新各个周围内部体素到最近边界体素的距离时,如果周围内部体素到 针对当前体素的最近边界体素的新距离小于原距离时,则将该周围内部体素到最近边界体 素的距离更新,否则保持该周围内部体素到最近边界体素的距离不变; 所述步骤6)中,中轴质量是指完全体素化的边界面与所有边界面的比例值,这里完全 体素化的边界面是指含有至少一个不与其他边界面共享的中轴体素的边界面。模型级别的 提高使得体素尺寸为先前级别二分之一的体素被引入; 所述步骤1)中体素化的详细步骤包括:获取三维模型的包围盒,将该包围盒分割成若 干未判定的正方体体素,将正方体体素全部初始化为外部体素;用射线法在外部体素中获 取属于三维模型各个面的边界体素;遍历外部体素,获取下体素、左体素、后体素都为边界 体素的外部体素作为第一个内部体素;根据第一个内部体素通过广度优先搜索的方法寻找 其他内部体素。 本专利技术具有下述优点: 1、本专利技术通过体素化是指将一个三维实体模型转化成若干正方体体素集合的近似表 示,并利用当前队列和预备队列两个队列,将这些体素到边界的距离进行蔓延更新。而通过 这些距离信息,可以判断哪些被蔓延的体素是中轴体素,从而生成出中轴体素集合,具有生 成速度快、计算效率高、计算成本低的优点。 2、本专利技术进一步对于结果中轴,可以通过提高模型级别的方式提高中轴质量。由 于在模型级别提高的时候仅对模型的部分进行细化,使得算法的时间和空间复杂度都大大 降低,提高了中轴计算的效率。【附图说明】 图1为本专利技术实施例的实施流程示意图。 图2为本专利技术实施例中三维模型体素化的结构示意图。 图3为本专利技术实施例中与当前体素面连接、边连接、点连接的周围内部体素示意 图。 图4为本专利技术中不同级别的体素的示意图。 图5为本专利技术中不同级别的体素化过程的示意图。 图6为本专利技术实施例中两最近体素位于同一表面上时的中轴体素确定示意图。 图7为本专利技术实施例中两最近体素位于同一凹边上时的中轴体素确定示意图。【具体实施方式】 如图1所示,本专利技术实施例的基于双队列蔓延的多体素中轴生成方法实施步骤如 下: 1) 设定模型级别为〇 2) 将三维模型进行体素化为内部体素、边界体素和外部体素; 3)对于各个块,初始化当前队列和预备队列,将边界体素放入当前队列,初始化三维模 型中各边界体素的到最近边界体素的距离为零、各内部体素的到最近边界体素的距离为无 穷大; 4 )遍历当前队列的体素,取出当前体素的最近边界体素和与当前体素面连接、边连接、 点连接的周围内部体素,依次更新各周围内部体素到所述最近边界体素的距离,如果该更 新距离大于或者等于当前距离与体素边长之和且小于当前距离与两倍体素边长之和,则将 当前体素移入预备队列,然后判断当前体素的各周围内部体素是否为中轴体素:如果当前 周围内部体素的两个最近边界体素属于不同的两个表面且这两个表面不是以凹边连接,或 者当前周围内部体素的最近边界体素与至少一个面连接的周围内部体素的最近边界体素 不属于同一个面且这两个面不是以凹边相连,或者当前周围内部体素的最近边界体素与至 少一个面连接的周围内部体素的最近边界体素属于两个不同的凹边,或者当前周围内部体 素的两个最近边界体素属于同一个面且该当前周围内部体素的法线穿过其两个最近边界 体素,或者当前周围内部体素的两个最近边界体素属于同一个凹边且该体素与这两个最近 边界体素的连线与这个凹边相切,则该当前体素为中轴体素; 5) 在当前队列遍历完毕后,如果预备队列非空,则将预备队列与当前队列互换,并将当 前距离设置为原当前距离与体素边长之和,然后重复执行步骤4)直至预备队列为空; 6) 计算中轴,同时计算中轴质量,如果中轴质量不符合要求,提高模型层次并转至步骤 2),否当前第1页1 2 本文档来自技高网...

【技术保护点】
一种基于双队列蔓延的多分辨中轴生成方法,其特征在于其实施步骤如下:1)设定模型级别为0;2)将三维模型进行体素化为内部体素、边界体素和外部体素;3)对于各个块,初始化当前队列和预备队列,将边界体素放入当前队列,初始化三维模型中各边界体素的到最近边界体素的距离为零、各内部体素的到最近边界体素的距离为无穷大;4)遍历当前队列的体素,取出当前体素的最近边界体素和与当前体素面连接、边连接、点连接的周围内部体素,依次更新各周围内部体素到所述最近边界体素的距离,如果该更新距离大于或者等于当前距离与体素边长之和且小于当前距离与两倍体素边长之和,则将当前体素移入预备队列,然后判断当前体素的各周围内部体素是否为中轴体素:如果当前周围内部体素的两个最近边界体素属于不同的两个表面且这两个表面不是以凹边连接,或者当前周围内部体素的最近边界体素与至少一个面连接的周围内部体素的最近边界体素不属于同一个面且这两个面不是以凹边相连,或者当前周围内部体素的最近边界体素与至少一个面连接的周围内部体素的最近边界体素属于两个不同的凹边,或者当前周围内部体素的两个最近边界体素属于同一个面且该当前周围内部体素的法线穿过其两个最近边界体素,或者当前周围内部体素的两个最近边界体素属于同一个凹边且该体素与这两个最近边界体素的连线与这个凹边相切,则该当前体素为中轴体素;5)在当前队列遍历完毕后,如果预备队列非空,则将预备队列与当前队列互换,并将当前距离设置为原当前距离与体素边长之和,然后重复执行步骤4)直至预备队列为空;6)计算中轴,同时计算中轴质量,如果中轴质量不符合要求,提高模型层次并转至步骤2),否则合并原有中轴和新生成中轴,得到结果中轴;所述步骤4)中更新各个周围内部体素到最近边界体素的距离时,如果周围内部体素到针对当前体素的最近边界体素的新距离小于原距离时,则将该周围内部体素到最近边界体素的距离更新,否则保持该周围内部体素到最近边界体素的距离不变;所述步骤6)中,中轴质量是指完全体素化的边界面与所有边界面的比例值,这里完全体素化的边界面是指含有至少一个不与其他边界面共享的中轴体素的边界面;模型级别的提高使得体素尺寸为先前级别二分之一的体素被引入;所述步骤1)中体素化的详细步骤包括:获取三维模型的包围盒,将该包围盒分割成若干未判定的正方体体素,将正方体体素全部初始化为外部体素;用射线法在外部体素中获取属于三维模型各个面的边界体素;遍历外部体素,获取下体素、左体素、后体素都为边界体素的外部体素作为第一个内部体素;根据第一个内部体素通过广度优先搜索的方法寻找其他内部体素。...

【技术特征摘要】

【专利技术属性】
技术研发人员:张奇刘玉生胡笑奇林云峰
申请(专利权)人:浙江文瑞科技发展有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1