
曲线的几何处理技术.doc
7页第八章曲线的几何处理技术前面我们已经介绍了 CAD/CAM中常川的曲线表示方法及其相关理论,这些llh线在外形设 计和制造中的有效使川很大程度上依赖于能否方便地对其进行各种儿何操作,或许设计苕要求 按一定的光滑约束将多段曲线连接在一起,或许两曲线的交点是工程设计中的一个关键点等等 着就是曲线的几何处理,常用的几何处理包柄:求交点(intersecting)、过渡(filleting)、延拓 (extension)、況合(blending)、等距线计算(offseting)等我们这里秉点讨论求交、等距线 计算以及过渡三种操作8.1曲线求交求交是最为重要的曲线运算,它是阁形裁剪、消隐的基础按照曲线的类型,可以将曲线 求交分为以下三类:(1) 两直线段ffl交空间两直线段如果排除和互T•行与异面,它们的相交有两种情况:或相交于一点,或重叠 (部分或全部)令两条莨线段的参数方程分别为:P(m) = a + bu, Q(v) = c + dv, w,ve[0,l]则其交点为/\w) = g(v) = r,即a + bu = c + dv因为(tzxd).(a + Zn<) = 0,那么:det[a, c, J]u:= det[b,c,d]同理(8.1.2)dei[a,b,c]v •= c\e{[a,b,d]由此可得交点:r = a + biij = c + d\\当然,这里所求出的交点r并不一定是所要求的交点,因为我们处理的是直线段。
因此, 为了保证交点的有效性,还必须进行杏效性检资,即对条件0^^1,0^^1进行判断若条件真,则为冇效交点,否则为无效交点2) 直线段与曲线段相交 设直线段的方程为尸(w) = a + bu,[0J1(?(v)为一曲线段(OSv^l ),它可以是BSzier曲线、B样条|lh线、NURBS曲线等,那么P⑻与 6(v)的交点为尸⑻=(20) = r或者P(w)-<2(v) = 0如果G(v)是分段的々次多项忒或分段有理多项忒,则交点所满足方程的一般形忒足:CqVk + C| + • • • + v + + bu经矢量运算可得(a xZ>) • [C()vk + C.v"-1 + • • • + C^,v + CJ = 0(8.1.4)用数值方法求解上述方程,即可求得参数v,.,再通过有效性检查方可求出要求的交点⑶曲线与曲线相交设有空间曲线段P() (0 将上述方程写成分量形式,则有F(u,r)= Px(i/)-Qx(v) = 0 咖,v) = P、⑻-e、,(v) = 0(8.1.5)设真正的交点足洱,巧,如果我们已经求得的近似交点为(《,.,v,.),记(8.1.6)则由Taylor展开可得0 = F(,v) = F(Mr,vr) + Aw (r,vr)+ Av字(wr,vr) +on ov0 = G(,v) = G(ur,vr) + Aw ^(wr,vr) + A v专■ (Mr,vr) +du dv忽略二阶以上的高阶项,则有:Aw^(r,vr) + Av-^(wr,vr) = -F(ur,vr} Oil ovAw ^(r,vr) + Av-^-(wr ,vj = -G(wr,vr: du dv即:I I /rx z V-S 0I IAz/"i=re.v(vr)-pv(w,.)AvJ = |ev(vr)-Fv(r)(8.1.7)求解此方程组,解出△,Av如果△,Av (与真正交点的误差)满足精度要求,则交点参数为=i"+Aw,Vw = vr + Av(8.1.8)迭代过程结朿否则,以(~+l,vF+1)为交点的新的近似解,继续迭代。 如果迭代不收敛,则两曲 线不相交,否则冇交该方法的特点是交点精确,且不依赖干曲线的类型然而,如果曲线是B&ier曲线或B样 条曲线,则可采川较为方便的离散求交下面,我们以BSzier曲线为例介绍离散求交算法的基 本原理我们知道,Bezier曲线完全位于它的控制顶点的A包之中,因此对两条Bezier曲线来说,交点的计算可转化为控制多边形A包的相交性判断及曲线的分割如果两控制多边形的凸包不相交,则曲线一定不相交;否则,将两曲线一•分为二,再对子曲线的控制多边形的凸的相 交性进行判断如此重S,直至获得明确的结果:耍么相交,求!li交点;耍么不相交其算法 过程如下:a. Bezier曲线的离散求交算法Stcpl判断两曲线(^和(:2的控制多边形凸乜的相交性荇相交转至Step2,否则Step5; Step2精度判断若满足精度要求,转至Step5,否则转至Step3;Step3分别对两曲线C,、C2进行中点分割(参数为1/2),得到曲线段CU,C12和C21,C22;Step4对曲线段对(Cn,(:12)和(C2I,C22)的控制多边形的凸乜两两进行相交性测试若不相交,转至Step5;否则将凸包相交的控制多边形所对hV:的曲线送入,转千:Stcp2;Step5输出结果。 b. 算法的数据结构离散求交算法采用的数据结构为二叉树,K逻辑结构如阁8.1所示Curve 1 Curvc212阁8.1离散求交算法数据结构c. 交点参数的确定交点参数确定采用的方法是对相交曲线段两端点的参数进行修正,设起点和终点的参数分 别为贝IJ:① 初始化wo=O, n, = 1 ;② 分割若左段曲线参与求交,则修正终点参数& : 若右段曲线参与求交,则修正起点参数女,芄中&为分割次数;③ 交点参数为(《 w, )/2对于空间曲线来说,方程组(8.1.7)为一超定方程组,即冇两个未知虽,三个方程此时, 求解的方法是将曲线投影到某一坐标平血(如平酣)上,求解由%、>,分景构成的程组 如果有交,将其对应参数代入Z分量进行验证即可8.2曲线的等距线曲线的等距线(offset)足将曲线上每一点沿其法矢方向平移-•给定的距离所得点构成的曲 线,它是数控加工中刀具中心点的轨迹因此,等距线计算对于2D轮廓加工和3D •〒•截线加工 必不可少设曲线的方程为P(),则对应的等距线方程为Poff(u)=P(u) + rN(u) (8.2.1)这里/•为常景,为处的单位法矢由等距线的方程可以看出,对于给定的参数多项式曲线或有理参数多项式曲线P(w),K相 应的等距线一般来说已不再是同类型的曲线了,它的方程相当S杂。 除非特殊曲线(如圆弧、 直线段),一般来说需进行二次拟合,以便按一定步长计算出等距线来因此,对于等距线的研 究主要集中在什么样的曲线之等距线可以精确表示方面设P(u) = (x(), y(u))足面宵理参数多项或曲线,如果存在一多项式函数a(w)使得P(w)满 足条件:(x’(“))2 +(./(“))2 =汉2(“) (8.2.2)则P(u)的等距线可粘确表示成一有理参数多项式曲线证明因为) = (—/(“),/(“)) = (-/⑻,V⑻)⑻)2+(/⑻)2 汉⑻所以⑻=(又⑻,),⑻)+ /W(M)_ (x(w)6z(w) - o,(w),y(u)a(u) + x’(m))汉⑻满足条件(8.2.2)的多项式曲线或宥理多项式曲线称之为Pythagoras曲线,简称线 由此可以看出,圆弧是PH曲线,因而圆弧的等距线可以精确表示之8.3曲线的过渡丄程上,尤其是在航空、航天、汽车、船舶等行业中,为使产品外表具有良好的力学性能 及外观;为避免加工中出现哨刀,往往需要在任意两条曲线、两张曲則间构造一条过渡曲线或 一张过渡曲面曲线间的过渡指的足在两条曲线间按给定的半径构造一圆弧,使其与母曲线保 持G1连续。 通常,曲线间的过渡冇以下几种:直线间的过渡、直线Ml弧间的过渡、糾弧间的过 渡,以及曲线间的过渡曲线间的过渡问题实质上是构造等距线与求交没P(W),C?(V)足两条平面曲线,过渡半径为/•,则两曲线间的过渡曲线算法如hStcpl构造等距线P()frM = P(w) + rNp、u),0 < < 1e,#(v) = 0(v) + /W(?(v), 0 直线么上切点7;的参数可类似求出过渡圆阏心为|PoP.|。












