三角网格曲面模型的空间查询方法技术

技术编号:2952023 阅读:169 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种三角网格曲面模型的空间查询方法,首先将表达产品型面信息的三角面片数据与索引结构中的结点均表达成相应的四维点对象,通过选择插入位置、采用四维聚类分簇方法实现结点分裂、索引结构中结点轴向包围盒及对应四维点对象调整等步骤对四维点对象进行空间聚类划分,实现三角网格曲面中三角面片的空间聚类划分,建立三角网格曲面模型索引结构,基于该结构可提高离散三角网格曲面模型各种空间查询操作效率,有效提高产品逆向工程数据处理速度,并保证处理结果的稳定性与准确性。

【技术实现步骤摘要】

本专利技术提供一种,属于产品逆向工程

技术介绍
在产品逆向工程中,三角网格曲面可快速灵活地重建复杂型面产品模型,为精确表达产 品信息,三角网格曲面模型数据表现为数据量大、空间复杂度高且数据之间缺乏拓扑关系等 特点,为三角网格曲面模型建立稳定、高效的索引结构对于提高三角网格曲面模型的精简与 加密、三角网格曲面模型交线求解以及基于三角网格曲面模型的数控加工刀轨生成等的效率 具有重要意义。对现有的技术文献检索发现,王磊等在学术期刊《计算机应用研究》2004, 9, P95-97 上发表的论文"细分曲面的有序邻接顶点表数据结构",根据三角网格曲面模型中离散三角面 片的顶点信息和边信息,为每个三角面片建立邻接关系表,将三角面片邻接关系表中存放与 该三角面片拓扑相邻的三角面片信息,仅适于快速三角网格曲面模型局部邻域数据,不能满 足逆向工程中其他空间査询的高效率需求。周海在其博士学位论文"细分曲面造型技术研究"中采用空间八叉树作为三角网格曲面 模型索引结构,根据三角面片包围盒中心在空间八叉树中的位置将三角面片作为八叉树的结 点插入,建立三角网格曲面模型索引结构,该索引方法仅适合于建立在空间范围内均匀分布 的三角网格曲面模型索引结构,此外,以三角面片包围盒中心代替三角面片建立索引结构, 丢失了三角面片信息,基于该索引结构进行空间査询,其査询结果不准确,常漏査三角面片。王占礼在其博士学位论文"面向虚拟制造的数控加工仿真技术研究"中采用一个大包围盒包围三角网格曲面模型,将该包围盒作为根索引结点,然后将其中的三角面片分割成两个 部分,每一部分用一个包围盒包围,再对每一个包围盒递推分割进行,直到一个包围盒只包 含一个三角面片,建立三角网格曲面模型的非平衡二叉树索引结构,基于该结构提高了三角 网格曲面模型各种査询操作的效率,由于该结构为非平衡二叉树,仅适合于三角面片数据均 匀分布的三角网格曲面模型,当三角网格曲面模型数据分布疏密不均时,容易出现树的某一 分支层数过多现象,导致数据结构急剧恶化,严重影响空间查询效率。综上所述,为三角网格曲面模型数据建立有效的索引结构已成为本领域技术人员亟待解决的技术问题。
技术实现思路
本专利技术的目的在于提供一种,以縮短基于三角网格曲 面模型的各种空间查询操作时间,提高逆向工程数据处理效率。其技术方案如下采用以下步骤 一、从三角网格曲面模型数据文件读取三角网格曲面模型数据并建立数 据结点,为每个三角面片建立轴向包围盒,根据轴向包围盒中心及轴向包围盒外接球半径将 数据结点处理成四维点对象,建立数据结点链表;二、基于三角面片的轴向包围盒及对应的 四维点对象,建立三角网格曲面模型索引结构,其步骤为为结点选择插入位置、采用四维 聚类分簇方法实现结点分裂、索引结构中结点轴向包围盒及对应四维点对象调整;三、基于 三角网格曲面模型索引结构,采用剪枝策略实现三角面片拓扑近邻三角面片查询和两三角网 格曲面模型的相交区域查询。为实现专利技术目的,所述的三角网格曲面模型的空间査询方法,在步骤一中,根据三角面 片的三个顶点的坐标为每个三角面片建立沿坐标轴方向且恰好包围三角面片的轴向包围盒, 根据轴向包围盒中心坐标Oc,乂 z)和轴向包围盒的外接球半径r建立四维点对象P z, r), 并建立数据结点链表,数据结点包含三角面片信息、轴向包围盒以及对应的四维点对象信息。为实现专利技术目的,所述的三角网格曲面模型的空间査询方法,在步骤二中,结点包括数 据结点和索引结点,索引结点包含根索引结点、内部索引结点和叶索引结点,索引结构的最 上层结点为根索引结点、最下层结点为叶索引结点,其他索引结点为内部索引结点,定义索 引结点的子结点上限值为大于2的整数M、下限值为小于或等于M/2的整数m,每个索引结 点的子结点数小于等于M且除根索引结点外所有索引结点的子结点数大于等于m,所有叶索 引结点均在同一层;索引结构中每个索引结点的轴向包围盒恰好包围该索引结点的所有子结 点的轴向包围盒,每个索引结点都对应一个四维点对象,四维点对象坐标为(x,乂z,r),其 中为索引结点轴向包围盒中心坐标,r为索引结点轴向包围盒外接球半径。为实现专利技术目的,所述的,步骤二中为结点选择插入 位置的步骤具体是1)指定要插入的新结点和插入层号,2)设当前结点为current—node,如 果索引结构为空则返回空,否则令current一iiode为索引结构根结点、当前层号为1; 3)令 current—node的每个子结点包含欲插入到索引结构的新结点,计算包含新结点后结点的轴向包 围盒外接球半径,与原结点外接球半径相比较,以外接球半径增量最小的结点作为 current node; 4)如果存在大于或等于2个结点在包含新结点后符合外接球增量最小,则选择外接球重叠度增量最小的结点作为currenLnode; 5)如果存在大于或等于2个符合条件的 结点,则选择包含新结点后外接球半径最小的结点作为currenLnode,令当前层号加l; 6) 重复步骤3)直到当前层号等于新结点欲插入的层号。为实现专利技术目的,所述的三角网格曲面模型的空间査询方法,在步骤二中,设新结点N 的插入位置为node,将结点N作为结点node的子结点插入到索引结构中,如果结点node的 子结点数"大于子结点上限M,则采用四维聚类分簇方法对结点node进行结点分裂,分裂步 骤具体是1)选择中心间距离最远的一对结点的中心作为初始分簇中心;2)将所有结点按 照中心到两簇中心的距离,将结点插入到中心距其中心较近的簇中;3)计算分簇后两簇的新 分簇中心;4)比较每簇结点的新分簇中心与原分簇中心是否相同,若均相同则结束分簇,执 行步骤6),否则执行步骤5); 5)若分簇次数大于或等于2w则结束分簇,执行步骤6),若分簇次数小于2w则返回步骤2)继续分簇;6)若某簇中结点个数",小于索引结点的子结点 数下限值m,则将另一簇中距离G最近的m- 个结点插入到簇G中;7)更新各分簇中心,结束分簇;8)将其中一簇作为结点node的子结点调整结点node的轴向包围盒及对应的四维 点坐标值,新建结点new_node,将另一簇结点作为new_node的子结点,计算new一node的轴 向包围盒及对应的四维点坐标值,将new_node作为node的父结点的子结点插入到索引结构 中。为实现专利技术目的,所述的三角网格曲面模型的空间査询方法,在步骤二中,索引结构结点轴向包围盒及对应四维点对象调整步骤具体是1)设轴向包围盒发生变化的索引结点为src_node; 2)调整索引结点src_node的轴向包围盒,使得src一node的轴向包围盒恰好包含 src—node的所有子结点的轴向包围盒,并调整索引结点src;ode对应的四维点坐标值;3)若 src,jiode为根索引结点,程序返回,否则执行步骤4); 4)令src—node为src—node的父结点, 调整索引结点src_node轴向包围盒,使得src—node的轴向包围盒恰好包含src—node的所有子 结点的轴向包围盒,并调整索引结点src—node对应的四维点坐标值,返回步骤3)。为实现专利技术目的,所述的,在步骤三中,采用剪枝策 略查询三角面片拓扑近邻三角面片的步骤具体是1本文档来自技高网
...

【技术保护点】
一种三角网格曲面模型的空间查询方法,其特征在于包含以下步骤:一、从三角网格曲面模型数据文件读取三角网格曲面模型数据并建立数据结点,为每个三角面片建立轴向包围盒,根据轴向包围盒中心及轴向包围盒外接球半径将数据结点处理成四维点对象,建立数据结点链表;二、基于三角面片的轴向包围盒及对应的四维点对象,建立三角网格曲面模型索引结构,其步骤为:为结点选择插入位置、采用四维聚类分簇方法实现结点分裂、索引结构中结点轴向包围盒及对应四维点对象调整;三、基于三角网格曲面模型索引结构,采用剪枝策略实现三角面片拓扑近邻三角面片查询和两三角网格曲面模型的相交区域查询。

【技术特征摘要】

【专利技术属性】
技术研发人员:孙殿柱田中朝李心成李延瑞
申请(专利权)人:山东理工大学
类型:发明
国别省市:37[中国|山东]

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

1