(机械电子工程专业论文)螺旋锥齿轮数值齿面的曲面重构.pdf_第1页
(机械电子工程专业论文)螺旋锥齿轮数值齿面的曲面重构.pdf_第2页
(机械电子工程专业论文)螺旋锥齿轮数值齿面的曲面重构.pdf_第3页
(机械电子工程专业论文)螺旋锥齿轮数值齿面的曲面重构.pdf_第4页
(机械电子工程专业论文)螺旋锥齿轮数值齿面的曲面重构.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

两北t 业大学硕士学位论文 摘要 螺旋锥齿轮齿面形状复杂,一般采用数值仿真的方法进行设计,为了使得到 的数值齿面能被通用c a d c a e 软件采用,需要把离散点连续化,重构出轮齿表面。 本论文就主要围绕这一问题展开研究。 首先研究了轮齿网格数据的特点,设计初次划分,二次划分以及延迟划分等 算法,解决了网格数据分割中的各种问题。将网格数据转化为按面区分的,按行 列排布的数据点阵。 然后运用非均匀b 样条曲面反算构造插值曲面,研究了双三次非均匀b 样 条曲面反算过程中的g o ,g i 连续条件,并根据该条件针对不同的表面给出了相应 的连续策略,实现了各曲面间的g o 或g 1 连续。 最后参照i g e s 文件标准,设计了一个i g e s 文件前处理器,将计算结果转 化为可供c a d c a e 软件应用的中间文件。 本论文中的全部程序是使用c + + 程序设计语言设计的,综合采用了面向对象 技术与泛型技术,构建起适合于本论文程序的数据结构和程序框架,展现了使用 c + + 语言进行计算程序所带来的效率提升。 本论文的程序已经集成进弧齿锥齿轮传动设计制造与分析系统,经过初步使 用取得了较好的效果。 关键词:螺旋锥齿轮;曲面重构;b 样条;i g e s 西北工业大学硕j 一学位论义 a b s t r a e t t h i sd i s s e r t a t i o nm a i n l yd e a l sw i t ht h es u r f a c er e c o n s t r u c t i o no nt h eb a s i so ft h e n u m e r i ct o o t hs u r f a c eo f t h e s p i r a lb e v e lg e a r t h ef i r s ts t e po fs u r f a c er e c o n s t r u c t i o ni sd e s i g n i n gt h ea l g o r i t h mt op a r t i t i o nt h e g r i d s a n d t r a n s f o r m i n gt h eo r i g i nd a t at ot h em a t r i xs t y l ef a c eb y f a c e t h e nt h i sd i s s e r t a t i o ni m p l e m e n t sm o s to fa l g o r i t h mo fn o n - u n i f o r mb s p l i n e s u r f a c es u c ha sp o s i t i v ec a l c u l a t i o n ,r e v e r s ec a l c u l a t i o n ,k n o ti n t e r p o s e re t c b a s e do n t h e g 0 ,g c o n t i n u o u sc o n d i t i o n s o fu n i f o r mb i c u b i cb s p l i n es u r f a c e ,t h e p a p e r d e d u c e st h eg o g c o n t i n u o u sc o n d i t i o n si nt h es u r f a c er e v e r s ec a l c u l a t i o nt h e n i m p l e m e n t s i tf o re a c hf a c e t h el a s ts t e pi st h ed a t ae x p o r t i n g t h i sd i s s e r t a t i o ni n t r o d u c e st h ei g e ss t a n d a r d b r i e f l ya n dg i v e s o u ta s i m p l i f i e di g e sp r e - p r o c e s sp r o c e d u r et r a n s f o r m i n gt h er e s u l t s t oe x c h a n g ef i l e t h ew h o l ep r o c e d u r ei nt h ed i s s e r t a t i o ni sc o d e db yc + + d u r i n gt h ep r o g r a m d e s i g n i n g ,t h eo b j e c t - o r i e n t e dt e c h n o l o g ya n dt h eg e n e r i c - p r o g r a mt e c h n o l o g ya r e e m p l o y e d a tt h es a m et i m e t h ep a p e rd i s c u s s e sh o wt o i m p r o v ep r o f i c i e n c yo f c a l c u l a t i o np r o g r a m d e s i g nt h r o u g hu s i n gc + + p r e p a r a t o r y t h e p r o g r a m i nt h ed i s s e r t a t i o nh a d i n t e g r a t e d i nt h e s p i r a l b e v e l g e a r t r a n s m i s s i o nd e s i g n ,m a n u f a c t u r ea n da n a l y s i ss y s t e m ,a n dp r o v e dt or e a c ht h ed e s i g n p u r p o s ei ni t sa p p l i c a t i o n k e yw o r d s :s p i r a lb e v e lg e a r ;s u r f a c er e c o n s t r u c t i o n ;b s p l i n e ;i g e s 儿 西e 7 业大学硕士学位论文 第一章绪论 1 1 课题的研究意义 螺旋锥齿轮( 包括无偏置距的弧齿锥齿轮与有偏置距的准双曲面齿轮) 是现 代机械动力传动系统中用来传递动力和运动的最重要的装置,并且是齿轮传动中 最复杂的一种。它不但可用来获得需要的转速和扭矩,而且可用来改变传动方向。 螺旋锥齿轮在航空、航天、汽车、工程机械、矿山机械、机床仪表等工业部门都 获得了广泛应用,例如准双曲面齿轮是绝大多数载重车辆的主传动部件,而弧齿 锥齿轮则是直升机的动力传输关键部件。由于其齿面形状复杂,不能用显式函 数表示出来,一般采用数值仿真的方法进行设计,最终得到的是齿面离散数据点。 为了能将轮齿模型导入通用的三维c a d c a e 软件,需要把离散点连续化。通用的 c a d 软件有一些基本的曲面重构功能,但是待重构的齿面数据量大,拟合精度高, 各曲面间的拼接关系复杂,一般的c a d 软件不能满足这些要求。这曲面重构问 题又与一般的反求散乱数据点的逆向工程不同。相对于散乱点,处理的形体数据 点相对较稀、分布均匀且有规律、从数据中可以准确的提取出特征边界。由此可 见该问题的复杂度介于两者之f 刮,需要设计一一套专门的程序实现曲面重构的自动 进行。本论文就是针对这一特定的应用问题进行一系列研究。 1 2 曲面重构的研究现状瞳1 目前,在逆向工程中,主要有三种曲面构造方案:1 ) 以b 样条或n u r b s 曲 面为基础的曲面构造方案:2 ) 以三角b e z i e r 曲面为基础的曲面构造方案:3 ) 以多面体方式来逼近曲面物体。下面将对第一种方案进行介绍。 在逆向工程中,型值点数据具有规模大和数据散乱的特点,其b 样条曲面拟 合的要求比较严格,因而在b 样条曲面拟合中需研究的首要问题是单一矩形参数 内散乱数据点的曲面拟合问题。在众多的研究中,w m aa n dj p ( r u t h 。”的工 作比较具有代表性。他们首先根据边界构造一张初始曲面,然后将型值点投影到 孩初始曲面上,接着根据投影位置算出其参数分布( 从而解决散乱数据的参数分 配问题) ;根据这一型值点参数分配再拟合出一张新的b 样条曲面;最后,再对 型值点参数进行优化,以使拟合曲面离给定型值点误差最小。 西北工业大学硕士学位论文 在实际产品中,仅由一张曲面构成的情况并不多见,产品型面往往由多张曲 面混合而成。因而,只用一张曲面去重构其数学模型是很难保证其模型精度的。 于是,人们采用不同的方法来处理数据的分块问题。对于图像型数据( 即具有行 列特点的数据) ,b s a r k a ra n dc h m e n g “1 运用图像处理技术,获取曲面的特 征线;然后根据这些特征线将曲面划分为不同的块,分别用b 样条曲面拟合:最 终将所有块拼接成一个整体。f s c h m i t 等”。提出一种四叉树方法,首先构造一张 整体的曲面,若不能满足要求,则将其一分为四,再对每一小块进行处理,直至 所有小块满足要求为止。t v a r a d y 等“1 提出一种基于曲线网格的方法,首先估算 各型值点的局部性质,以找出特征线( 如尖角、c 1 连续基对称线等) :然后再将 特征线拟合成曲线网格,并用每一网格构造一张曲面,以使网格内部点与其对应 曲面具有最佳的逼近性:最终对所有曲面进行光滑拼接。g b r a d l e y 等”。提出一 种两步方案:首先用函数方法,如s h e p a r d 插值法构造插值预测量点的曲面数学 模型,然后在曲面上构造拓扑矩形网格和交互定义特征线,利用此矩形网格数据 构造曲面。1 9 9 6 年,他们又提出另外一种称为o r t h o g o n a lc r o s ss e c t i o n ( 简 称o c s ) 的方法”3 ,即首先对每块测量数据进行三角剖分,并得到几张插值于测 量点集的平面三角形网格模型;然后用三组正交的等间隔平行平面与上述模型求 交,求出每条交线的交点就得到o c s 模型:最后根据曲面网格建立其曲面模型。 1 9 9 9 年来新民等”1 对b r a d l e y 等提出的两步方案进行了改进,即在s h e p a r d 插值 模型的基础上基于其曲率变化抽取拓扑矩形网格并进行数据点的压缩,最终在拓 扑矩形网格上进行n u r b s 曲面重构。浙江大学也提出了两步方案,他们是先用插 值法构造出三角b e z i e r 曲面,然后在该模型基础上进行矩形划分以构造n u r b s 曲面。 1 3 本论文的主要研究内容 本论文所讨论的是一特定的实际应用问题,针对重构轮齿曲面过程中出现的 一些问题找到可行的解决办法。论文的主要研究内容有: 1 读入数据并进行网格划分 输入的数据是通过有限元六面体单元转换而来,不具备进行曲面重构所 要求的排布形式,同时我们不可能只使用一张曲面重构出整个轮齿。需要根 据数据中所内含的一+ 些信息以及己知的轮齿形态特征,设计相应的网格划分 两北丁业入学硕r 学位论文 算法,将数据点按各个表面区分开来,最终形成矩阵形式的数据点阵,为曲 面重构扣。下基础。 2 运用b 样条曲面进行插值重构” 论文中探讨了非均匀b 样条曲面的反算,正算等基本算法,将研究的重 点放在这些算法程序实现上。设计了一个适合于插值反算的数据结构。在曲 面重构时尤其要避免一般曲面反求过程中特征边界消失的问题。因而本论文 的另个研究重点是各曲面间的拼接问题,保证棱边处的o 阶连续和内部曲 面的一阶几何连续。本论文根据双三次非均匀b 样条曲面的go ,g 1 连续条件 推导出曲面反算过程中的g o ,g 1 连续条件。给出了各面的连续策略,并针对 其实现烦琐的特点,运用面向对象技术,设计了一个比较有弹性的程序框架。 3 0 p e n o l 。图形显示程序设计”3 1 为了对计算结果有一个初步的观察,需要把数据通过图形界面显示出 来。本论文中设计了一个简单的o p e n g l 图形显示程序框架,支持基本的旋 转、缩放以及屏幕拷贝功能以便于观察。利用g l u 库中的n u r b s 曲面绘制函 数显示插值曲面,并对如何提高显示速率进行了探索。 q 将重构曲面写进接口文件 本论文中选择i g e s ”作为中间文件格式。通过分析i g e s 文件的一般结 构,结合通用c a d 软件所能接受的常用物件( e n i t y ) ,将计算出来的b 样 条曲面转化为 g e s 文件格式。并对较复杂的多层次嵌套的i g e s 物件运用c + + 以清晰、简洁的方式实现。 1 4 程序的总体结构 程序实现的功能:自动的将输入的轮齿数据转化为非均匀b 样条曲面,并把 计算结果写入i g e s 文件供c a d 软件调用。该程序顺序执行,中间没有人机交互, 其总体框架为: 1输入模块 图1 】程序的总流程 西北工业火毕顿上学位论文 输入的数据是通过有限元六面体单元转换过来的,数据文件分为两个部分 节点坐标信息和节点间的联系关系。如下所示: 0坐标起始标志 n表明文件中节点总个数,但这n 个点可能不会都用到 z 。,y 。:i 节点编号为】的点坐标 j 月,y 月- z k a l ,b 1 ,c l ,d 连接关系起始标志 四边形数目 指明a ,b ,c ,d 。四个节点顺次连接构成四边形,这四个点 的绕向是逆时针方向 a k ,bk ,ck ,dk 输入模块的任务就是依据文件的基本格式读入各节点坐标以及四边形连接 关系。并且根据四边形连接关系建立网格数据的邻接表表示。 2 处理模块 这是整个程序的核心部分,大部分的算法都集中在这一部分。该模块又可以 细分为3 个部分: 1 ) 数据点阵的初次划分。分析邻接表的数据点,初步形成可供计算的四边 形域点阵。 2 ) 二次划分。为了对初次划分中遗留下来的问题进行处理,保证曲面的形 念,通过已知的轮齿形状信息对数据点阵进行二次划分,并且根据数据 点阵的各种位置信息归类以初始化不同的计算对象。 3 ) 对不同的面采用不同的边界条件,并执行各自的反算过程。最终反算出 曲面控制顶点。 3 输出模块 结果的输出又可以分为几种: 1 ) 坐标文件。为了验证b 样条曲面计算正确性,可以将曲面的反算结果再 下算回插值点。然后将原插值点与正算所得的插值点按面输出到文件中 西北工业大学硕t 学位论文 进行人工的比对。 2 ) 计算机三维图形。使用o p e n o l 绘制b 样条曲面,通过屏幕观察曲面是否 存在黑影、裂纹等明显的计算错误,并通过对曲面形态的观察指导反算 策略。 3 ) 1 6 e $ 文件。1 g e s 文件是该程序最终发布时输出的结果,将其在c a d 软件 中扣丌还可以利用c a d 软件的。些功能对计算结果进行进一步的分析, 如对备面之间的缝隙进行判断,以及曲面的曲率图的描绘。 两北工业大学硕士学位论立 第二章曲面划分算法 从文件中读入的网格数据是按四边形连接关系进行描述的( 参见1 4 节) , 而计算所需的则是按面分开的、矩阵形式的数据点阵。网格划分的目的就是将这 种四边形连接方式转换为有利于重构的,分面、按行列排布的数据点阵。数据点 阵的划分是曲面插值计算的基础,不合适的分割使计算出的曲面失真。二次划分 对数据点阵进行了更为细致的分割。但是各次划分之间可能相互影响,在算法设 计时要考虑到如何抵消这种相互间的作用。 2 1 网格划分算法 各数据点的相连形成一张图,我们规定图 中各边的方向与该边所在四边形的环绕方向一 致。如图2 1 所示,边c d 属于网边形l ,而边 d c 属于四边形2 。当数据读出以后,先将原来 的四边形的连接方式转化为邻接表。邻接表表 示图中点与其它点的连接关系,这里我们保存 的是点的出边,并且将边与四边形绑定在一起。 列于点d ,其在邻接表中可能为: 图21 四边形连接关系示意图 表头 邻接项2邻接项2 图2 2 邻接表的绢成 通过分析邻接表可以得出,图中的点分为三类:一为顶点( 即轮齿上棱边的 交点) ,它的度为3 。二二为内部点,其度为4 ,是数据中最一般的点。第三类点度 为5 ,我们称之为奇异点;这是由于侧面网格没有形成四边形域,造成了所谓“奇 异性”。基于对数据点的分类可以得出基本的网格划分算法e 1 : 参考图2 3 ,先从顶点l 出发沿网格线向a 方向前进,逐个链入数据点直到 遇到顶点2 ,第一次搜索结束。然后沿纵向b 方向前进一格,再加入一行数据。 如此往复直到遇见顶点3 ,链入最后一行数据。这样一个面被分离出来。 6 西北工业大学坝士学位论丈 2 3 图2 ,3 网格的搜索方向 对于一般的四边形区域,该方法是适用的。但是轮齿的侧面不是四边形区 域,我们期望能把非四边形区域转化为多个四边形区域的组合,算法e l 不具有 该功能,将会产生错误的划分。如图2 3 所示:假设从顶点4 开始,横向搜索 到顶点5 ,继续纵向搜索,但是6 、7 点都不是顶点,不满足搜索结束条件,算 法e 1 不会在这两点处停止,最终形成的数据点阵已经超越了一个面的范围。为 了防止这种情况发生,我们先处理掉奇异点,将这些特殊的面分离出来,使剩 余的网格满足四边形区域的条件。 算法e 2 :从1 个奇异点出发横向搜索的结束条件为另一奇异点:纵向搜索的 结束条件为顶点。参考图2 2 ,奇异点6 先搜索到奇异点8 停止。然后折向纵向, 搜索到顶点4 停止,分离出部分侧面,消除了非四边形区域。 这里还有一个细节有待考虑,如何在网格上沿“直线”前进。如图2 1 ,若 已知a 点、d 点,欲向e 点方向前进,可按如下步骤: 1 由己知点a 、d ,通过边d a 找到四边形1 ; 2 在四边形1 中查找点d 的前一点,得到点c ; 3 通过边d c 联系上四边形2 ; 4 在四边形2 中再搜索d 的前一点得到点e ,将点e 放入数组中。完成沿 “直线”前进一步。 上述的算法只是对一个面进行操作,为了在全局域进行划分还需要另外再 建立两个邻接表:一个单独存放顶点邻接关系,称之顶点表:另个单独存放 奇异点的邻接信息,称之为奇异点表。当一个面划分出来以后,就可以从表中 董出对应顶点,将表中该面有关的边删除;一个点的边全被删除后,说明与该 西北工业大学硕士学位论文 点相关的面已经搜索完毕,可以将其从表中删去。通过这种方法来控制面搜索 的流程。下面给出网格分割的总流程图。 读入数据并转化为邻接表 建立奇异点表汞f 顶点表 奇异点表为空 是1 执行算法e 2 ,并维护 奇异点表 顶点表为空 、, 是i 结束 图2 4 初次分割流程 叫撕7 蔫? 鳓 2 2 曲面的二次划分 经过初步分格的点阵已经可以进行反算了,但是计算出来的结果不能令人满 意。主要存在三个问题: 1 大轮中,部分棱边上的点的度为4 ,被当作内部点而不能被识别出来,重构 时原本应该是棱边的地方变成园角( 图2 5 a ) ,整个轮齿的形态受到破坏。 2 端面上,两曲面拼接处网格数目不一致,造成节点矢量不同。不能满足g o 连 续条件( 参见3 3 节) 。如图2 5 b 上半部曲面有5 行数据点,而下部曲面有 1 3 行数据点,直接插值就造成了曲面的交迭。 3 为了取得g o 、g 连续,曲面的参数估计是在整个环面内对所有参数线的平 均( 参见3 3 节) ,当环面上某一表面的节点矢量与其它面相差很大时,就 可能出现平均后参数不能反映数据点的实际分布情况,使环面上部分曲面产 生较大的失真。图2 5 c 中面上产生了黑影就是由于节点矢量的选取不合适, 使该处曲面过度挤压隆起而致 两北l :业人学坝j :学位论文 a 人轮上扭曲的棱边 c ,参数不当引起翘曲 b 端面上的曲面交叠 图2 5 网格划分不合适引起的错误 这些曲面形态上的缺陷都是由于初步形成四边形网格点阵时仅考虑了四边 形域这一。个特征,由于网格的原因造成重构曲面的缺陷只能通过数据点阵的再次 细分来解决,这就是二次划分。二次划分更注重的是网格特征的判断。对应上述 的3 个问题这一过程可以分成3 步: 1 对于大轮,需要分割处的数据点最主要的特征就是分割处为棱边,网格线间 的火角很大,可能接近9 0 度。由于这个夹角并不确定,为了不产生漏判, 夹角的阀值仅仅取7 0 。,就产生了误判问题。这时注意到部分曲面网格不均 匀这一次要的特征,再次进行筛选,这样就把误判的可能降到最低。通过在 西北丁业大学硕十学位论文 2 3 多种模型上试验表明这种方法确实可行。判断过程描述如下: 1 ) 判断边界网格线上是否存在某一点处网格线之问的夹角大于阀值,如果 不存在则是小轮,结束算法,否则进行下一步。 2 ) 判断该点的网格线是否较不均匀,取非一致不均匀因子为3 。如果较不 均匀则表明找到了分割点,执行下一步;否则结束算法。 3 ) 沿分割处将曲面一分为二,生成两个新面。 这一情况还是由于侧面不是四边形域所遗留下的问题。判断的方法也就从奇 异点入手。当一条边内部存在两个奇异点即可认定为陔类表面。如图2 5 b , 从两边的奇异点沿箭头方向切下,将该面一分为三。 对于数据点阵的不均匀,文献 3 中提出一个判别依据: 对于待插型值点阵 g 。 ,0 i m ,d j n ,设屯( f ) = 慷山一q i , j f 觚) = 慨i qh g 一1 ,0 逛m ,o j n ,则称: 小m a x ( 粼:粼 :m 。f 必:地:盟 ” l f 。( f 。,2 ) i v ( f :,j :) ( 2 1 a ) ( 2 1 b ) 分别为此型值点阵在玑v 方向的非一致不均匀因子。反映了弦长非一 致的不均匀程度。当 。,五,接近于1 时,插值曲面较光顺;屯,丑,较大时, 则光顺性较差。通过图2 6 可以看出本例中相邻的数据线之间差别不大, 但是弦长的不一致性在缓慢累积,到首末数据线处,非一致不均匀因子达 到最大。所以直接对首未数据线的不均匀因子进行判断可以找出何处的网 1 格需要分割。通过测试,当阀值取为4 和时能很好的将需划分的表面从 4 一般表面中区分出来。通过图2 6 还可以看出,分割形成的两部分数据, 其内部网格都较均匀( 实际上不均匀因子也在】左右) 。通过分割能很好 的解决这一问题。 两北t 业大学硕学位论文 图26 侧面网格 上述三个分割都有一个共同的问题需要处理:一旦某一表面满足分割条件, 沿着分割点对整个环面都要进行分割。这主要是使各相邻曲面拼接处网格数目对 齐,为g o ,g 1 连续做准备。 上述3 步中,第一步在判断完后可立即划分出新面,因为它们本来就是不同 的面。另外两步是对原本一体的面为了计算需要而人为分割开来,将会遇见一些 问题: 首先在这两次划分中,分割下来的数据点阵可能只有两列或两行,为了满足 3 次b 样条插值反算最少需要3 列数据点的要求,在执行分割前,在两列数据点 间插入足够的数据。插入点是先通过b 样条曲线反算算出控制顶点,再执行一次 正算得到的。但是可能出现这种情况:一块面上有两处需要插值,先对第一个地 方进行反算并插入数据点分割出去,再对另一处插值时由于数据已经分割出去一 部分了,反算的条件发生了变化,特别是在奇异点附近出现了曲线过冲,使插入 点也脱离了原曲线的走势,影响到最终的曲面形态。 其次,二次划分分割出的曲面原本应是一张曲面,为了计算的需要人为分割 丌,我们不希望在分割处留下折痕,这就要在分割处的采用g 1 连续。根据g l 连 续条件( 参见3 2 节) ,相邻两面在反算时边界处具有共线切矢。对于两曲面通过 贝塞尔方法分别估计出的切矢,不太合适用来做公共切矢。最好的选择是分割前 整体曲线上该点的切矢。如何将这些切矢保存来供反算时采用,又是一个比较复 杂的问题。 所以,这罩提出延迟划分技术来解决这些问题。步骤如下: 西北工业大学硕士学位论文 1 在分割判断中当发现需要分割的曲面时,不直接分割而是记录下待分割的数 据点的行、列位置。 2 ,对每个面根据划分信息判断分割后的点阵是否满足插值所需的最少行数,如 果不足就插入足够的点形成新的点阵代替原来的点阵,并且更新分割点的位 置信息适应新的点阵。 3 当所有的数据点阵扩充完毕后,才开始真正的分割,分割下来的数据点阵形 成所谓的子面,保留原来的点阵作为父面,当子面需要获取边界切矢时就在 父面中计算出,然后分发给各子面。 2 3 算例 图2 7 - 2 9 是v f e m 软件中显示的划分结果,各红色的点组成一个划分出的 曲面网格。 图2 7 端面上部网格图2 8 端面f 部网格 西北工业大学硕士学位论文 幽2 9 齿面网格 图2l o a 2 1 0 d 显示:经过二次划分,消除了曲面上各种形状缺陷,二次划 分达到了预计的效果。 a 修正后的棱边b 划分后消除了重叠 两北1 i 业太学顺1 1 学位论文 c 分割后取g o 连续d g 连续后光滑的拼接 图2 1 0 修正后的重构结果 2 4 本章小结 本章中主要讨论了网格划分的各种策略。首先介绍了根据四边形点阵数据信 息所采用的初次划分算法;然后针对初次划分中产生的问题,依据齿轮网格的形 态特征再次进行分割,并介绍了伴随而来的延迟划分箢略。通过对数据网格的划 分为进一步的计算打下了基础。 两北t 业火学硕t 学位论文 第三章b 样条曲面的插值反算 所研究的数值齿面上各点非常精确( 精度达到微米量级) ,数据点的扰动将 r t 重的影响齿轮的性能,要求重构出的曲面精确的通过各数据点。这一点就决定 了曲面拟合的方法是插值而非逼近。插值法本身就保证了重构出的曲面严格的通 过数据点。在本论文中选用非均匀b 样条进行插值反算,实现了非均匀b 样条曲 面的插值反算,f 算以及相关的系列算法。由于重构的目标是轮齿实体,在进 行反算时不能把各个表面孤立起来,需要考虑棱边处的g o 连续以及曲面内部拼 接处的g 连续。论文根据双三次曲面b 样条曲面的go ,g i 连续条件推导了反算 过狸,辛获取曲面g o ,g 1 连续的条件。为了能够实现曲面间的g o ,g 1 连续,需要从 各个面所处的位置、与周边各面的关系等等多方面进行综合考虑。 3 1b 样条曲面反算”“1 i ,曲线节点矢量的确定。 给定n + 1 个数据点只,i = o ,l ,- 胛,采用积累弦长参数化法: f = 0 k2 一一+ 印一l f = l ,2 , , g g - - 1 ( 其中卸。:p 。一仇即弦线矢量) 获得n + 1 个点处的参数值。将所获得的参数化结果作如下简单处理: “,仨“,1 , 4 ,f _ o ,l ,月一1 ( 3 1 ) ( 3 2 ) 即可获得规范参数化白。,“。 - 0 ,l 】。在构造三次b 样条插值曲线时,通常的把 首术数据点分别作为样条曲线的酋末端点,在首末数据点处取三次重复度,这 样就获得节点矢量u = 【0 , 0 ,0 ,3 ,“m ,1 ,l ,1 】。 2 曲面节点矢量的确定。 b 样条曲面要求给出两个参数分割。曲面数据点的参数化也应反映数据点的 分布情况,由于沿同一参数方向的网格线具有公共的参数分割,而在陔方向的 备排数据点分布般都不一样,由各排数据点按其分布情况决定的各个参数分 割也就不一样。公共的参数分割只能是他们的混合或折衷。 弛北t 业入学坝 :学位论文 设沿“向第j ( a = 0 , 1 , ) 排数据点p j , j , i = o , 1 ,m 的规范参数化为“, 的“向参数化可取他们的算术平均值 驴击缸, 川 ,m 类似的 _ = 熹缸, 例 n 3 , 反算双三次b 样条插值曲线的控制顶点。 用于插值n + 1 个数据点p ,i = o ,l 一,n 的三次b 样条曲线方程可写为 则公共 ( 3 3 ) ( 3 4 ) ,( “) = d ,n 一( “) 甜,“川 c 【“3 :+ , ( 3 5 ) ,= 卜3 将曲线定义域“,“。 内的节点值依次代入方程,应满足插值条件,即 p ( u ,+ 3 ) = 乏:d ,3 n 邝( “,+ 3 ) = p , “ “,“,“,+ 4 】c z ,j ,“+ 3 】i = 0 3 一,栉 ( 3 6 ) 对于三次样条开曲线,方程组中n + 1 个方程不足以确定其中包含的n + 3 个 未知控制顶点,还必须增加两个通常由边界条件给定的附加方程。以本论文中 采用的切矢边界条件为例,对于估计出的首末端点处切矢风,p 。有附加方程: 一一也= 譬雨 ( 3 7 a ) “! 一,竽p 。 ( 3 7 b ) 这样我们可得如下线性方程组 其中 g l e 2 : p p n + ( 3 8 ) 矾如矗“ =ijjjioioii= o , k 西北t 业大学倾十学位论文 。; 坠:! : ,+ 川+ ,+ 2 6 = 垒竺! ! 垒! 垒! ! ! ! + 垒生! ! 垒苎! 垒生! ! ,+ a ,+ i + h 2a ,“+ ,+ 2 + h 3 。一 ( ) 2 ,+ 1 + a ,+ 2 + a ,+ 3 f = 1 ,2 ,, 铲”争乩。= n 一竽p 。 e ,= ( + + 2 ) p h i = 2 , 3 ,” 通过求解该三对角方程组就可以求出全部的控制顶点。 4 反算双三次b 样条插值曲面的控制顶点 b 样条曲面的反算可以转换为两阶段曲线反算。待求的b 样条插值曲面方程 可写为: p ( “,v ) = ( d u n j , t ( v ) ) m ,。( “) ( 3 9 ) i = 0 j = 0 这罩给出类似于b 样条曲线方程的表达式: p ( “,v ) = c 。( v ) ( “) ( 3 1 0 ) 这里控制顶点被下述控制曲线所替代: c ,( v ) = d 。,f ( v ) ,i = o ,1 ,m + k 一1 ( 3 1 1 ) f f 0 若固定一参数值v ,就给出了在这些控制曲线上m + k 个点, i = 0 ,1 ,1 1 1 + k 1 。这些点又作为控制顶点,就定义了曲面上以“为参数的等 参数线。当参数v 的值扫过它的整个定义域时,无限多的等参数线就描述了整张 出面。双三次b 样条曲面的反算过程可按如下步骤: 先在节点矢量u 上,由截面数据点及端点“向切矢,应用b 样条曲线反算, 构造出各截面曲线,求出它们的b 样条控制顶点瓦,i = o ,1 ,m + 2 ;j = o ,1 ,即。 叉在节点矢量u 上分别视首末截面数据点处v 向切矢为“位置矢量”表示的“数 掘点”,又视四角角点扭矢为“端点v 向切矢”,应用曲线反算,求出定义首术“ 参数边界( 即首末截面曲线) 的跨界切矢曲线的控制顶点。然后,固定指标i , 以第一步求出的n + l 条截面曲线的控制顶点阵列中的第吲 即d 。j = o ,1 ,月为 “数据点”,以上一步求出的跨界切矢曲线的第i 个顶点为“端点切矢”,在节点 矢量v 上应用曲线反算,分别求出m + 3 条插值曲线的b 样条控制顶点 d i = o ,l ,m + 3 - ,= 0 1 ,n + 2 ,即为双三次b 样条插值曲面的控制顶点。 3 2 双三次b 样条曲面拼接的g o ,g 1 连续条件 1 预备定理 给定两个控制点阵 b , ,i = 0 ,1 ,m :j 。0 ,1 ,n 和 c ,) ,i = 0 ,i ,m :j = o ,l ,1 ,构成两张控制网格。又给定参数u ,v ,s 的次数都是 3 且在端点处重复度为3 。这就定义了两张双三次张量积非均匀b 样条曲面,其方 程分别为: 日( ) = b ,n 邝( “) | ( v ) “3 “su n + lv 3 v v ( 3 1 2 a ) 月, c ( s v ) = ,n 小( s ) 小( v ) “3 “川,v 3sv v 卅十1 ( 3 1 2 b ) j 一0 i = o 有如下定理: 定理1 :两曲面b ( u ,v ) 与c ( s ,v ) g o 光滑拼接的充要条件是 b 。= c j , ov i = o , 1 ,m ( 3 1 3 ) 定理2 :v i = o , 1 ,m ;o b 。= c r , o v n = 0 , 1 ,3 a 0 ,使得 b 。一b 。,一l = a ( c 一c 佃) 是两曲面b ( u ,v ) 与c ( s ,v ) 在公共连接线处实现g 1 光滑拼 接的一个充分条件。 上述定理中有一隐含条件,即两曲面在v 方向上有相同的参数分割。 2反算过程中的go ,g i 连续条件: 所要表示的轮齿是一个实体,要求各个曲面拼接是无缝的,即相邻曲面间有 稍同的边界曲线。通常的做法是在两曲面间构造一过渡曲面,在本论文中可以使 两北r 业人学坝l 学位论史 用两曲面直接拼接的方法。两曲面相交形成轮齿的棱边,那么相交处要保证g 。 连续;g 连续是在曲面经人为分割后的拼接处采用,这样在划分处不会出现折 痕。 给定两待插点阵:缸, 溉。 f - o ,l ,m ,j ;o ,1 ,”,t = o ,1 ,p ,并且有 口,= 6 hf = 0 ,l ,一,脚= 行,k = 0 。 首先考察单个曲面的两阶段曲线的反算过程:第一阶段沿“向参数截面反 算,由于在酋未节点处取重复度k + l ( 一般使用3 次b 样条,k = 3 ) ,首木数据点 与茸来控制项点楣重,口。= 虿。,口。= 虿。,= o ,1 ,m ,式中孑为中间控制顶点; 同理,第二阶段沿v 向参数截面反算也有:瓦,= d 0 ,瓦。= d 。也, ,= 0 ,1 ,h + 2 。这就说明,边界点在两阶段反算过程中只修改了一次。如果调 换反算的次序,先沿v 向参数截面反算,然后沿“向参数截面反算,计算的结果 还是否相同? b 样条曲线的反算过程中三切矢方程组的构建与以下因素有关: 节点矢量,插值点,边界条件。现在调换计算次序,对于边界点来说有 可能改变的只能是边界条件。我们以先“后v 次序为例说明两阶段反算中第二阶 段的切矢边界条件的计算过程:再在节点矢量u 上,分别视首未截面( 这罩指 的是“向截面) 数掘点处v 向切矢为“位置矢量”表示的“数据点”( 在这里还 是用b e s s e l l 方法估计) ,又视四角角点扭矢为“端点甜向切矢”,应用曲线反 算,分别求出定义在首末“参数边界( 即首末界面曲线) 的跨界切矢曲线的控制 顶点。所求出的控制顶点就作为第二阶段反算的端点切矢。显然,陔过程中首 木控制顶点与首术端点相重,还是原来估计出的切矢,所以边界点处的切矢边 界条件不会改变,进而表明颠倒计算次序对边界控制顶点没有影响。 根掘定理l ,go 连续的充要条件是边界控制顶点相同。通过前面的讨论, 我们完全可以假设两待插点阵同取行方向为“参数方向,并且第阶段的反算都 是向参数截面的反算,这样叙述方便且不影响结果的通用性。通过前述分析可 知,在第。次反算后就已得出边界处的控制顶点。再次考察三切矢方程组的三 个影响冈素:由于待插数据点是公共边界,条件自动满足;首末端点切矢一 般是通过待插数据点估计出来的,只要估计的方法一样,也就相i 司;对于条件 ,我们还可以注意到节点矢量相同是定理1 成立的一个前提,因而它必定要 满足。我们可以得出两b 样条曲面反算中的g o 连续的充分条件是:在“参数方 向上有相同的节点矢量,边界线的反算过程中,采用相同的切矢或是应用相同 的切矢估计方法。 有了g o 连续的基础,g 1 连续的条件就比较简单了,根据定理2 ,条件1 表 明两曲面go 连续,条件2 说明3 个控制顶点共线。又根据b 样条曲线的性质 口o = a ( q ,一g o )( 3 1 4 ) 式中g 。为端点切矢,q o , 吼为起始控制顶点,an - n n 。对比两式可知只要 在公共边界点处沿s 或u 参数方向有共线切矢玑,= 口寸。,则条件2 满足,两曲 面g i 连续。应用到反算中可以得出,两曲面边界点处的切矢共线,同时满足反 算的go 连续条件,则计算出的两曲面g 1 连续。 3 3 曲面g o ,g 1 连续的实现细节 依前所述,为了能在棱边处形成g o 连续,必须对整个环面的参数进行统一。 对于某一环面,各面的两方向上节点矢量分别为p i , g p 。,l g i g n 2 k n ;# n n 参数平均值p 为: p ,c i = o ,l ,月口,为各面该参数方向上参数线的数目( 3 1 5 ) 各面的节点矢量已经是面内各参数线的一个折衷,现在把平均的范围扩大到 整个环面上,由于轮齿上的网格划分比较均匀,各曲面的节点矢量在数值上差距 不大,平均后的节点矢量值不会与平均前的节点矢量值差别太大,这种做法不会 仪曲面的性状恶化。同时轮齿表面二的数据线最密集,其权值也较大,经过加权 王f 均受到的影响也最小,对该表面的光顺性也有较好的保障。由于各曲面的所取 的参数方向不统一,各面取的只参数方向不定,甚至不是曲面的节点矢量。参 2 0 酗 = p 西北丁业人学坝卜学位论文 考图3 1 ,面1 的v 参数方向是面2 的“参数方向,并且二者方向相反的,显然 这两个面的节点矢量不能直接相加。假设以曲面l 为基准进行参数平均,必须先 对面i2 的节点矢量u 反向卜1 j ( 1 为全l 矢量) ,然后再进行累加。所以对于 整个环面上的节点矢量统一来说,首先需要判断是对哪个参数方向进行累加,其 次还要判断节点矢量的方向是否与基准一致( 这里取第一个进行累加的面为基准 面) 。同样,当所有节点矢量平均完毕将参数置回时,还要再判断次方向,否 r a l 求出的参数就是错误的。出于节点矢量直接关系到曲面反算,虽然不影响数值 的f 确性,但是对曲面的光顺性可能产生很坏的影响。作者就曾经由于陵问题的 疏忽使计算出的曲面开裂。 圈3 ,l 两个参数方向相反的面 两曲面间的参数方向以及节点矢量的方向是通过曲面问的公共边在数据点 阵中的位置进行判断的,公共边起到参照物的作用。参数方向只限于在浚面内进 行判断,节点矢量方向则是相对于起始面的方向而言。随着曲面在环面上的前进, 新的面与起始面就不存在公共边,二者之间失去了参照物。新的面只能相对于前 个面进行节点矢量方向的比较。为了能达到起始面,就需要级级回溯。我们注 意到在节点矢量方向经过两次翻转后互相抵消又可以回到起始方向上。由此可以 设立一个栈存储各面的相对方向值,与前一个面的方向相同时压入l ,反向时为 1 。然后对当前栈内数据的求积,为一1 则说明相对于起始方向为反向,反之为 ! f 向。这个堆栈不仅在累加时有用,当参数平均结束后,将参数值置回各面中时 同样还要利用一次,这次反其道而行,先对栈内数据求积判断节点矢量方向,然 后弹出栈顶元素。 g 连续条件分为两个部分,先要满足g 。连续,其次是边界切矢同向。由于 涉及对切矢的操作,就可能影响到g o 连续。如图3 2 ( a ) 所示,l ,2 两面需要g 连续,当对边界切矢p 进行同向处理时,切矢p 还担负着1 ,3 两表面g o 连续的 两北丁业大学硕士学位论文 任务,就需要列该点的切矢进行协同处理,既能使l ,2 曲面g 1 连续,又满足1 3 曲面的g o 连续。在图3 2 ( a ) 这种情况f 该点切矢是自动一致的,因为3 ,4 面也需要g 1 连续,该点切矢也是通过曲线a b 的反算,然后求出c 点的切矢。但 是在奇异点处情况就复杂了,如图3 2 ( b ) ,在c 点处有5 个面交汇,切矢的情况 就更为复杂,很难保证各面在这旱都能取得g 1 连续,只能退而求其次,依据该点 处网格的性状尽可能使多数面获得好的性状。 图3 2 a 一般点处的切矢选取 图3 2 b 奇异点处的切矢选取 在图3 2 b 中,面3 ,4 ,5 中需要对两个方向的切矢进行讨论,为了便于叙 述,我们称点c 。的切矢是指i 面上i 、j 面边界线上c 点的切矢。首先点 c 。c 。c :,c 。,处的切矢仅仅是保证两表面间的g o 连续,不涉及相互影响的问 题。对于4 ,5 两表面,其网格本身从走势上_ 就不一致,这两个面之间只简单的 取g o 连续,点c ,。c 。,也可以不考虑。1 、2 表面是轮齿的主要表面,要优先满足 这两个面的g l 连续,先确定下c ,c :,的切矢。接下来考虑1 ,3 表面间的g o 连 续,这时点c 。的切矢就应与点c 。,一致,一致是指大小必须相同,而由于计算方 向可能不同,其方向可能相反。同理c ,:也应与c :,的切矢一致。这样最后的情 况是面1 ,2 取得g 1 连续,面1 、3 和面2 、5 go 连续,面4 、5 也只能go 连续, 西:i l t 业凡学硕上学位论史 面3 、4 在点c 处是go 连续。 3 4 算例 在设计网格划分算法与曲面重构策略时都是参考螺旋齿锥齿轮的单齿模型, 但是这些方法还能应用到其它一些模型。 圆柱齿轮( 图3 5 ) 比起螺旋齿锥齿轮简单的多,一些重构策略根本都不必 使用,因此程序对圆柱齿轮也能很好的处理。 三齿模型( 图3 6 ) 不管从曲面划分还是重构两方面来说,并没有提出更多 的要求,该程序可以很好的胜任。但这里有一点需要注意的,在曲面的划分中的 第一步提取出奇异面,通过寻找相近的奇异点。在三齿模型中端面上有多个奇异 点,从理论上来说白丁能出现,两对奇异点匹配错误,但是由于在所给数据中该情 况并不会出现,对于这种只是专用的配套程序,虽然并不很严密,但在实际运用 中并不会发生错误。 两轮装配模型( 图3 7 ) 考验了网格划分算法。由于在曲面划分时是通过连 接关系进行曲面划分的,能够自动分离出两轮,和处理一个轮齿没有区别

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论