2 共轭曲面的数字化方法研究
2.1 引言
共轭曲面的数字化方法的特点,就在于抛开传统共轭曲面的理论的繁锁推导与变换,仅借用共轭条件的构架关系,利用数值方法,借助于计算机即可解决共轭曲面理论中的各种问题;且问题的维数降低,算法简单,既能解数字母曲面问题,又能处理解析母曲面的求解问题,实现了真正意义上的共轭曲面的数字化方法分析,即从数字化到数字化的分析求解过程。
传统的共轭曲面求解方法是基于解析表达式描述的已知曲面,通过人工推导,得到共轭曲面的解析方程或数据[78-83]。当已知曲面由一系列离散数据点来描述时,这种方法就无法适用,也就是说它的适用范围有很大局限性。另一方面,因为共轭曲面求解涉及繁琐的公式推导和大量的数学计算,对一般的工程技术人员来说,掌握这一套理论和计算方法有一定难度,而且人工计算,对一般的工程技术人员来说,掌据这一套理论和计算方法有一定难度,而且人工计算很容易出错,所以共轭求解的计算机化是有必要的。而在利用计算机求解实现方面,由于解析方程式及其推导计算的多样化,传统的共轭求解方法也很难建立通用性较强的计算机算法。
本章旨在突破这一局限,一方面使共轭曲面求解在已知曲面为数字化曲面的情况下依然能够应用,即拓宽共轭曲面的适用范围;另一方面,增加共轭曲面求解的自动化程度,使得从得到已知曲面数据点和运动参数到求解出共轭曲面这一过程都可以由计算机自动完成,用户只用改变输入参数就可以方便地得到各种共轭曲面。
2.2 数字化共轭曲面的相关性与求解原理
无论是数字曲面,还是解析曲面,在对其进行共轭理论的研究中,共轭关系与共轭条件是研究的基础和重要依据。
如图2-1Σ1、Σ2为两共轭的任意曲面,其中Σ1设为母曲前,S1(o1x1y1z1)、S2(o2x2y2z2)为两个分别与Σ1、Σ2相固连的坐标系,r1(1)、r2(2)分别表示Σ1、Σ2上一点的位置矢,N1(1)、N2(2)分别表示曲向Σ1、Σ2上r1(1)、r2(2)两点处的单位法矢。上述符号中上标表示所定义的坐标,下标表示所属的曲面。
设母曲面Σ1在坐标系S1中可表示为以u、v为参数的方程
r1(1)=r1(1)(u、v) (2-1)
则曲面Σ1按以t为参数的规律变化,在空间形成一曲面族,该曲面族的方程则为
{Σ1}:r1(1)=r1(1)(u,v,t) (2-2)
u,v是母曲面的几何参数;t是母曲面的变化参数,当母面无形状变化时,t则为运动参数。本文中的t即为曲面间的运动参数。
若存在一曲面Σ2与曲面族{Σ1}中任一曲面有Σ1都有一条公共线L或公共点M(也称接触线或接触点),在公共线每一个点M上Σ2与Σ1都有公切面和公法线,曲面Σ2即为曲面族{Σ1}的包络,面曲Σ2与Σ1互为共轭曲面,这种接触现象则称为共轭接触状态或共轭传动。
曲面Σ1与Σ2为欲实现共轭接触运动,两曲面必须满足以下基本条件:
(1)曲面Σ1、Σ2上相对应的接触点(共轭点)M1、M2必须重合为一点(如图2-1),即
r2=r1-r0 (2-3)
对于具体实际问题,式(2-3)则等价于r1(2)=r2(2)(u,v,t)。
(2)两曲面在接触相切,即在接触处有公法线,且两曲面应在其空域一侧接触,即
N1=-N2 (2-4)
(3)两曲面在接触处的相对速度v12应位于该处的公切面内,以保证连续接触,而不致发生嵌入或分离状态,即
N·v12=0
或 (r,u×r,v)·r,t=0 (2-5)
通常称(2-5)式为共轭条年(或包络条件)。
由(2-3)、(2-5)两式联立求解,即可求得母曲面Σ1的共轭曲为Σ2。亦即由共轭条件(2-5)求得运动参数t与母曲面的几何参数(u,v)之间的关系:t=t(u,v),然后代入(2-3)式,即可得到共轭曲面Σ2:r2(2)=r2(2)(u,v)。
当然,对于母曲面为数字曲面,实现算法相当复杂,不过,不论是数字曲面,还是解析曲面,其最终得到的共轭曲面均为离散的数字曲面。
2.2.2 数字化共轭曲面概念与求解原理
基于解析曲面的共轭曲面理论,无疑是共轭曲面求解和共轭接触分析的精确有效的工具。但是,这套理论存在致命的缺陷,一是其代数变和几何变换繁杂,计算工作量大,使得计算机仿真计算和动态优化设计有相当难度;二是对于非解析形式的离散化数字曲面,传统的基于解析理论的共轭曲面原理与分析方法则无能为力。基于此,提出共轭曲面的数字化方法,以解决现代数字设计、数字加工和各种数字反求工程中的问题。
基于数字曲面的求解理论与方法是共轭曲面的数字化方法的核心内容,它的基本思想是从数字化离散曲面出发,应用数值分析手段将数字曲面分别沿不同的方向u、v构造一个整体上具有二阶连续导数的三次样条插值函数,将具有双几何参数曲面上一点几何性质的讨论退化为关于具有单几何参数的两条曲线交点几何性质的研究,并按照曲面运动过程中的共轭关系和条件,建立求极小值的数字规划模型,应用优化算法,即可求到与数字母曲面Σ1相共轭的数字曲面Σ2。
2.3 共轭参数的数字化求解
数字化曲面共轭求解中有两个关键量,即共轭参数法向量N和切向量v12,本节将围绕这两个键量展开讨论。
数字化曲面上的点是离散的,我们可以根据运动参数分别考察曲面上每一个点运动特性,求出每一个点在运动过程中对应的共轭点的位置(如果有的话),那么当所有的共轭点都求出来后,也就自然而然地求解出了已知数字化曲面对应的共轭曲面,这就是数字化共轭曲面求解的整体思路。
但在共轭曲在求解过程中,孤立的点及其动动并不能提供求解所需的全部条件,例如曲面在该点的法向量N。在考察曲面上单个点的运动特性之前,有必要对数字曲面进行曲面插值,以期间接得到一个连续的曲面,从而获取习已知曲面的某些整体特性。针对法向量N的求解,本章提出了曲面插直的降维插值法,它能在满足共轭求解功能要求(即提供已知曲面在一点的法向量N)的同时,大大减少插值的计算量。
除了法向量N外,共轭曲面求解中的另一个共轭参数是曲面上一点的运动轨迹的切向量v12。本文提出根据三维数组与曲面族的对应关系,提出切向量v12的求解方法。
2.3.1 法向量N的求解
曲面插值面临的主要问题是计算量大,下面提出基于已知数字曲面求其共轭曲面的降维插值方法,用曲线插值替代曲面插值。
降维插直法就是从已知的数字化离散曲面出发,将数字曲面分别沿下同的方向u,v构造一个整体上具有二阶连续导数的三次样条插直曲线。两条交叉的插直内线在交叉点的切向量的向量积,就是数字化曲面在这一点的法向量N,如图2-25所示。根据三次样条插值的唯一性,由曲线插值所求得的法向量是相等的。然后按照曲面相对运动过程的共轭条件,建立求解极小值数学规划模型,应用优化算法,即可求得与已知数字曲面Σ1、相共轭的数字化曲面Σ2。
这样,就将具有双几何参曲面上一点几何性质的讨论转化为关于具有单几何参数的两条曲线交点几何性质的研究,从而降低了计算的复杂程度。
以u方向为例介绍三次样条插值。
根据u方向的n+1个数据点(ui,fi),(i=0,1,…,n)构造的三次样条插值函数S(x)满足下列条件:
(1)S(ui)=fi,i=0,1,…,n;
(2)在每一个小区间[ui,ui+1]上是三次多项式;
(3)S(ui)∈C2[a,b],[a,b]为整个插值区间,即插值函数整个区间有连续的二阶导数。
插值多项式可用线性方程组表示:
(1-λi)Mi-1+2Mi+λiMi+1=6f[ui-1,ui,ui=1],i=1,2,…,n-1。 (2-6)
式中,表示S(x)的二阶导数在ui的值,表示二阶差商。这是关于的线性议程组,共有n-1个方程,比未知参数个数n+1少2,一般可用附加边界条件给出所需的二个方程,这样就能唯一地确定。
根据给定的已知曲面上的節點坐標值,分別沿u=ui,v=vj构造关于几何参数u,v的三次样条插函数:,则曲面在点(ui,vj)处的法向量为
这样,用降维插值法就可以求出曲面在任一节点(ui,vj)处的法向量。再利用两曲面的运动关系,通过坐标变换,就可以求出在运动过程中对应各个t的曲面有(ui,vj)的法向量。
2.3.2 相对运动速度v12的求解
随着运动数t的变化,已知曲面Σ1在未知曲面Σ2的坐标系S2中的运动轨迹形成曲面族{Σ1},将{Σ1}通过坐标变换,即可得到Σ1在S2中对应于每一个t的位置坐标,把这些位置记录下来就得到了Σ1在S2中运动而形成的曲面族。
若已知曲面Σ1由一系列离散的坐标值表示,则规则化后的坐标值系列可以写成二维数组成的形式,二维数组中的各维分别对应u,v参变量或方向,二维数组中的各元素分别对应曲面上节点的坐标;那么,曲面Σ1在坐标S2中运动形成的曲面族{Σ1}可以用三维数组表示,三维数组的各维分别对应u,v,t参变量或方向,并且曲面族中的各点与此三维数组的各个元素在空间结构上是——对应的,如图2-3所示。
设此三维数组为M,则取t≡tk时,M退化为一个二维数组,它表示曲面族{Σ1}中对应t=tk的曲面;如果考察已知曲面上一点(ui,vj),即取u≡ui,v≡vj,则M退化为一维数组,它表示曲面一点(ui,vj)在坐标系S2中对应于运动参数t的一系列位置向量,也即点(ui,vj)在坐标系S2中的离散运动轨迹。
这样,取得点(ui,vj)的离散运动轨迹后,利用三次样条曲线插直,就可以得到以t为自变量的连续函数Ct(t),它表示点的连续运动轨迹;然后求取Ct(t)对运动参数t的导函数,就可以得出点(ui,vj)运动轨迹的切向量函数。
那么t=tk时点(ui,vj)运动轨迹的切向量为
这也就是曲面Σ1上一点(ui,vj)在t=tk时相对于曲面Σ2的运动速度。
2.4 数字化共轭曲面求解模型与算法
2.4.1 数学模型
根据以上论述的曲面共轭条件和关键量的求解方法,构造如下的共轭曲面求解数学模型
式中
r1(2)(u,v,t)——已知曲面Σ1在坐标系S2中形成的曲面族;
N(u,v,t)——在坐标系S2中,对应运动参数t的已知曲面Σ1在点(u,v)的法向量;
v12(u,v,t)——在坐标系S2中,对应运动参数t的Σ1上点(u,v)的相对运动速度。
2.4.2 算法实现
(1)给定ui值;
(2)给定vj值;
(3)用前述方法求出曲面Σ1在点(ui,vj)的法向量N(ui,vj);
(4)用坐标变换求出N(ui,vj)对应整个t序列的在坐标系S2中的一系列值N(ui,vj,t);
(5)用前面介绍的方法求出点(ui,vj)在坐标系S2中,对应整个t序列的相对运动速度v12(ui,vj,t);
(6)取φ(ui,vj,t)=N(ui,vj,t)·v12(ui,vj,t),得到对应于整个t序列的一系列值,在此基础上,用插值的方法得到一个以t为自变量的连续函数φ(t),然后求出使φ(t)=0时t的值tk;
(7)将u=ui,v=vj,t=tk代入(2-9)中第一式,就得到已知曲西Σ1上点(ui,vj)所对应的共轭曲面Σ2上的共轭点r2(ui,vj),将这个共轭点的坐标值保存;
(8)vj←vj+△v,转至(2),直到v方向计算完毕;
(9)ui←ui+△u,转至(1),直到u方向计算完毕。
通过上述计算,就得到了对应于已知曲面Σ1上节点的一系列共轭点,所有这些离散的共轭点就表达了所要求的共轭曲面Σ2。
在计算中,如果点(ui,vj)在整个t的运动过程中都没有使φ(t)=0,则可判断此点没有参与共轭,在共轭曲面的求解中剔除该点;如果点(ui,vj)d在整个t的运动过程中超过一次使φ(t)=0,则可判断此点在整个运动过程中不只一次参与了共轭。这种已知点和所求共轭点“一对多”的映射会导致程序判断的紊乱,这种情况可用使t自动分段和递归调用共轭求解函数的方法来处理,直至在每一个t的分段中,该点(ui,vj)参与共轭的次数不超过一次。
2.5 小结
本章提出了数字化共轭曲面的概念与求解原理,介绍了数值化共轭求解中两曲面的相关性质即共轭关系与共轭条件,解决了数字化曲面共轭求解中,共轭参数法向量N和切向量v12的数字化求解问题,建立了数字化共轭求解模型和算法。
上一页
下一页