第四章 曲线和曲面 第一节 曲线和曲面表示的基础知识 第二节 Hermite多项式 第三节 Coons曲面 第四节 Bezier曲线和曲面

Slides:



Advertisements
Similar presentations
数值分析 第五节 数值微分 在实际问题中,往往会遇到某函数 f(x) 是用表格 表示的, 用通常的导数定义无法求导, 因此要寻求其他 方法近似求导。常用的数值微分方法有 : 一. 运用差商求数值微分 二.运用插值函数求数值微分 三. 运用样条插值函数求数值微分 四. 运用数值积分求数值微分.
Advertisements

一、 一阶线性微分方程及其解法 二、 一阶线性微分方程的简单应用 三、 小结及作业 §6.2 一阶线性微分方程.
目录 上页 下页 返回 结束 习题课 一、导数和微分的概念及应用 二、导数和微分的求法 导数与微分 第二章.
2.8 函数的微分 1 微分的定义 2 微分的几何意义 3 微分公式与微分运算法则 4 微分在近似计算中的应用.
第八章 第四节 机动 目录 上页 下页 返回 结束 一个方程所确定的隐函数 及其导数 隐函数的微分法.
2.6 隐函数微分法 第二章 第二章 二、高阶导数 一、隐式定义的函数 三、可微函数的有理幂. 一、隐函数的导数 若由方程 可确定 y 是 x 的函数, 由 表示的函数, 称为显函数. 例如, 可确定显函数 可确定 y 是 x 的函数, 但此隐函数不能显化. 函数为隐函数. 则称此 隐函数求导方法.
5.4 微 分 一、微分概念 二、微分的运算法则与公式 三、微分在近似计算上的应用. 引例 一块正方形金属片受热后其边长 x 由 x 0 变到 x 0  x  考查此薄片的面积 A 的改变情况  因为 A  x 2  所以金属片面 积的改变量为  A  (x 0 
2.5 函数的微分 一、问题的提出 二、微分的定义 三、可微的条件 四、微分的几何意义 五、微分的求法 六、小结.
第二章 导数与微分 一. 内 容 要 点 二. 重 点 难 点 三. 主 要 内 容 四. 例 题与习题.
全微分 教学目的:全微分的有关概念和意义 教学重点:全微分的计算和应用 教学难点:全微分应用于近似计算.
§3.4 空间直线的方程.
《解析几何》 -Chapter 3 §7 空间两直线的相关位置.
第八章 向量代数 空间解析几何 第五节 空间直线及其方程 一、空间直线的点向式方程 和参数方程 二、空间直线的一般方程 三、空间两直线的夹角.
3.4 空间直线的方程.
第五章 二次型. 第五章 二次型 知识点1---二次型及其矩阵表示 二次型的基本概念 1. 线性变换与合同矩阵 2.
一、二阶行列式的引入 用消元法解二元线性方程组. 一、二阶行列式的引入 用消元法解二元线性方程组.
第三章 函数逼近 — 最佳平方逼近.
第六章 曲线和曲面(二) 2017/3/22 Thank you for your time today.
曲线曲面 从卫星的轨道、导弹的弹道,到汽车和飞机等的外形,直至日常生活中的图案和花样设计,都离不了对曲线的描述和绘制。可以说,几乎没有一张设计图纸上是没有曲线的。 在我们遇到的各种各样的曲线中,归纳起来,大概不外乎两类: 一类是曲线可以用一个标准的解析式来表示,称为曲线的方程。 第二类曲线的特点是,不能确切给出描述整个曲线的方程,它们往往是由一些从实际测量得到的一系列离散数据点来确定。这些数据点也称为型值点。
恰当方程(全微分方程) 一、概念 二、全微分方程的解法.
第五节 微积分基本公式 、变速直线运动中位置函数与速度 函数的联系 二、积分上限函数及其导数 三、牛顿—莱布尼茨公式.
一、原函数与不定积分 二、不定积分的几何意义 三、基本积分公式及积分法则 四、牛顿—莱布尼兹公式 五、小结
第四章 定积分及其应用 4.3 定积分的概念与性质 微积分基本公式 定积分的换元积分法与分部积分法 4.5 广义积分
第四章 函数的积分学 第六节 微积分的基本公式 一、变上限定积分 二、微积分的基本公式.
微积分基本定理 2017/9/9.
9.1 数值积分基本方法 9.2 梯形积分 9.3 Simpson积分 9.4 Newton-Cotes积分 9.5 Romberg积分
§5.3 定积分的换元法 和分部积分法 一、 定积分的换元法 二、 定积分的分部积分法 三、 小结、作业.
第四章 一元函数的积分 §4.1 不定积分的概念与性质 §4.2 换元积分法 §4.3 分部积分法 §4.4 有理函数的积分
第5章 定积分及其应用 基本要求 5.1 定积分的概念与性质 5.2 微积分基本公式 5.3 定积分的换元积分法与分部积分法
第三节 格林公式及其应用(2) 一、曲线积分与路径无关的定义 二、曲线积分与路径无关的条件 三、二元函数的全微分的求积 四、小结.
全 微 分 欧阳顺湘 北京师范大学珠海分校
2-7、函数的微分 教学要求 教学要点.
初中数学 九年级(下册) 5.3 用待定系数法确定二次函数表达式.
第5章 曲线和曲面 几何造型技术是一项研究在计算机中,如何表达物体模型形状的技术。在航空航天、汽车、造船、机械、建筑和电子等行业得到了广泛的应用。 拟合曲线可分为两种类型:曲线过所有的给定型值点(插值放样);另一种曲线是,并不一定通过给定的型值点,而只是比较好地接近这些点(逼近)。这类曲线(或曲面)比较适合于外形设计。
第5章 §5.3 定积分的积分法 换元积分法 不定积分 分部积分法 换元积分法 定积分 分部积分法.
7.1 多边形表面 7.2 二次曲面和超二次曲面 7.3 样条表示 7.4 三次插值样条 7.5 Bézier曲线和曲面
全国高校数学微课程教学设计竞赛 知识点名称: 导数的定义.
§2 求导法则 2.1 求导数的四则运算法则 下面分三部分加以证明, 并同时给出相应的推论和例题 .
2.1.2 空间中直线与直线 之间的位置关系.
第八模块 复变函数 第二节 复变函数的极限与连续性 一、复变函数的概念 二、复变函数的极限 二、复变函数的连续性.
数列.
第二章 函数 插值 — 分段低次插值.
第二十二章 曲面积分 §1 第一型曲面积分 §2 第二型曲面积分 §3 高斯公式与斯托克斯公式.
实数与向量的积.
线段的有关计算.
复习: 若A(x1,y1,z1) , B(x2,y2,z2), 则 AB = OB - OA=(x2-x1 , y2-y1 , z2-z1)
正切函数的图象和性质 周期函数定义: 一般地,对于函数 (x),如果存在一个非零常数T,使得当x取定义域内的每一个值时,都有
第16讲 相似矩阵与方阵的对角化 主要内容: 1.相似矩阵 2. 方阵的对角化.
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
3.1 变化率与导数   3.1.1 变化率问题 3.1.2 导数的概念.
第四章 第四节 函数图形的描绘 一、渐近线 二、图形描绘的步骤 三 、作图举例.
抛物线的几何性质.
函 数 连 续 的 概 念 淮南职业技术学院.
第三章 函数的微分学 第二节 导数的四则运算法则 一、导数的四则运算 二、偏导数的求法.
直线和圆的位置关系 ·.
学习任务三 偏导数 结合一元函数的导数学习二元函数的偏导数是非常有用的. 要求了解二元函数的偏导数的定义, 掌握二元函数偏导数的计算.
O x y i j O x y i j a A(x, y) y x 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算.
第六章 曲线和曲面(三) 2019/5/19 Thank you for your time today.
第二章 函 数 插 值 — 三次样条插值.
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
2019/5/20 第三节 高阶导数 1.
第二节 函数的极限 一、函数极限的定义 二、函数极限的性质 三、小结 思考题.
物体的几何表示 (2).
§2 方阵的特征值与特征向量.
正弦函数的性质与图像.
第三节 函数的微分 3.1 微分的概念 3.2 微分的计算 3.3 微分的应用.
选修1—1 导数的运算与几何意义 高碑店三中 张志华.
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
第四章 函数的 积分学 第七节 定积分的换元积分法     与分部积分法 一、定积分的换元积分法 二、定积分的分部积分法.
教学大纲(甲型,54学时 ) 教学大纲(乙型, 36学时 )
Presentation transcript:

第四章 曲线和曲面 第一节 曲线和曲面表示的基础知识 第二节 Hermite多项式 第三节 Coons曲面 第四节 Bezier曲线和曲面 第四章 曲线和曲面 第一节 曲线和曲面表示的基础知识 第二节 Hermite多项式 第三节 Coons曲面 第四节 Bezier曲线和曲面 第五节 B样条曲线和曲面

第一节 曲线和曲面表示的基础知识 1.显式、隐式和参数表示 ①显式: y=f(x) 不能表示封闭曲线或多值曲线(圆) ②隐式:f(x,y)=0,f(x,y,z)=0 球面

(2)无法解决斜率为无穷大的情况; (3)对于空间复杂曲线曲面很难表示 (4)不便于计算和编程 显式隐式表示的缺点 (1)与坐标轴相关的,不便于坐标变换; (2)无法解决斜率为无穷大的情况; (3)对于空间复杂曲线曲面很难表示 (4)不便于计算和编程

③ 参数表示(解决上述问题) 空间曲线: ,, 矢量表示是:

对参数t求导: 曲面: 曲线或曲面的某一部分,可以简单地用a≤t≤b界定它的范围

空间直线段 P1[x1,y1],P2[x2,y2] P(t)代表曲线上的一点 P(t)= P1+( P2- P1) t = (1-t)P1+ tP2

参数方程具有如下优点: 有更大的自由度来控制曲线、曲面的形状。 便于坐标变换 便于处理斜率为无限大的问题,不会因此中断计算 代数、几何相关和无关的变量是完全分离的,而且对变量个数不限,便于向高维空间扩展。 t∈[0,1], 直接定义了边界。便于曲线和曲面的分段、分片描述。 易于用矢量和矩阵表示,从而简化了计算。

1.插值:要求构造一条曲线顺序通过型值点,称为对这些型值点进行插(interpolation)。 基本概念 1.插值:要求构造一条曲线顺序通过型值点,称为对这些型值点进行插(interpolation)。 给定函数f(x)在区间[a,b]中互异的n个点的值f(xi) i=1,2,…n,基于这些数据寻找某一个函数 ,要求 , 为f(x)的插值函数,xi为插值节点 (1)线性插值 函数f(x)在两个不同点x1,x2的值,y1=f(x1),y2=f(x2) 用线性函数 近似代替y=f(x),选择a,b使 则称 为f(x)的线性插值函数

(2)抛物线插值(二次插值) 设已知f(x)在三个互异点x1,x2,x3的函数值为y1,y2,y3,要求构造函数 在节点xi处有

2,逼近 构造一条曲线,使它在某种意义上最佳逼近这些型值点,称之为对这些型值点进行逼近(approximation)。

常用方法 最小二乘法 假设已知一组型值点(xi,yi), i=1,2,…n,要求构造一个m(m<n-1)次多项式函数y=F(x)逼近这些型值点。 偏差的平方和最小: 或加权平方和最小: 令F(x)为一个m次多项式 最小二乘法就是定出ai使偏差平方和最小

3.参数曲线的代数形式和几何形式 一条三次参数曲线的代数形式: 矢量形式: 给定P(0),P(1),以及P’(0),P’(1)

解四个方程,求得参数 令 参数曲线的几何形式

矩阵形式表示参数曲线: P=TA 其中 P=FB P=TMB表示一条参数曲线

参数连续性 一函数在某一点x0处具有相等的直到k阶的左右导数,称它在x0处是k次连续可微的,或称它在x0处是k阶连续的,记作Ck。几何上C0、C1、C2依次表示该函数的图形、切线方向、曲率是连续的。参数曲线的可微性称为参数曲线的连续性。 几何连续性 两曲线段的相应的弧长参数化在公共连接点处具有Ck连续性,则称它们在该点处具有k阶几何连续性,记作Gk 。零阶几何连续G0与零阶参数连续C0是一致的。一阶几何连续G1指一阶导数在两个相邻曲线段的交点处成比例,即方向相同,大小不同。二阶几何连续G2指两个曲线段在交点处其一阶和二阶导数均成比例。

4.曲线段间 和 连续性定义 (1)Q1(1)=Q2(0),则Q1(t)和Q2(t)在P处有 和 连续性 (2) Q1(1)和Q2(0)在P处重合,且其在P点处的切矢量方向相同,大小不等, 则Q1(t)和Q2(t)在P处有 连续性 (3) Q1(1)和Q2(0)在P处重合,且其在P点处的切矢量方向相同,大小相等,则Q1(t)和Q2(t)在P处有 连续性 (4) Q1(1)和Q2(0)在P处已有 连续 且 大小方向均相同,则Q1(t)和Q2(t)在P处有 连续性 推广之,Q1(1)和Q2(0)在P处已有 连续,若 在P处大小和方向均相同,则说Q1(t)和Q2(t)在P处具有 连续性

(5). Q1(1)和Q2(0)在P处已有 连续 且 方向相同但大小不等,则Q1(t)和Q2(t)在P处有 连续性 5.光顺 光顺(smoothness)是指曲线的拐点不能太多,要光滑顺畅。对于平面曲线相对光顺的条件应该是:(1)具有二阶几何连续(G2);(2)不存在多余拐点和奇异点;(3)曲率变化较小

第二节 Hermite多项式 已知函数f(t)在k+1个点{ti}处的函数值和导数值{f (j)(ti)},i=0,1,…,k,j=0,1,…,mi-1,要求确定一个N = m0 + m1 + … + mk- 1次的多项式P(t),满足下面的插值条件:

1. Lagrange插值法: 已知f(t)在k+1个点的函数值f ( ti ) ,求一个k次多项式使p(ti)=f (ti)

例: k=2,m0=m1=m2=1 已知函数f(t)在三个点t0,t1,t2,的函数值f(t0), f(t1),f(t2), 求三次多项式P(t)

混合函数如下:

2. 已知表示一条曲线的某个函数f(t)在两点t0,t1的函数值f(t0), f(t1)和一阶导数值f’(t0), f’(t1),求三次多项式P(t):

把a0,a1,a2和a3代入则有:

式中选取两个端点及其及其切向量作为曲线构造条件 混合函数如下: 经整理,所求多项式P 0(t)可以写出如下: 式中选取两个端点及其及其切向量作为曲线构造条件 混合函数如下:

经验证可知:

3. 为了使P0(t)的定义区间t0≤t≤t1变为区间0≤u≤1,可以做如下变换 解出 ,代入混合函数式中,得:

将关于u的混合函数代入,所求的三次多项式成为:

4.曲线拼接 对一般的Hermite插值问题,一般来说得到的插值多项式次数较高,应用起来不方便。通常的处理办法是将前面给出的参数的三次多项式逐段光滑地连接,如此来确定一般情况下的插值多项式。 将前面t0和t1视为ti和ti+1,设给定f(ti),f(ti+1),f’(ti),f’(ti+1),则在区间[ti,ti+1]的Hermite三次插值多项式Pi(t)是:

为了完整地写出这个插值多项式,可以在区间[ti,ti+1]中引入如下一些基本函数:

完整的插值多项式可写为: 上式区间[t0,tn]中有定义,且为分段定义。在每个区间 [ti,ti+1]上,都恰有四项。满足插值条件

每段曲线Pi(t)只在[ti,ti+1]中有定义:

自变量的线性变换 用逆变换 代入,将所得关于u的多项式记为 ,得

其中 = =

例:设在平面上有两点P0,Pl,它们的位置向量分别为(1,1),(4,2),在P0的导数值即在该点的切线向量P’0 =(1,1),在Pl处P’1 =(1,-1),构造曲线。

第三节 Coons曲面

uw表示了曲面片的方程 0w,1w,u0,u1四条边界曲线 u0u边界线的切向量 u0w 边界线的跨界切向量 uwuu,uwuw,uwww曲面片uw关于u和w的二阶偏导数向量 u0uu 表示边界线u0上的二阶切向量 u0ww表示边界线u0上的二阶跨界切向量 uwuw为曲面片P在点(u,w)处的扭曲向量。 00,01,10,11表示曲面片四个角点 00w,01w,10w,11w,00u,01u,10u,11u 四个角点的切向量 00uw,01uw,10uw,11uw四个角点的扭曲向量

构造具有指定边界曲线的曲面片: Coons给出的一个解法是:寻找两个混合函数f0(t)和f1(t),它们是连续的,并且满足f0(0)=1,f0(1)=0,f1(0)=0,f1(1)=1,且f0(t)+f1(t)=1,0≤t≤1。 f0(t)=2t3-3t2+1,f1(t)=-2t3+3t2 f0(t)=1-t,f1(t)=t

问题1:求通过四条边界线的曲面 给定四条边界曲线u0,u1,0w,1w,且0≤u≤1,0≤w≤1 ①在u向进行线性插值,得到直纹面为:

②在w向进行线性插值,得到直纹面为: ③ ① ②叠加可得到一张新曲面P3(u,w)其边界恰好为无用的直线边界 :

④ 构造Coons曲面P(u,w) P(u,w)=P1(u,w)+ P2(u,w)- P3(u,w) 可写成如下形式:

例如我们来验证0w是它的一条边界线,这只要把u=0代入公式右端,得

问题2: ①边界线为指定曲线 ②且有指定的跨界切向量 。 应用上节定义的四个混合函数q00(u), q01(u), q10(u), q11(u)。

这四个函数均是三次多项式。故连续可微,并且还满足下面的条件:

设已知四条边界曲线u0,u1,0w,1w 及沿这四条边界曲线的跨界切向量 u0w,u1w,0wu,1wu。 求出四个角点的位置向量00,01,10,11, 切向量00w,01w,10w,11w,00u,01u,10u,11u, 扭曲向量00uw,01uw,10uw,11uw, 写出符合要求曲面片的数学表达式如下:

验证通过边界0w

验证满足跨界切向量0wu:

问题3: 指定四个角点以及在这些点上的切向量和扭曲向量后,求解曲面的表达式。 计算求得四个角点的位置向量00,01,10,11,切向量00w,01w,10w,11w,00u,01u,10u,11u,以及扭曲向量00uw,01uw,10uw,11uw,

已知角点位置向量00,10以及在这两点关于u的切向量00u和01u,可以用Hermite插值公式来指定一条u边界线:

将上两式代入前式,就可以得到:

例: 给出四个角点以及在该角点上的切向量和扭曲向量来构造Coons曲面表达式。设在平面上有四点P0,Pl,P2,P3,它们的位置向量分别为(0,0,0),(0,0.75,0),(0.75,0,0),(0.75,0.75,0)。该四点的切向量、跨界切向量和扭曲向量,定义在关于角点的信息矩阵M中:

第四节 Bezier曲线和曲面 1.Bezier曲线定义 给出型值点P0,P1,…,Pn,它们所确定的n次Bezier曲线是:

是Bernstein多项式,调和函数 涉及到的0!及00,按约定均为1。 当n=1时

在n=2时

在n=3时

① ② ③ ④

2.Bezier曲线的一些重要性质: ① 端点性质:P(0)= P0,P(1)= Pn,曲线通过起点和终点。 ②

③ Bezier曲线的对称性

④曲线的凸包性 对给定的型值点P0,P1,…,Pn

P0P1P2P3和Q0QlQ2Q3,两个bezier多边形 ①曲线在连接点处C0连续的条件是P3=Q0 ② 曲线在连接点处G1连续,Q‘0=aP’3 Q'0=3(Q1—Q0),P'3=3(P3—P2), Q1-Q0=a(P3-P2)

由此得 ③连接点处C2连续的条件 对前面的公式求两次导数,可得,

于是知, 要求, 即 注意到Q0=P3,由此得:

4. Bezier曲线绘制 ①利用定义式 Bezier曲线的绘制,可以利用其定义式,对参数t选取足够多的值,计算曲线上的一些点,然后用折线连接来近似画出实际的曲线。随着选取点增多,折线和曲线可以任意接近。 假设给定的四个型值点是P0=(1,1),Pl=(2,3),P2=(4,3), P3=(3,1),则计算结果见表

t (1-t)3 3t(1-t)2 3t2 (1-t) t3 P(t) 1 (1,1) 0.15 0.614 0.325 0.0574 0.0034 (1.5058,1.765) 0.35 0.275 0.444 0.239 0.043 (2.248,2.376) 0.5 0.125 0.375 (2.75,2.5) 0.65 (3.122,2.36) 0.85 (3.248,1.75) (3,1)

记点Pk,Pk+l,…,Pl可以生成的Bezier曲线为Pk,l(t),0≤t≤1,则成立下面的递推关系 ②利用曲线性质(几何作图法和分裂法) a.几何作图法 记点Pk,Pk+l,…,Pl可以生成的Bezier曲线为Pk,l(t),0≤t≤1,则成立下面的递推关系

上式改写为:

几何作图法伪代码语言实现:

void bez_to_points(int n, double P[], int npoints, double points[]) //控制点P的个数为n +1 //points存储Bezier曲线上的离散点序列 //离散点序列points的个数为npoints+1 { double t,delt; delt=1.0/(double)npoints;//将参数t npoints等分 t=0.0; for(int i=0;i<=npoints;i++) { points[i]=decas(n, P, t); //分别求出npoints+1个离散点points的坐标 t+=delt; }

double decas(int n,double P[],double t) { int m,i; double *R, *Q, P0; R = new double[n +1]; Q = new double[n +1]; for(i=0;i<=n;i++) R[i]= P [i]; //将控制点坐标P保存于R中

for(i=0;i<= m -1;i++) Q[i]= R [i]+t*( R [i+1]- R [i]); R[i]= Q [i]; //n次Bezier曲线在点t的值,可由两条n-1次Bezier曲线在点t的值通过线性组合而求得。 for(m=n;m>0;m--) { for(i=0;i<= m -1;i++) Q[i]= R [i]+t*( R [i+1]- R [i]); R[i]= Q [i]; } P0=R[0]; delete R;delete Q; return (P0);

设给出四点的坐标是(1,1),(2,3),(4,3),(3,1),求所确定三次Bezier曲线在t=1/3时的值P(1/3),算法的计算过程

如果令Pa(s)和Pb(s)分别是以控制点序列 和 , 确定的Bezier曲线,其中0≤s≤1,那么就有: 思想:将原控制点集分为两个点数相同的新控制点集,分别对应原曲线的前半段和后半段,新控制点集比原控制点集更接近直线,分裂过程继续进行,控制点集会迅速向曲线靠近,当满足某个允许的界限时,可依次连接各点的折线来表示曲线 设控制点序列P0,P1,…,Pn确定的n次Bezier曲线是P(t),用如下递归方式计算另一组点集: 如果令Pa(s)和Pb(s)分别是以控制点序列 和 , 确定的Bezier曲线,其中0≤s≤1,那么就有:

己知四点P0,P1,P2,P3,确定了一条三次Bezier曲线P(t),可写出下式,

分裂法中的递归计算

分裂法的示意图

验证Bezier曲线分成前后两段的正确性, P0的系数为例,验证两端它的系数是相等的。

设己知三次Bezier曲线P(t)的控制顶点是P0,P1,P2,P3,在P( )处将曲线分为两段,求出前半段的控制顶点Q0,Ql,Q2,Q3和后半段的控制顶点R0,R1,R2,R3,。有算法如下 void split_Bezier(Point P[]) { Point R[4],Q[4]; int i,j; for(i=0;i<=3;i++) R[i]=P[i]; for(i=0;i<=2;i++) { Q[i]=R[0]; for(j=0;j<=2-i;j++) { R[j].x=(R[j].x+R[j+1].x)/2; //分别对相邻两控制点间的线段进行分裂 R[j].y=(R[j].y+R[j+1].y)/2; } Q[3]=R[0];

分裂算法的计算

分裂中止的条件: max(d(P1,P0P3),d(P2,P0P3))<ε

void new_split_Bezier(Point P[]) { Point R[4],Q[4]; int i,j; const double epsilon=0.01; if (maxdistance(P)<epsilon) /*maxdistance(P)为求max(d(P1,P0P3),d(P2,P0P3))的函数*/ { MoveTo(P[0].x,P[0].y); LineTo(P[3].x,P[3].y); } else { for(i=0;i<=3;i++) R[i]=P[i]; for(i=0;i<=2;i++) { Q[i]=R[0]; for(j=0;j<=2-i;j++) {R[j].x=(R[j].x+R[j+1].x)/2; R[j].y=(R[j].y+R[j+1].y)/2; Q[3]=R[0]; new_split_Bezier(Q);new_split_Bezier(R);

5.有理Bezier曲线

图中h0=h1= h3=1,当h2=0、1/2、1、2、4时曲线逐渐地靠近P2点

6.Bezier曲面 上式曲面为m×n次的Bezier曲面 若在空间给定(m+1)(n十1)个控制点,Vij,i=0,1,…,m,j=0,1,…,n,令 上式曲面为m×n次的Bezier曲面

当m=n=1,公式成为:

设v00,v01,v10,v11四点依次是(0,0,0),(1,0,0),(0,1,0),(0,0,1),则可得P1,1(u,w)的坐标形式的参数方程为: 消去参数,就得马鞍面方程:

当m=n=3,曲面成为:

7.双三次bezier曲面和双三次Coons曲面之间的关系 设同一个曲面片,用Coons曲面形式确定它,又用Bezier形式确定它,现在来考查、矩阵M与矩阵B有什么关系。 求解上式得:

四个角点00,0l,10和11分别对应控制点V00,V03,V30和V33。切向量,例如00w=3(V01-V00),表明00w,是沿从V00到V01边的方向,大小是两个位置向量差的3倍,其余切向量是类似的。 V10,V00沿w方向的切向量之差的三倍 V01,V00 沿u方向的切向量之差的三倍

扭曲向量只与中间四个控制点有关系

双三次Coons曲面与Bezier曲面间的关系

一.B样条曲线(构造具有局部性的调和函数) 给定n+1个控制点P0,P1,…,Pn,它们所确定的k阶B样条曲线是: 其中Ni,k(u)递归定义如下:

这里u0,u1,…,un+k,是一个非递减的序列,称为节点,(u0,u1,…,un+k)称为节点向量。定义中可能出现 ,这时约定为0。

例一:选取,n=2,k=1,控制顶点是P0,P1,P2,这样应选择参数节点n+k+1=4个,设节点向量是(u0,u1,u2,u3),按式定义,可写出三个基函数:

由公式可知所定义的B样条曲线是 任意一阶B样条曲线是控制点本身,可以看作是0次多项式

例二.选取n=3,k=2,于是有四个控制顶点P0,P1,P2,P3,应有参数节点n+k+1=6个,设节点向量是(0,0,1,2,3,3),试画出所确定的2阶B样条曲线。 取u=0.5,进行计算。因为0.5∈[0,1]=[u1,u2],因此N1,1(0.5)=1,而其它的Ni,1(0.5)=0,i≠1。

再取u其它一些值进行计算,结果如表所示。 0.5 1 1.5 2 2.5 3 N0,2(u) N1,2(u) N2,2(u) N3,2(u) P(u) P0 0.5(P0+P1) P1 0.5(P1+ P2) P2 0.5(P2+ P3) P3 二阶B样条曲线是连接各控制点的线段组成的折线,是一次多项式

P2,P3的坐标依次是(1,1),(2,3),(4,3), (3,1),这时应取参数节点n+k+1=8个,设选取 例三.选取n=3,k=4,平面上四个控制顶点P0,P1, P2,P3的坐标依次是(1,1),(2,3),(4,3), (3,1),这时应取参数节点n+k+1=8个,设选取 节点向量为(0,0,0,0,1,1,1,1),求所 确定的4阶B样条曲线。 计算N1,4(0.5) ,其中0.5∈[0,1]=[u3,u4]

N3,1(0.5)=1,而对i≠3,Ni,1(0.5)=0。

用类似的过程可计算求出: 曲线上对应参数u=0.5的点是:

证明:四个控制点所确定的四阶B样条曲线( 节点向量为(0,0,0,0,1,1,1,1)) 就是它们所确定的Bezier曲线

二:等距B样条曲线: 参数节点中参数u的每一区间为等长时所得到的B样条函数称为是等距的,或均匀B样条曲线。可假定ui=i,i=0,1,…,n+k,设tj=u-ui+j,ui+j≤u≤ui+j+1与0≤tj≤1是等价的。 递归式,经过计算,可以写出:

如果固定在ui+3≤u≤ui+4区间,可以写出:

令i=0,可写出四个B样条基函数:

设给出n+1个控制点P0,P1,…,Pn, 则所确定的4阶3次等距B样条曲线是:

曲线的性质

性质一:曲线在拚接处是连续的,一阶和二阶导数也是连续的。 因此4阶3次等距B样条曲线:虽然分段定义,但各段拚接处有直到二阶导数的连续性,整条曲线是光滑的。

性质2:4阶3次等距B样条曲线具有凸包性,这通过验证0≤Nj,4(u)≤1,0≤j≤3及 当移动一个控制点时,只对其中的一段曲线有影响,并不对整条曲线产生影响。如图4.22所示是一条B样条曲线。该图表示控制点P5变化后曲线变化的情况。由图可见P5变化只对其中一段曲线有影响。

性质4:用B样条曲线可构造直线段、尖点、切线等特殊情况。 灵活选择控制点的位置和节点ui的重复数,可形成许多特殊情况的B样条曲线

三.B样条曲面 0≤u≤1,0≤w≤1,0≤k≤K,0≤l≤L每一个曲面片Qkl(u,w)由16个控制点确定。