第八章曲线、曲面生成与逼近 教学目的和要求 要求掌握筒单的数据处理方法、累加弦长法、 Bezier方法、B样条方法 非均匀有理B样条( NURBS) 本章讲述曲线、曲面生成与逼近的一些常用方法原则上讲,本书前面有关 章节介绍的插值与逼近的理论与方法均有用于曲面、曲线的生成与逼近这些内 容本章自然不必重复以下介绍一些其他方法以及与之相关的理论本章所涉及 的领域被称之为计算机几何或计算机辅助几何设计 1.简单的数据处理方法 通常给定的用以生成与逼近曲线、曲面的表列数据,由于观测等各类因素的 影响,蕴含一定的误差,所以人们常常需要对这些给定的数据进行适当的处理 采用样条和最小二乘法技巧,可以较好的处理这些数据本节将介绍比较简 单、使用的处理数据方法 设 l1,l2…,lln u1=l() 是一组观测数据,它们是当自变量取为等距时由观测所得的数据从上列数据的 插分表的不规则性可知它们不能用多项式等来逼近,所以人们需设法对以上数据 进行修改,使修正后的数据 ul 符合我们的要求 Woodhouse公式
第八章 曲线﹑曲面生成与逼近 教学目的和要求: 要求掌握简单的数据处理方法﹑ 累加弦长法﹑ Bézier 方法 ﹑ B-样条方法 ﹑非均匀有理 B-样条(NURBS) 本章讲述曲线﹑曲面生成与逼近的一些常用方法.原则上讲,本书前面有关 章节介绍的插值与逼近的理论与方法均有用于曲面﹑曲线的生成与逼近.这些内 容本章自然不必重复. 以下介绍一些其他方法以及与之相关的理论.本章所涉及 的领域被称之为计算机几何或计算机辅助几何设计. §1. 简单的数据处理方法 通常给定的用以生成与逼近曲线﹑曲面的表列数据,由于观测等各类因素的 影响,蕴含一定的误差,所以人们常常需要对这些给定的数据进行适当的处理. 采用样条和最小二乘法技巧,可以较好的处理这些数据.本节将介绍比较简 单﹑使用的处理数据方法. 设 u u u (u u(i)) 1 , 2 , , n , i = 是一组观测数据,它们是当自变量取为等距时由观测所得的数据.从上列数据的 插分表的不规则性可知它们不能用多项式等来逼近,所以人们需设法对以上数据 进行修改,使修正后的数据 u1 ,u2 , ,un , 符合我们的要求. 1. Woothouse 公式
该方法的基本思想是,为修正u0处的值,须取 l-,u-6;…,ll-1,lo,l1,…,l6,l 分别由u2,2,n3)(u,u1,u)(us,un,u5)(u4,u1,46)和(u3,u2,u2)作5条2 次多项式插值,并取这5条抛物线于x=0处值的算术平均值作为u0=(0)的修正 值即 3u1+7ln-3i 125 (-3+72-3) 125 其中表示所谓的“离中和” 2m+1J 且 G]o]u Lidstone公式 从 Woodhouse公式,可总结出一个普遍原则 △.=ul 需寻求一个恰当的磨光公式,使得 f、p}2=l2+高阶差分, 其中是离中和则磨光值取为 △pp 关键是选取函数f 根据差分算子和位移算子等的定义
该方法的基本思想是,为修正 0 u 处的值,须取 , , , , , , , , . u−7 u−6 u−1 u0 u1 u6 u7 分别由 ( ) ( ) ( ) ( ) 7 2 3 6 1 4 5 0 5 4 1 6 u− ,u− ,u , u− ,u− ,u , u− ,u ,u , u− ,u ,u 和 ( ) 3 2 7 u− ,u ,u 作 5 条 2 次多项式插值,并取这 5 条抛物线于 x=0 处值的算术平均值作为 (0) u0 = u 的修正 值.即 ( 3 7 3 ), 125 1 0 1 3 0 [5] u = − u− + u − u ( 3 7 3 ), 125 [5] 1 1 3 = − − + − + ux ux ux ux (1.1) 其中 • 表示所谓的“离中和”: 2 1 , m + ux = ux−m ++ ux ++ ux+m (1.2) 且 [ ] ([ ] ). 1 u u k k • = • • + 2. Lidstone 公式 从 Woothouse 公式,可总结出一个普遍原则. 记 . ux = ux+1 − ux 需寻求一个恰当的磨光公式,使得 f ,•ux = ux + 高阶差分, 其中 • 是离中和 • 则磨光值取为 , . x ux u = f • 关键是选取函数 f ,•. 根据差分算子和位移算子等的定义
E=1+A 其中E为位移算子,D为微分(求导)算子取φ=D,则得 =E-2+E=-4snφ 2m+ +2cos2p+…+2cos2mp} +1) snφ 所以 小2-1)-n+72-)G2-=3) 即可得 n 由此可推出 P1·P2·P3 24 移项得 Lid stone公式 P1·P2:P 若取P1=P2=5,P3=7,则得到 Spencer公式 557 46 175 其21项公式为
, 2 , 1 , 0 1 0 1 2 0 1 2 1 2 D u = u −u u = u − u + u E = + = e − − 其中 E 为位移算子,D 为微分(求导)算子.取 , 2 1 D i = 则得 2 1 2 = − 2 + = −4sin − E E , 2m +1u0 = u−m ++ u−1 + u0 + u1 ++ u 0 2 2 2 2 e e 1 e e u mi i i mi = + + + + + + − − 2 0 = 1+ 2cos 2 ++ 2cos m u ( ) 0 sin sin 2 1 u m + = 。 所以 0 0 sin sin u n n u = ( ) ( )( ) 0 4 2 2 2 2 2 2 2 sin 5! 1 3 sin 3! 1 u n n n n n n + − − + − = − 。 即可得 ( ) + − + − = − 0 4 4 2 2 0 2 2 2 2 0 0 2 5! 1 2 3! 1 ! u n u n u u n n 由此可推出 ( ) ( ). 24 1 0 4 0 2 2 0 0 1 2 3 1 2 3 u O u p u u p p p p p p i i + − = + 移项得 Lidstone 公式 ( ) 0. 2 2 1 2 3 1 2 3 0 1 24 1 p u p p p p p p u i i − − = (1.3) 若取 5, 7, p1 = p2 = p3 = 则得到 Spencer 公式 0 2 0 1 4 175 5 5 7 u = − u 。 (1.4) 其 21 项公式为
60u+57u1+u1)+47u2+u2)+…-(u10+u40)}(1.5) 3.最小二乘法 取以u0为中心位置的数据 并按最小二乘法求j次多项式u(x),则取 经常采用的是下述特例 (1)取j=1,则 )+…+(un+un)} (1.6) (2)取j2,3 lo=Pnln+_Pn-1ln-1+……+P2-nln (1.7) 其中 P,=3 2n-1)(2n+1)(2n+3) ,1, 4.二维数据的处理 借助于二维 Taylor展开公式,我们可以处理二维矩形网格点上的数据 设已给定一组二维数据 (h,j)i,j=0±1 则有如下的13点磨光公式 +2∑+∑2∑3 其中 =l10+l0n+l-1.0+l
60 57( ) 47( ) ( ). 360 1 u0 = u0 + u 1 + u1 + u 2 + u2 + − u 1 0 + u1 0 − − − (1.5) 3. 最小二乘法 取以 0 u 为中心位置的数据 , , , , , , , u−n u−n+1 u0 un−1 un 并按最小二乘法求 j 次多项式 u(x) ,则取 ( ) 0 =0 = x u u x . 经常采用的是下述特例. (1) 取 j=1,则 ( ) ( ). 2 1 1 0 u0 u1 u 1 un u n n u + + − + + + − + = (1.6) (2) 取 j=2,3 _ , u0 = pnun + pn−1un−1 + + p−nu−n (1.7) 其中 ( )( )( ) , , ,1, , . 2 1 2 1 2 3 3 3 1 5 3 2 2 s n n n n n n n s ps = − − + + + − − = 4.二维数据的处理 借助于二维 Taylor 展开公式,我们可以处理二维矩形网格点上的数据. 设已给定一组二维数据 ( , ), , 0, 1, . ui, j = u ih jh i j = 则有如下的 13 点磨光公式: 3 2 , 11 1 0,0 = 0,0 + 1 + 2 − 3 u u 其中 , 1 = u1,0 + u0,1 + u−1,0 + u0,−1
u, +u+u +l1-1 l+lo+u 若uo是一个边界点,例如在数据(1.8)中,我们只知 ’,=012 则有如下的9点边界磨光公式 8 其中 lo tlo, +ul l1:+l1-17 =u+la+u 为验证公式(19)和(1.10),只需将公式右端所涉及的诸l1,在0点作 Taylor展开 即可有关细节请读者自行给出。 §2.累加弦长法 如前所述,3次样条插值是一类比较简单而有效的曲线生成和逼近的方法 由于3此样条的力学背景是无限常量在集中荷载作用下的弯曲变形曲线其中 个条件是小挠度,即y1不大。然而实际问题中经常会遇到大挠度曲线的逼近间 题为解决此类问题,人们想出来许多种办法,其中一类最有效的方法是将曲线 参数化例如分段研究3次参数曲线 x=do +at+=a2I Bo +B,t+ 2B+6B 首先遇到的问题时,以什么作为(2.1)中的参数?一个最容易想到的参数是曲线的
, 2 = u1,1 + u−1,1 + u−1,−1 + u1,−1 . 3 = u2,0 + u0,2 + u−2,0 + u0,−2 若 0,0 u 是一个边界点,例如在数据(1.8)中,我们只知 , 0,1,2, , ui , j i = 则有如下的 9 点边界磨光公式: 3 2 , 8 1 0,0 0,0 1 2 3 − + u = u + 其中 1 = 1,0 + 0,1 + 0,−1 u u u , , 2 = 1,1 + 1,−1 u u . 3 = 2,0 + 0,2 + 0,−2 u u u 为验证公式(1.9)和(1.10),只需将公式右端所涉及的诸 i j u , 在 0,0 u 点作 Taylor 展开 即可.有关细节请读者自行给出。 §2. 累加弦长法 如前所述,3 次样条插值是一类比较简单而有效的曲线生成和逼近的方法。 由于 3 此样条的力学背景是无限常量在集中荷载作用下的弯曲变形曲线.其中一 个条件是小挠度,即 y 不大。然而实际问题中经常会遇到大挠度曲线的逼近问 题.为解决此类问题,人们想出来许多种办法,其中一类最有效的方法是将曲线 参数化.例如分段研究 3 次参数曲线 = + + + = + + + , 6 1 2 1 , 6 1 2 1 3 3 2 0 1 2 3 3 2 0 1 2 y t t t x t t t (2.1) 首先遇到的问题时,以什么作为(2.1)中的参数?一个最容易想到的参数是曲线的